MjAwNS0xMi0xMyAgRGF2aWQgVHVybmVyICA8ZGF2aWRAZnJlZXR5cGUub3JnPgoKCSogc3JjL2F1dG9maXQvYWZsYXRpbi5jLCBzcmMvYXV0b2ZpdC9hZmhpbnRzLmM6IGNoYW5nZWQgdGhlCiAgICAgICAgaW1wbGVtZW50YXRpb24gb2YgdGhlIExJR0hUIGhpbnRpbmcgbW9kZSB0byBjb21wbGV0ZWx5IGRpc2FibGUKICAgICAgICBob3Jpem9udGFsIGhpbnRpbmcuIFRoaXMgaXMgYW4gZXhwZXJpbWVudGFsIGVmZm9ydCB0byBpbnRlZ3JhdGUKICAgICAgICBEYXZpZCBDaGVzdGVyJ3MgbGF0ZXN0IHBhdGNoIHdpdGhvdXQgZnVja2luZyB0aGUgb3RoZXIgaGludGluZwogICAgICAgIG1vZGVzIGFzIHdlbGwuCgogICAgICAgIE5vdGUgdGhhdCB0aGlzIGRvZXNuJ3QgZm9yY2UgYXV0by1oaW50aW5nIGZvciBhbGwgZm9udHMgaG93ZXZlci4KCiAgICAgICAgKiBKYW1maWxlOiBzbWFsbCBmaXggdG8gZW5zdXJlIHRoYXQgZnRleHBvcnQuc3ltIGlzIHBsYWNlZCBpbiB0aGUKICAgICAgICBzYW1lIGxvY2F0aW9uIHRoYW4gb3RoZXIgZ2VuZXJhdGVkIG9iamVjdHMgKGkuZS4gd2l0aGluIHRoZSAnb2JqcycKICAgICAgICBkaXJlY3Rvcnkgb2YgdGhlIGN1cnJlbnQgZGlyKQoKICAgICAgICAqIHNyYy9zZm50LwoKMjAwNS0xMi0wNyAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL3NmbnQvc2ZvYmpjLmMgKHNmbnRfaW5pdF9mYWNlKTogTW92ZSB0YWcgY2hlY2sgdG8uLi4KCSogc3JjL3NmbnQvdHRsb2FkLmMgKHNmbnRfaW5pdCk6IEhlcmUsIGJlZm9yZSBoYW5kbGluZyBUVENzLgoKMjAwNS0xMi0wNiAgQ2hpYS1JIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBzcmMvdHJ1ZXR5cGUvdHRvYmpzLmMgKHR0X3NpemVfaW5pdCk6IHNpemUtPnR0bWV0cmljcy52YWxpZCBpcwoJaW5pdGlhbGl6ZWQgdHdpY2UuCglzaXplLT5zdHJpa2VfaW5kZXggaXMgbm90IGluaXRpYWxpemVkLgoKMjAwNS0xMi0wMiAgVGFlayBLd2FuKFRLKSBMZWUgIDx0YWVrbGVlQGdtYWlsLmNvbT4KCgkqIHNyYy90eXBlNDIvdDQyb2Jqcy5jIChUNDJfRmFjZV9Jbml0KTogUmVwbGFjZSBjYWxsIHRvCglGVF9OZXdfTWVtb3J5X0ZhY2Ugd2l0aCBjYWxsIHRvIEZUX09wZW5fRmFjZSB0byBwYXNzIGBwYXJhbXMnLgoKMjAwNS0xMS0zMCAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogZG9jcy9DSEFOR0VTOiBEb2N1bWVudCBmdGR1bXAncyBgLXYnIG9wdGlvbi4KCURvY3VtZW50IGxhdGVzdCBjaGFybWFwIGNvZGUgY2hhbmdlcy4KCgkqIHNyYy9zZm50L3R0Y21hcC5jLCBzcmMvc2ZudC90dGNtYXAuaDoKCXMvVFRfQ01BUF9GTEFHX09WRVJMQVBQRUQvVFRfQ01BUF9GTEFHX09WRVJMQVBQSU5HLy4KCjIwMDUtMTEtMzAgIENoaWEtSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogc3JjL3NmbnQvdHRjbWFwLmMgKHR0X2NtYXA0X2NoYXJfbWFwX2JpbmFyeSwKCXR0X2NtYXAxMl9jaGFyX21hcF9iaW5hcnkpOiBGaXggY29tcGlsZXIgd2FybmluZ3MuCgoyMDA1LTExLTI5ICBDaGlhLUkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCglNYWpvciB1cGRhdGUgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB1bnNvcnRlZCBhbmQgb3ZlcmxhcHBpbmcKCXNlZ21lbnRzIGZvciBjbWFwIGZvcm1hdCA0LiAgRm9yIG92ZXJsYXBwaW5nIGJ1dCBzb3J0ZWQgc2VnbWVudHMsCgl3aGljaCBpcyBwcmV2aW91c2x5IGNvbnNpZGVyZWQgdW5zb3J0ZWQsIHdlIHN0aWxsIHVzZSBiaW5hcnkgc2VhcmNoLgoKCSogc3JjL3NmbnQvdHRjbWFwLmggKFRUX0NNYXBSZWNfKTogUmVwbGFjZSBgdW5zb3J0ZWQnIGJ5IGBmbGFncycuCgkoVFRfQ01BUF9GTEFHX1VOU09SVEVELCBUVF9DTUFQX0ZMQUdfT1ZFUkxBUFBFRCk6IE5ldyBtYWNyb3MuCgoJKiBzcmMvc2ZudC90dGNtYXAuYyAoT1BUX0NNQVA0KTogUmVtb3ZlZCBhcyBpdCBpcyBhbHdheXMgZGVmaW5lZC4KCShUVF9DTWFwNFJlY18pOiBSZW1vdmUgYG9sZF9jaGFyY29kZScgYW5kIGB0YWJsZV9sZW5ndGgnLgoJKHR0X2NtYXA0X3Jlc2V0KTogUmVtb3ZlZC4KCSh0dF9jbWFwNF9pbml0KTogVXBkYXRlZCBhY2NvcmRpbmdseS4KCSh0dF9jbWFwNF9uZXh0KTogVXBkYXRlZCBhY2NvcmRpbmdseS4KCVRha2UgY2FyZSBvZiBvdmVybGFwcGluZyBzZWdtZW50cy4KCSh0dF9jbWFwNF92YWxpZGF0ZSk6IE1ha2Ugc3VyZSB0aGUgc3VidGFibGUgaXMgbGFyZ2UgZW5vdWdoLgoJRG8gbm90IGNoZWNrIGdseXBoX2lkcyBiZWNhdXNlIHNvbWUgZm9udHMgc2V0IHRoZSBsZW5ndGggd3JvbmdseS4KCUFsc28sIHdoZW4gYWxsIHNlZ21lbnRzIGhhdmUgb2Zmc2V0IDAsIGdseXBoX2lkcyBpcyBhbHdheXMgaW52YWxpZC4KCUl0IGRvZXMgbm90IGNhdXNlIGFueSBwcm9ibGVtIHNvIGZhciBvbmx5IGJlY2F1c2UgdGhlIGNoZWNrIG1pc3NlcwoJZXF1YWxpdHkuCglEaXN0aW5ndWlzaCBiZXR3ZWVuIHVuc29ydGVkIGFuZCBvdmVybGFwcGluZyBzZWdtZW50cy4KCSh0dF9jbWFwNF9jaGFyX21hcF9saW5lYXIsIHR0X2NtYXA0X2NoYXJfbWFwX2JpbmFyeSk6IE5ldyBmdW5jdGlvbnMKCXRvIGRvIGBjaGFyY29kZSA9PiBnbHlwaCBpbmRleCcgYnkgbGluZWFyL2JpbmFyeSBzZWFyY2guCgkodHRfY21hcDRfY2hhcl9pbmRleCwgdHRfY21hcDRfY2hhcl9uZXh0KTogVXNlCgl0dF9jbWFwNF9jaGFyX21hcF9saW5lYXIgYW5kIHR0X2NtYXA0X2NoYXJfbWFwX2JpbmFyeS4KCSh0dF9mYWNlX2J1aWxkX2NtYXBzKTogVHJlYXQgdGhlIHJldHVybiB2YWx1ZSBvZiB2YWxpZGF0b3IgYXMgZmxhZ3MKCWZvciBjbWFwLgoKMjAwNS0xMS0yOSAgQ2hpYS1JIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBzcmMvc2ZudC90dGNtYXAuYyAoVFRfQ01hcDEyUmVjXywgdHRfY21hcDEyX2luaXQsIHR0X2NtYXAxMl9uZXh0KToKCU5ldyBzdHJ1Y3R1cmVzIGFuZCBmdW5jdGlvbnMgZm9yIGZhc3QgYG5leHQgY2hhcicuCgkodHRfY21hcDEyX2NoYXJfbWFwX2JpbmFyeSk6IE5ldyBmdW5jdGlvbiB0byBkbyBgY2hhcmNvZGUgPT4gZ2x5cGgKCWluZGV4JyBieSBiaW5hcnkgc2VhcmNoLgoJKHR0X2NtYXAxMl9jaGFyX2luZGV4LCB0dF9jbWFwMTJfY2hhcl9uZXh0KTogVXNlCgl0dF9jbWFwMTJfY2hhcl9tYXBfYmluYXJ5LgoJKHR0X2ZhY2VfYnVpbGRfY21hcHMpOiBDaGVjayB0YWJsZSBhbmQgb2Zmc2V0IGNvcnJlY3RseSAoZXF1YWxpdHkgaXMKCW1pc3NpbmcpLgoKMjAwNS0xMS0xNSAgRGV0bGVmIFf8cmtuZXIgIDxUZXRpU29mdEBhcGcubGFobi5kZT4KCgkqIGJ1aWxkcy9hbWlnYS9zbWFrZWZpbGU6IEFkanVzdGVkIHRoZSBjb21waWxlciBvcHRpb25zCgl0byB0aGUgY3VycmVudCBzb3VyY2VzLCBub3cgcmVhbGx5IGJ1aWxkcyB0aGUgZ3h2YWxpZCwgZ3ppcAoJYW5kIHBzbmFtZXMgbW9kdWxlcy4KCgkqIGJ1aWxkcy9hbWlnYS9zcmMvYmFzZS9mdHN5c3RlbS5jOiBUaGUgYXNzdW1lZCBTZWVrKCkgcG9zaXRpb24KCWluIHRoZSBmaWxlIGNhY2hlIHdhcyBvZmYgYnkgb25lIGJ5dGUgd2hpY2ggY291bGQgY2F1c2UgZmFsc2UKCWVycm9ycyBpbiBmb250IGZpbGVzLgoKMjAwNS0xMS0yNCAgc3V6dWtpIHRvc2hpeWEgPG1wc3V6dWtpQGhpcm9zaGltYS11LmFjLmpwPgoKCSogYnVpbGRzL21hYy9GcmVlVHlwZS5tNjhrX2Zhci5tYWtlLnR4dCwKCWJ1aWxkcy9tYWMvRnJlZVR5cGUubTY4a19jZm0ubWFrZS50eHQsCglidWlsZHMvbWFjL0ZyZWVUeXBlLnBwY19jbGFzc2ljLm1ha2UudHh0LAoJYnVpbGRzL21hYy9GcmVlVHlwZS5wcGNfY2FyYm9uLm1ha2UudHh0OgoJVXBkYXRlZCBmb3IgTVBXIHRvIGJ1aWxkIGFsbCBhdmFpbGFibGUgbW9kdWxlcy4KCjIwMDUtMTEtMjEgIEjldmFyZCBXYWxsICA8aGFhdmFyZHdAaWZpLnVpby5ubz4KCgkqIHNyYy9iZGYvYmRmZHJpdnIuYyAoYmRmX2ludGVycHJldF9zdHlsZSwgQkRGX0ZhY2VfRG9uZSk6IEZpeCBzbWFsbAoJbWVtb3J5IGxlYWsuCgoyMDA1LTExLTIxICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBzcmMvc2ZudC90dGxvYWQuYyAoc2ZudF9pbml0KTogQWRkIHRyYWNpbmcgbWVzc2FnZS4KCjIwMDUtMTEtMjEgIENoaWEtSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogc3JjL3NmbnQvdHRzYml0MC5jICh0dF9zYml0X2RlY29kZXJfbG9hZF9pbWFnZSk6IEltYWdlX29mZnNldCB3YXMKCWFkZGVkIHR3aWNlIHRvIGltYWdlX3N0YXJ0IHdoZW4gaW1hZ2VfZm9ybWF0IGlzIDIgb3IgNS4KCjIwMDUtMTEtMjEgIENoaWEtSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogc3JjL3NmbnQvc2ZvYmpzLmMgKHNmbnRfaW5pdF9mYWNlKTogQ2hlY2sgdGhhdCBmb3JtYXRfdGFnIGlzIGtub3duCgliZWZvcmUgbG9hZGluZyB0aGUgdGFibGUgZGlyZWN0b3J5LgoKCSogc3JjL3NmbnQvdHRsb2FkLmMgKHR0X2ZhY2VfbG9hZF9zZm50X2hlYWRlciwKCXR0X2ZhY2VfbG9hZF9kaXJlY3RvcnkpOiBEZWxheSBzZm50X2Rpcl9jaGVjayBmcm9tCgl0dF9mYWNlX2xvYWRfc2ZudF9oZWFkZXIgdG8gdHRfZmFjZV9sb2FkX2RpcmVjdG9yeS4KCjIwMDUtMTEtMjAgIENoaWEtSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogc3JjL3NmbnQvdHRsb2FkLmMgKHNmbnRfZGlyX2NoZWNrKTogQ2xlYW4gdXAgYW5kIHJldHVybiBjb3JyZWN0CgllcnJvciBjb2RlLgoJKHNmbnRfaW5pdCk6IE5ldyBmdW5jdGlvbiB0byBmaWxsIGluIGZhY2UtPnR0Y19oZWFkZXIuICBBIG5vbi1UVEMgZm9udAoJaXMgc3ludGhlc2l6ZWQgaW50byBhIFRUQyBmb250IHdpdGggb25lIG9mZnNldCB0YWJsZS4KCSh0dF9mYWNlX2xvYWRfc2ZudF9oZWFkZXIpOiBVc2Ugc2ZudF9pbml0LgoJRml4IGFuIGludmFsaWQgYWNjZXNzIHdoZW4gdGhlIGZvbnQgaXMgVFRDIGFuZCBmYWNlX2luZGV4IGlzIC0xLgoKMjAwNS0xMS0xOCAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL3NmbnQvdHRsb2FkLmMgKHR0X2ZhY2VfbG9hZF9tZXRyaWNzKTogSWdub3JlIGV4Y2VzcyBudW1iZXIKCW9mIG1ldHJpY3MgaW5zdGVhZCBvZiBhYm9ydGluZy4gIFBhdGNoIHN1Z2dlc3RlZCBieSBEZXJlayBOb29uYnVyZy4KCgkqIHNyYy9jZmYvY2ZmZ2xvYWQuYyAoY2ZmX3Nsb3RfbG9hZCksIHNyYy9jaWQvY2lkZ2xvYWQuYwoJKGNpZF9zbG90X2xvYWRfZ2x5cGgpLCBzcmMvdHlwZTEvdDFnbG9hZC5jIChUMV9Mb2FkX0dseXBoKTogU2NhbGUKCXRoZSBnbHlwaCBwcm9wZXJseSBpZiBubyBoaW50ZXIgaXMgYXZhaWxhYmxlLgoKCSogZG9jcy9DSEFOR0VTOiBNZW50aW9uIHNjYWxpbmcgYnVnLgoKMjAwNS0xMS0xOCAgc3VzdXpraSB0b3NoaXlhICA8bXBzdXp1a2lAaGlyb3NoaW1hLXUuYWMuanA+CgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2Z0Z3h2YWwuaCwgc3JjL2Jhc2UvZnRneHZhbC5jCgkoRlRfVHJ1ZVR5cGVHWF9GcmVlLCBGVF9DbGFzc2ljS2Vybl9GcmVlKTogTmV3IGZ1bmN0aW9ucyB0byBmcmVlCglidWZmZXJzIGFsbG9jYXRlZCBieSBneHZhbGlkIG1vZHVsZS4KCSogaW5jbHVkZS9mcmVldHlwZS9mdG90dmFsLmgsIHNyYy9iYXNlL2Z0b3R2YWwuYwoJKEZUX09wZW5UeXBlX0ZyZWUpOiBOZXcgZnVuY3Rpb24gdG8gZnJlZSBidWZmZXIgYWxsb2NhdGVkIGJ5CglvdHZhbGlkIG1vZHVsZS4KCjIwMDUtMTEtMTggIENoaWEtSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogYnVpbGRzL3VuaXgvZnRzeXN0ZW0uYyAoRlRfU3RyZWFtX09wZW4sIEZUX05ld19NZW1vcnksCglGVF9Eb25lX01lbW9yeSksIGJ1aWxkcy92bXMvZnRzeXN0ZW0uYyAoRlRfU3RyZWFtX09wZW4sIEZUX05ld19NZW1vcnksCglGVF9Eb25lX01lbW9yeSksIGJ1aWxkcy93aW4zMi9mdGRlYnVnLmMgKEZUX01lc3NhZ2UsIEZUX1BhbmljKToKCXMvRlRfRVhQT1JUL0ZUX0JBU0UvLgoKMjAwNS0xMS0xNyAgRGV0bGVmIFf8cmtuZXIgIDxUZXRpU29mdEBhcGcubGFobi5kZT4KCgkqIGJ1aWxkcy9hbWlnYS9zcmMvYmFzZS9mdGRlYnVnLmMgKEZUX1RyYWNlX0dldF9Db3VudCwKCUZUX1RyYWNlX0dldF9OYW1lLCBGVF9NZXNzYWdlLCBGVF9QYW5pYyksCglidWlsZHMvYW1pZ2Evc3JjL2Jhc2UvZnRzeXN0ZW0uYyAoRlRfTmV3X01lbW9yeSwgRlRfRG9uZV9NZW1vcnksCglGVF9TdHJlYW1fT3Blbik6IHMvRlRfRVhQT1JUL0ZUX0JBU0UvLgoKMjAwNS0xMS0xNyAgRGV0bGVmIFf8cmtuZXIgIDxUZXRpU29mdEBhcGcubGFobi5kZT4KCgkqIGJ1aWxkcy9hbWlnYS9tYWtlZmlsZSwgYnVpbGRzL2FtaWdhL21ha2VmaWxlLm9zNCwKCWJ1aWxkcy9hbWlnYS9zbWFrZWZpbGUsCglidWlsZHMvYW1pZ2EvaW5jbHVkZS9mcmVldHlwZS9jb25maWcvZnRtb2R1bGUuaDogVXBkYXRlZCB0aGUgQW1pZ2EKCWJ1aWxkIGZpbGVzIChhZGRlZCBzdXBwb3J0IGZvciB0aGUgZ3h2YWxpZCBtb2R1bGUpLgoKMjAwNS0xMS0xNyAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCUFkZCB2ZXJ0aWNhbCBtZXRyaWNzIHN1cHBvcnQgdG8gT3BlblR5cGUgQ0ZGIG91dGxpbmVzLiAgQmFzZWQgb24gYQoJcGF0Y2ggZnJvbSBNaWtlIE1vZW5pbmcgPE1pa2VNQFJldGVrU29sdXRpb25zLmNvbT4uCgoJKiBzcmMvY2ZmL2NmZmdsb2FkLmMgKGNmZl9mYWNlX2dldF92ZXJ0aWNhbF9tZXRyaWNzKTogTmV3IGZ1bmN0aW9uLgoJKGNmZl9zbG90X2xvYWQpOiBVc2UgY2ZmX2ZhY2VfZ2V0X3ZlcnRpY2FsX21ldHJpY3MuCgoJKiBkb2NzL0NIQU5HRVM6IFVwZGF0ZWQuCgoyMDA1LTExLTE3ICBDaGlhLUkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy9iYXNlL2Z0Y2FsYy5jIChGVF9NdWxUbzY0KTogQ29tbWVudGVkIG91dC4KCgkqIGluY2x1ZGUvZnJlZXR5cGUvaW50ZXJuYWwvZnRjYWxjLmggKEZUX1NxcnRGaXhlZCksCglzcmMvYmFzZS9mdGNhbGMuYyAoRlRfU3FydEZpeGVkKSwKCWluY2x1ZGUvZnJlZXR5cGUvaW50ZXJuYWwvZnRkZWJ1Zy5oIChGVF9UcmFjZV9HZXRfQ291bnQsCglGVF9UcmFjZV9HZXRfTmFtZSwgRlRfTWVzc2FnZSwgRlRfUGFuaWMpLCBzcmMvYmFzZS9mdGRlYnVnLmMKCShGVF9UcmFjZV9HZXRfQ291bnQsIEZUX1RyYWNlX0dldF9OYW1lLCBGVF9NZXNzYWdlLCBGVF9QYW5pYyksCglpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL2Z0b2Jqcy5oIChGVF9OZXdfTWVtb3J5LCBGVF9Eb25lX01lbW9yeSksCglpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL2Z0c3RyZWFtLmggKEZUX1N0cmVhbV9PcGVuKSwKCXNyYy9iYXNlL2Z0c3lzdGVtLmMgKEZUX05ld19NZW1vcnksIEZUX0RvbmVfTWVtb3J5LCBGVF9TdHJlYW1fT3Blbik6CglzL0ZUX0VYUE9SVC9GVF9CQVNFLy4KCgkqIGJ1aWxkcy9leHBvcnRzLm1rOiBNYW51YWxseSBhZGQgVFRfTmV3X0NvbnRleHQgdG8gRVhQT1JUU19MSVNUCgl0b28uCgoyMDA1LTExLTE1ICBEYXZpZCBUdXJuZXIgIDxkYXZpZEBmcmVldHlwZS5vcmc+CgoJKiBzcmMvYmFzZS9mdHRyaWdvbi5jIChmdF90cmlnX3ByZW5vcm0pOiBGaXggYSBidWcgdGhhdCBjcmVhdGVkCglpbnZhbGlkIGNvbXB1dGF0aW9ucywgcmVzdWx0aW5nIGluIHZlcnkgd2VpcmQgYnVncyBpbiBUcnVlVHlwZQoJYnl0ZWNvZGUgaGludGVkIGZvbnRzLgoKCSogc3JjL3RydWV0eXBlL3R0aW50ZXJwLmMgKEZUX1VOVVNFRF9FWEVDKTogRG9uJ3QgcGVyZm9ybSBhCglzdHJ1Y3R1cmUgY29weSBlYWNoIHRpbWUuCgoyMDA1LTExLTExICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBzcmMvY2FjaGUvZnRjY2FjaGUuYyAoRlRDX0NhY2hlX0NsZWFyKSwgc3JjL2NhY2hlL2Z0Y21hbmFnLmMKCShGVENfTWFuYWdlcl9DaGVjayk6IFJlbW92ZSBGVF9FWFBPUlRfREVGIHRhZy4KCgkqIHNyYy9iYXNlL2Z0Y2FsYy5jIChGVF9BZGQ2NCk6IFJlbW92ZSBGVF9FWFBPUlRfREVGIHRhZy4KCShGVF9EaXY2NGJ5MzIsIEZUX1NxcnQzMik6IENvbW1lbnRlZCBvdXQuICBVbnVzZWQuCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL2Z0Y2FsYy5oIChTUVJUXzMyKTogUmVtb3ZlZC4gIFVudXNlZC4KCShGVF9TcXJ0MzIpOiBDb21tZW50ZWQgb3V0LiAgVW51c2VkLgoKCSogaW5jbHVkZS9mcmVldHlwZS9jYWNoZS9mdGNjYWNoZS5oOgoJcy9mdGNfbm9kZV9kZXN0cm95L0ZUQ19Ob2RlX0Rlc3Ryb3kvLgoKCSogc3JjL2NhY2hlL2Z0Y2NiYWNrLmggKGZ0Y19ub2RlX2Rlc3Ryb3kpOiBOZXcgZGVjbGFyYXRpb24uCgoJKiBzcmMvY2FjaGUvZnRjY2FjaGUuYyAoZnRjX25vZGVfZGVzdHJveSk6IFVzZSBGVF9MT0NBTF9ERUYgdGFnLgoJKEZUQ19Ob2RlX0Rlc3Ryb3kpOiBOZXcgZXhwb3J0ZWQgd3JhcHBlciBmdW5jdGlvbiBmb3IKCWZ0Y19ub2RlX2Rlc3Ryb3kuCgoJKiBzcmMvY2FjaGUvZnRjbWFuYWcuYzogSW5jbHVkZSBmdGNjYmFjay5jLgoKMjAwNS0xMS0xMCAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL2F1dG9maXQvYWZhbmdsZXMuYywgc3JjL2F1dG9maXQvYWZ0eXBlcy5oIChhZl9hbmdsZV9kaWZmKToKCUNvbW1lbnQgb3V0LiAgVW51c2VkLgoKCSogYnVpbGRzL2V4cG9ydHMubWsgKCQoRVhQT1JUU19MSVNUKSk6IEFkZCBUVF9SdW5JbnMuCgoyMDA1LTExLTEwICBDaHJpc3RpYW4gQmllc2luZ2VyICA8Y2JpZXNpbmdlckB3ZWIuZGU+CgoJKiBidWlsZHMvYmVvcy9iZW9zLm1rOiBDYWxsIGJlb3MtZGVmLm1rIGJlZm9yZSBhbnl0aGluZyBlbHNlIHRvCglkZWZpbmUgdGhlIHNlcGFyYXRvci4KCgkqIGJ1aWxkcy91bml4L3VuaXgtY2MuaW4gKExJTktfTElCUkFSWSk6IEFkZCBgLW5vLXVuZGVmaW5lZCcgZmxhZy4KCjIwMDUtMTEtMDcgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy90eXBlMS90MWFmbS5jIChUMV9SZWFkX1BGTSk6IFplcm8gb2Zmc2V0IG1lYW5zIGBubyBrZXJuaW5nCgl0YWJsZSBhdmFpbGFibGUnLiAgRnJvbSBTZXJnZXkgVG9sc3RvdiA8c3RvbHN0b3ZAZXNyaS5jb20+LgoKMjAwNS0xMS0wMyAgVmlsbGUgU3lyauRs5CAgPHN5cmphbGFAc2NpLmZpPgoKCSogc3JjL2Jhc2UvZnRvYmpzLmMgKEZUX09wZW5fRmFjZSk6IEF2b2lkIHBvc3NpYmxlIG1lbW9yeSBsZWFrLgoKMjAwNS0xMS0wMiAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCU1ha2UgY29tcGlsaW5nIGluc3RydWN0aW9ucyBpbiBkb2NzL0NVU1RPTUlaRSB3b3JrIGFnYWluLgoKCSogYnVpbGRzL3VuaXgvdW5peC1jYy5pbiAoQ1BQRkxBR1MpOiBOZXcgdmFyaWFibGUuCgkoQ0ZMQUdTKTogRG9uJ3QgaW5jbHVkZSBAQ1BQRkxBR1NALgoJKiBidWlsZHMvZnJlZXR5cGUubWsgKEZUX0NGTEFHUyk6IEFkZCBDUFBGTEFHUy4KCjIwMDUtMTAtMjggIERhdmlkIFR1cm5lciAgPGRhdmlkQGZyZWV0eXBlLm9yZz4KCglVcGRhdGUgYnVpbGQgc3lzdGVtIHRvIHN1cHBvcnQgdGhlIGdlbmVyYXRpb24gb2YgYSBsaXN0IG9mIGV4cG9ydGVkCglzeW1ib2xzIG9yIFdpbmRvd3MgLkRFRiBmaWxlcyBieSBwYXJzaW5nIHRoZSBwdWJsaWMgaGVhZGVycyB3aXRoIHRoZQoJYGFwaW5hbWVzJyB0b29sIGxvY2F0ZWQgaW4gc3JjL3Rvb2xzL2FwaW5hbWVzLmMuCgoJT25seSB0ZXN0ZWQgb24gVW5peCBhdCB0aGUgbW9tZW50LiAgT24gV2luZG93cywgdGhlIC5ERUYgZmlsZSBpcwoJZ2VuZXJhdGVkIGJ1dCBpc24ndCB1c2VkIHlldCB0byBnZW5lcmF0ZSBhIERMTC4KCgkqIGJ1aWxkcy9leHBvcnRzLm1rOiBOZXcgZmlsZS4KCgkqIGJ1aWxkcy9mcmVldHlwZS5tazogSW5jbHVkZSBleHBvcnRzLm1rLgoJKGRsbCk6IE5ldyB0YXJnZXQuCgkoY2xlYW5fcHJvamVjdF9kb3MpOiBGaXggcnVsZS4KCgkqIGJ1aWxkcy9jb21waWxlci92aXN1YWxjLm1rIChURSksIGJ1aWxkcy9kb3MvZG9zLWRlZi5tayAoRSksCglidWlsZHMvb3MyL29zMi1kZWYubWsgKEUpLCBidWlsZHMvd2luMzIvd2luMzItZGVmLm1rIChFKTogTmV3Cgl2YXJpYWJsZXMgZm9yIGNvbnRyb2xsaW5nIGV4ZWN1dGFibGUgZXh0ZW5zaW9ucy4KCgkqIGJ1aWxkcy91bml4L3VuaXgtY2MuaW4gKEVYUE9SVFNfTElTVCwgQ0NleGUpLAoJYnVpbGRzL3dpbjMyL3czMi1iY2MubWssIGJ1aWxkcy93aW4zMi93MzItZ2NjLm1rLAoJYnVpbGRzL3dpbjMyL3czMi1pY2MubWssIGJ1aWxkcy93aW4zMi93MzItaWNjLm1rLAoJYnVpbGRzL3dpbjMyL3czMi1taW5ndzMyLm1rLCBidWlsZHMvd2luMzIvdzMyLXZjYywKCWJ1aWxkcy93aW4zMi93MzItd2F0Lm1rIChFWFBPUlRTX0xJU1QsIEVYUE9SVF9PUFRJT05TLAoJQVBJTkFNRVNfT1BUSU9OUyk6IE5ldyB0YXJnZXRzIGZvciBjb250cm9sbGluZyB0aGUgYGFwaW5hbWVzJyB0b29sLgoKCSogSmFtZmlsZSAoR2VuRXhwb3J0U3ltYm9scyk6IFVwZGF0ZWQuCgoKCSogc3JjL3Bmci9wZnJ0eXBlcy5oLCBzcmMvcGZyL3BmcmxvYWQuYywgc3JjL3Bmci9wZnJvYmpzLmMKCVshRlRfT1BUSU1JWkVfTUVNT1JZXTogRm9sZCBtZW1vcnkgb3B0aW1pemF0aW9uIGNvZGUgaW50bwoJRlRfT1BUSU1JWkVfTUVNT1JZIGNodW5rcyBmb3IgYmV0dGVyIG1haW50YWluYWJpbGl0eSBhbmQgc2ltcGxpY2l0eS4KCgoJKiBzcmMvYmFzZS9mdHRyaWdvbi5jIChmdF90cmlnX3ByZW5vcm0pLCBzcmMvYmFzZS9mdGNhbGMuYwoJKEZUX011bEZpeCk6IFBlcmZvcm1hbmNlIG9wdGltaXphdGlvbnMuCgoKCSogaW5jbHVkZS9mcmVldHlwZS9pbnRlcm5hbC9mdGdsb2Fkci5oIChGVF9HTFlQSExPQURFUl9DSEVDS19QLAoJRlRfR0xZUEhMT0FERVJfQ0hFQ0tfQywgRlRfR0xZUEhMT0FERVJfQ0hFQ0tfUE9JTlRTKTogTmV3IG1hY3JvcyBmb3IKCWNoZWNraW5nIHBvaW50cyBhbmQgY29udG91cnMuICBVcGRhdGUgY2FsbGVycyB0byB1c2UKCUZUX0dMWVBITE9BREVSX0NIRUNLX1BPSU5UUyBpbnN0ZWFkIG9mIEZUX0dseXBoTG9hZGVyX0NoZWNrUG9pbnRzCglhdCBwcm9maWxlLWRldGVjdGVkIGhvdC1zcG90cy4KCgkqIHNyYy9iYXNlL2Z0Z2xvYWRyLmMgKEZUX0dseXBoTG9hZGVyX0NoZWNrUG9pbnRzKTogU2V0IGBhZGp1c3QnCgl0byAwIHRvIG5vdCBjYWxsIGBBZGp1c3RQb2ludHMnIGV2ZXJ5IHRpbWUuCgoKCSogc3JjL2F1dG9maXQvYWZ0eXBlcy5oIChBRl9BTkdMRV9ESUZGKTogTmV3IG1hY3JvIHRvIGlubGluZQoJRlRfQW5nbGVfRGlmZi4KCgkqIHNyYy9hdXRvZml0L2FmaGludHMuYyAoYWZfZGlyZWN0aW9uX2NvbXB1dGUpOiBSZS1pbXBsZW1lbnQuCgkoYWZfZ2x5cGhfaGludHNfY29tcHV0ZV9pbmZsZWN0aW9ucywgYWZfZ2x5cGhfaGludHNfcmVsb2FkKTogVXNlCglBRl9BTkdMRV9ESUZGIHRvIHNwZWVkIHVwIHRoZSBkZXRlY3Rpb24gb2YgaW5mbGV4aW9ucy4KCgoJKiBzcmMvdG9vbHMvYXBpbmFtZXMuYzogSW5jbHVkZSA8c3RyaW5nLmg+LgoJKE91dHB1dEZvcm1hdCk6IE5ldyBlbnVtZXJhdGlvbi4KCShuYW1lc19kdW1wKTogQWRkIHR3byBwYXJhbWV0ZXJzIHRvIGNvbnRyb2wgb3V0cHV0IGZvcm1hdCBhbmQgRExMCgluYW1lLgoJKG5hbWVzX2R1bXBfd2luZGVmKTogUmVtb3ZlZC4gIENvZGUgZm9sZGVkIGludG8gYG5hbWVzX2R1bXAnLgoJKHJlYWRfaGVhZGVyX2ZpbGUpOiBVc2UgaXNhbG51bSwgbm90IGlzYWxwaGEuICBPdGhlcndpc2UgZnVuY3Rpb24KCW5hbWVzIHdpdGggZGlnaXRzIGFyZW4ndCByZWFkIGNvcnJlY3RseS4KCSh1c2FnZSk6IFVwZGF0ZWQuCgkobWFpbik6IE5ldyBvcHRpb24gYC1vJyB0byBjb250cm9sIG91dHB1dCBmaWxlIG5hbWUuCglOZXcgb3B0aW9uIGAtZCcgdG8gaW5kaWNhdGUgRExMIGZpbGUgbmFtZS4KCUV4dGVuZCBgLXcnIGZsYWcgdG8gaGFuZGxlIEJvcmxhbmQgYW5kIFdhdGNvbSBjb21waWxlcnMgYW5kIGxpbmtlcnMuCgoyMDA1LTEwLTI4ICBzdXp1a2kgdG9zaGl5YSAgPG1wc3V6dWtpQGhpcm9zaGltYS11LmFjLmpwPgoKCSogYnVpbGRzL21hYy9mdGxpYi5wcmosIGJ1aWxkcy9tYWMvZnJlZXR5cGUubWFrOiBSZW1vdmVkLgoJZnRsaWIucHJqIGlzIHVubWFpbnRhaW5lZCBhbmQgaW5jb21wYXRpYmxlIHdpdGggY3VycmVudCB0cmVlLgoJZnJlZXR5cGUubWFrIGlzIHVucmVjb3ZlcmFibHkgYnJva2VuLgoKCSogYnVpbGRzL21hYy9mdGxpYi5wcmoueG1sOiBBZGRlZC4KCWdlbmVyYXRlZCBieSBNZXRyb3dlcmtzIENvZGVXYXJyaW9yIDkuMC4KCgkqIGJ1aWxkcy9tYWMvRnJlZVR5cGUubTY4a19mYXIubWFrZS50eHQsCglidWlsZHMvbWFjL0ZyZWVUeXBlLm02OGtfY2ZtLm1ha2UudHh0LAoJYnVpbGRzL21hYy9GcmVlVHlwZS5wcGNfY2xhc3NpYy5tYWtlLnR4dCwKCWJ1aWxkcy9tYWMvRnJlZVR5cGUucHBjX2NhcmJvbi5tYWtlLnR4dDogQWRkZWQuCglza2VsdG9uIGZpbGVzIG9mIE1QVyBtYWtlZmlsZXMuCgoJKiBidWlsZHMvbWFjL2FzY2lpMm1wdy5weTogQWRkZWQuCglQeXRob24gc2NyaXB0IHRvIG1ha2UgTVBXIG1ha2VmaWxlIGZyb20gc2tlbHRvbi4KCgkqIGJ1aWxkcy9tYWMvUkVBRE1FOiBVcGRhdGVkLgoJQWxtb3N0IHJld3JpdHRlbiB0byB1c2UgbmV3IGZpbGVzLgoKMjAwNS0xMC0yOCAgc3V6dWtpIHRvc2hpeWEgIDxtcHN1enVraUBoaXJvc2hpbWEtdS5hYy5qcD4KCgkqIHNyYy9iYXNlL2Z0bWFjLmM6IGZpeCBpbnZhbGlkIGNhc3RzIGZyb20gTlVMTCB0byBpbnRlZ2VyIHR5cGVkCgl2YXJpYWJsZXMuIEFkdmlzZWQgYnkgRGF2aWQgVHVybmVyLCBNYXNhdGFrZSBZQU1BVE8sIFNlYW4gTWNCcmlkZQoJYW5kIEdlb3JnZSBXaWxsaWFtcy4KCjIwMDUtMTAtMjcgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIGluY2x1ZGUvZnJlZXR5cGUvZnRzeXNtZW0uaCwgaW5jbHVkZS9mcmVldHlwZS9mdHN5c2lvLmg6IFJlbW92ZWQuCglPYnNvbGV0ZS4KCjIwMDUtMTAtMjUgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy9zZm50L3NmZHJpdmVyLmMgKHNmbnRfaW50ZXJmYWNlKTogTW92ZSBvdXQKCWB0dF9mYWNlX2dldF9rZXJuaW5nJyBmcm9tIGEgI2lmZGVmIGNsYXVzZS4gIFJlcG9ydGVkIGJ5IFRvbnkgSi4KCUliYnMgPHRpYnNAc2ouY28udWs+LgoKMjAwNS0xMC0yMyAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL2Jhc2UvZnRkYmdtZW0uYyAoZnRfbWVtX2RlYnVnX3JlYWxsb2MpOiBNYWtlIGl0IGNvbXBpbGUgd2l0aAoJQysrLgoKMjAwNS0xMC0yMSAgRGF2aWQgVHVybmVyICA8ZGF2aWRAZnJlZXR5cGUub3JnPgoKCSogc3JjL2Jhc2UvZnRkYmdtZW0uYyAoZnRfbWVtX3RhYmxlX3NldCwgZnRfbWVtX2RlYnVnX3JlYWxsb2MpOgoJQW5vdGhlciByZWFsbG9jIG1lbW9yeSBjb3VudGluZyBidWcgZml4LgoKCSogc3JjL3Rvb2xzL0phbWZpbGU6IEFkZCBtaXNzaW5nIGZpbGUuCgoJKiBzcmMvbHp3L0phbWZpbGU6IEZpeCBpbmNvcnJlY3Qgc291cmNlIGZpbGUgcmVmZXJlbmNlLgoKMjAwNS0xMC0yMCAgRGF2aWQgVHVybmVyICA8ZGF2aWRAZnJlZXR5cGUub3JnPgoKCSogc3JjL2Jhc2UvZnRkYmdtZW0uYyAoZnRfbWVtX3RhYmxlX3NldCwgZnRfbWVtX3RhYmxlX3JlbW92ZSwKCWZ0X21lbV9kZWJ1Z19hbGxvYywgZnRfbWVtX2RlYnVnX2ZyZWUsIGZ0X21lbV9kZWJ1Z19yZWFsbG9jKTogRml4ZXMKCXRvIGJldHRlciBhY2NvdW50IGZvciBtZW1vcnkgcmVhbGxvY2F0aW9ucy4KCgkqIHNyYy9sencvZnRsencyLmMsIHNyYy9sencvZnR6b3Blbi5oLCBzcmMvbHp3L2Z0em9wZW4uYywKCXNyYy9sencvcnVsZXMubWs6IEZpcnN0IHZlcnNpb24gb2YgTFpXIGxvYWRlciByZS1pbXBsZW1lbnRhdGlvbi4KCUFwcGFyZW50bHksIHRoaXMgc2F2ZXMgYWJvdXQgMzMwIEtCIG9mIGhlYXAgbWVtb3J5IHdoZW4gbG9hZGluZwoJdGltUjI0LnBjZi5aLgoKMjAwNS0xMC0yMCAgQ2hpYS1JIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2Z0Yml0bWFwLmggKEZUX0JpdG1hcF9Db3B5LCBGVF9CaXRtYXBfRW1ib2xkZW4pLAoJc3JjL2Jhc2UvZnRiZGYuYyAoRlRfR2V0X0JERl9Qcm9wZXJ0eSksIHNyYy9jYWNoZS9mdGNtcnUuYwoJKEZUQ19NcnVMaXN0X1Jlc2V0LCBGVENfTXJ1TGlzdF9Eb25lLCBGVENfTXJ1TGlzdF9Mb29rdXApOiBGaXgKCUZUX0VYUE9SVC9GVF9FWFBPUlRfREVGIHRhZ2dpbmcuCgoyMDA1LTEwLTE5ICBDaGlhLUkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy90cnVldHlwZS90dGdsb2FkLmMgKFRUX0xvYWRfR2x5cGgpOiBBbGxvdyBzaXplLT50dG1ldHJpY3MgdG8KCWJlIGludmFsaWQgd2hlbiBGVF9MT0FEX05PX1NDQUxFIGlzIHNldC4KCjIwMDUtMTAtMTcgIERhdmlkIFR1cm5lciAgPGRhdmlkQGZyZWV0eXBlLm9yZz4KCgkqIHNyYy9iYXNlL2Z0b2Jqcy5jIChGVF9PcGVuX0ZhY2UpOiBEb24ndCBjYWxsIEZUX05ld19HbHlwaFNsb3QgYW5kCglGVF9OZXdfU2l6ZSBpZiB3ZSBhcmUgb3BlbmluZyBhIGZhY2Ugd2l0aCBmYWNlX2luZGV4IDwgMCAod2hpY2ggaXMKCW9ubHkgdXNlZCBmb3IgdGVzdGluZyB0aGUgZm9ybWF0KS4KCgkqIHNyYy9neHZhbGlkL2d4dm1vcnQwLmMgKGd4dl9tb3J0X3N1YnRhYmxlX3R5cGUwX2VudHJ5X3ZhbGlkYXRlKToKCVJlbW92ZSBjb21waWxlciB3YXJuaW5nLgoKMjAwNS0xMC0xNiAgRGF2aWQgVHVybmVyICA8ZGF2aWRAZnJlZXR5cGUub3JnPgoKCSogc3JjL3Rvb2xzL2FwaW5hbWVzLmM6IEFkZCBuZXcgdG9vbCB0byBleHRyYWN0IHB1YmxpYyBBUEkgZnVuY3Rpb24KCW5hbWVzIGZyb20gaGVhZGVyIGZpbGVzLgoKMjAwNS0xMC0wNSAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCUFkZCBGVF9GQUNFX0ZMQUdfSElOVEVSIHRvIGluZGljYXRlIHRoYXQgYSBzcGVjaWZpYyBmb250IGRyaXZlciBoYXMKCWEgaGludGluZyBlbmdpbmUgb2YgaXRzIG93bi4KCgkqIGluY2x1ZGUvZnJlZXR5cGUvZnJlZXR5cGUuaCAoRlRfRkFDRV9GTEFHX0hJTlRFUik6IE5ldyBtYWNyby4KCgkqIHNyYy9jZmYvY2Zmb2Jqcy5jIChjZmZfZmFjZV9pbml0KSwgc3JjL2NpZC9jaWRvYmpzLmMKCShjaWRfZmFjZV9pbml0KSwgc3JjL3RydWV0eXBlL3R0b2Jqcy5jICh0dF9mYWNlX2luaXQpCglbVFRfQ09ORklHX09QVElPTl9CWVRFQ09ERV9JTlRFUlBSRVRFUl0sIHNyYy90eXBlMS90MW9ianMuYwoJKFQxX0ZhY2VfSW5pdCksIHNyYy90eXBlNDIvdDQyb2Jqcy5jIChUNDJfRmFjZV9Jbml0KQoJW1RUX0NPTkZJR19PUFRJT05fQllURUNPREVfSU5URVJQUkVURVJdOiBVcGRhdGUgZmFjZSBmbGFncy4KCgkqIGRvY3MvQ0hBTkdFUzogRG9jdW1lbnQgaXQuCgoyMDA1LTA5LTI3ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBidWlsZHMvdW5peC9mcmVldHlwZTIubTQ6IEFkZCBsaWNlbnNlIGV4Y2VwdGlvbiBzbyB0aGF0IHRoZSBmaWxlCgljYW4gYmUgdXNlZCBpbiBhbnkgb3RoZXIgYXV0b2NvbmYgc2NyaXB0LgoKMjAwNS0wOS0yNiAgRGF2aWQgVHVybmVyICA8ZGF2aWRAZnJlZXR5cGUub3JnPgoKCSogc3JjL2F1dG9maXQvYWZsYXRpbi5jIChhZl9sYXRpbl9jb21wdXRlX3N0ZW1fd2lkdGgpOiBGaXggYmFkCgljb21wdXRhdGlvbiBvZiB0aGUgYHZlcnRpY2FsJyBmbGFnLCBjYXVzaW5nIHVnbHkgdGhpbmdzIGluIExDRCBtb2RlCglhbmQgb3RoZXJzLgoKMjAwNS0wOS0yMyAgRGF2aWQgVHVybmVyICA8ZGF2aWRAZnJlZXR5cGUub3JnPgoKCSogc3JjL2F1dG9maXQvYWZsYXRpbi5jIChhZl9sYXRpbl9oaW50c19pbml0KTogRml4IGEgYnVnIHRoYXQKCXByZXZlbnRlZCBpbnRlcm5hbCBoaW50IG1vZGUgYml0ZmxhZ3MgZnJvbSBiZWluZyBjb21wdXRlZCBjb3JyZWN0bHkuCgoJKiBzcmMvYmFzZS9KYW1maWxlOiBBZGRpbmcgc3JjL2Jhc2UvZnRneHZhbC5jLgoKCSogc3JjL2d4dmFsaWQvZ3h2YnNsbi5jLCBzcmMvZ3h2YWxpZC9neHZjb21tbi5jLAoJc3JjL2d4dmFsaWQvZ3h2ZmVhdC5jLCBzcmMvZ3h2YWxpZC9neHZqdXN0LmMsIHNyYy9neHZhbGlkL2d4dmtlcm4uYywKCXNyYy9neHZhbGlkL2d4dmxjYXIuYywgc3JjL2d4dmFsaWQvZ3h2bW9ydC5jLAoJc3JjL2d4dmFsaWQvZ3h2bW9ydDAuYywgc3JjL2d4dmFsaWQvZ3h2bW9ydDEuYywKCXNyYy9neHZhbGlkL2d4dm1vcnQyLmMsIHNyYy9neHZhbGlkL2d4dm1vcnQ0LmMsCglzcmMvZ3h2YWxpZC9neHZtb3J0NS5jLCBzcmMvZ3h2YWxpZC9neHZtb3J4LmMsCglzcmMvZ3h2YWxpZC9neHZtb3J4MC5jLCBzcmMvZ3h2YWxpZC9neHZtb3J4MS5jLAoJc3JjL2d4dmFsaWQvZ3h2bW9yeDIuYywgc3JjL2d4dmFsaWQvZ3h2bW9yeDUuYywKCXNyYy9neHZhbGlkL2d4dm9wYmQuYywgc3JjL2d4dmFsaWQvZ3h2cHJvcC5jLAoJc3JjL3RydWV0eXBlL3R0Z2xvYWQuYzogUmVtb3ZlIF9tYW55XyBjb21waWxlciB3YXJuaW5ncyB3aGVuCgljb21waWxpbmcgd2l0aCBWaXN1YWwgQysrIGF0IG1heGltdW0gbGV2ZWwgKC9XNCkuCgoJKiBzcmMvYXV0b2ZpdC9hZmFuZ2xlcy5jIChhZl9hbmdsZV9hdGFuKTogUmVwbGFjZWQgQ09SRElDLWJhc2VkCglpbXBsZW1lbnRhdGlvbiB3aXRoIG9uZSB1c2luZyBsb29rdXAgdGFibGVzLiAgVGhpcyBzaW1wbGUgdGhpbmcKCXNwZWVkcyB1cCBnbHlwaCBsb2FkaW5nIGJ5IDE4JSwgYWNjb3JkaW5nIHRvIGZ0YmVuY2ghCgoJKiBzcmMvc2ZudC9zZmRyaXZlci5jIChzZm50X2dldF9pbnRlcmZhY2UpOiBEb24ndCBjaGVjayBmb3IKCWBnZXRfc2ZudCcgYW5kIGBsb2FkX3NmbnQnIG1vZHVsZSBpbnRlcmZhY2VzLgoKMjAwNS0wOS0yMiAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogZG9jcy9DSEFOR0VTOiBNZW50aW9uIFNJTkcgR2x5cGhsZXQgc3VwcG9ydC4KCjIwMDUtMDktMjIgIERhdmlkIFR1cm5lciAgPGRhdmlkQGZyZWV0eXBlLm9yZz4KCgkqIHNyYy9iYXNlL0phbWZpbGU6IERpc2FibGUgY29tcGlsYXRpb24gb2YgZnRneHZhbCBtb2R1bGUKCXRlbXBvcmFyaWx5LgoKMjAwNS0wOS0xOSAgRGF2aWQgU29tZXJzICA8ZHNvbWVyc0BvbXoxMy5jb20+CgoJKiBmcmVldHlwZTIvc3JjL3NmbnQvdHRsb2FkLmMgKHNmbnRfZGlyX2NoZWNrKTogTW9kaWZpZWQgdG8gYWxsb3cgYQoJZm9udCB0byBoYXZlIG5vIGBoZWFkJyB0YWJsZSBpZiB0YWJsZXMgYFNJTkcnIGFuZCBgTUVUQScgYXJlCglwcmVzZW50OyB0aGlzIGlzIHRvIHN1cHBvcnQgYFNJTkcgR2x5cGhsZXQnLgoKCWBTSU5HIEdseXBobGV0JyBpcyBhbiBleHRlbnNpb24gdG8gT3BlblR5cGUgZGV2ZWxvcGVkIGJ5IEFkb2JlCglwcmltYXJpbHkgdG8gZmFjaWxpdGF0ZSBhZGRpbmcgc3VwcGxlbWVudGFsIGdseXBocyB0byBhbiBPcGVuVHlwZQoJZm9udCAod2l0aCBlbXBoYXNpcyBvbiwgYnV0IG5vdCBuZWNlc3Nhcml5IGxpbWl0ZWQgdG8sIGdhaWppIHRvIGEKCUNKSyBmb250KS4gIEEgU0lORyBHbHlwaGxldCBGb250IGlzIGFuIE9wZW5UeXBlIGZvbnQgdGhhdCBjb250YWlucwoJdGhlIG91dGxpbmUocyksIGVpdGhlciBpbiBhIGBnbHlmJyBvciBgQ0ZGJyB0YWJsZSwgZm9yIGEgZ2x5cGg7CglgY21hcCcsIGBCQVNFJywgYW5kIGBHU1VCJyB0YWJsZXMgYXJlIHByZXNlbnQgd2l0aCB0aGUgc2FtZSBmb3JtYXQKCWFuZCBmdW5jdGlvbmFsaXkgYXMgYSByZWd1bGFyIE9wZW5UeXBlIGZvbnQ7IHRoZXJlIGFyZSBubyBgbmFtZScsCglgaGVhZCcsIGBPUy8yJywgYW5kIGBwb3N0JyB0YWJsZXM7IHRoZXJlIGFyZSB0d28gbmV3IHRhYmxlcywgYFNJTkcnCgl3aGljaCBjb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBnbHlwaGxldCwgYW5kIGBNRVRBJyB3aGljaCBjb250YWlucwoJbWV0YWRhdGEuCgoJRnVydGhlciBpbmZvcm1hdGlvbiBvbiB0aGUgU0lORyBHbHlwaGxldCBmb3JtYXQgY2FuIGJlIGZvdW5kIGF0OgoKCSAgaHR0cDovL3d3dy5hZG9iZS5jb20vcHJvZHVjdHMvaW5kZXNpZ24vc2luZ19nYWlqaS5odG1sCgoJKiBmcmVldHlwZTIvaW5jbHVkZS9mcmVldHlwZS90dGFncy5oIChUVEFHX1NJTkcsIFRUQUdfTUVUQSk6IE5ldwoJbWFjcm9zIGZvciB0aGUgT3BlblR5cGUgdGFibGVzIGBTSU5HJyBhbmQgYE1FVEEnLiAgVGhlc2UgdHdvIHRhYmxlcwoJYXJlIHVzZWQgaW4gU0lORyBHbHlwaGxldCBGb3JtYXQgZm9udHMuCgoyMDA1LTA5LTA5ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBzcmMvc2ZudC9zZm9ianMuYyAoc2ZudF9sb2FkX2ZhY2UpOiBSZWFjdGl2YXRlIGNvZGUgdG8gc2V0CglGVF9GQUNFX0ZMQUdfS0VSTklORyB3aGljaCBoYXMgYmVlbiBjb21tZW50ZWQgb3V0IGVycm9uZW91c2x5LgoKCSogZG9jcy9DSEFOR0VTOiBEb2N1bWVudCBpdC4KCjIwMDUtMDktMDUgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCglGaXhlcyBmb3IgYG1ha2UgbXVsdGknIGFuZCB1c2luZyBDKysgY29tcGlsZXIuCgoJKiBneHZhbGlkL2d4dmNvbW1uLmMgKGd4dl9zZXRfbGVuZ3RoX2J5X3VzaG9ydF9vZmZzZXQsCglneHZfc2V0X2xlbmd0aF9ieV91bG9uZ19vZmZzZXQsIGd4dl9hcnJheV9nZXRsaW1pdHNfYnl0ZSwKCWd4dl9hcnJheV9nZXRsaW1pdHNfdXNob3J0KTogRGVjbGFyZSB3aXRoIEZUX0xPQ0FMX0RFRi4KCShneHZfY29tcGFyZV9yYW5nZXMpOiBNYWtlIGl0IHN0YXRpYy4KCShneHZfTG9va3VwVGFibGVfZm10MF92YWxpZGF0ZSwgZ3h2X0xvb2t1cFRhYmxlX2ZtdDJfdmFsaWRhdGUsCglneHZfTG9va3VwVGFibGVfZm10NF92YWxpZGF0ZSwgZ3h2X0xvb2t1cFRhYmxlX2ZtdDZfdmFsaWRhdGUsCglneHZfTG9va3VwVGFibGVfZm10OF92YWxpZGF0ZSwgZ3h2X0xvb2t1cFRhYmxlX3ZhbGlkYXRlKTogSW1wcm92ZQoJdHJhY2UgbWVzc2FnZXMuCgkoZ3h2X1N0YXRlQXJyYXlfdmFsaWRhdGUsIGd4dl9YU3RhdGVBcnJheV92YWxpZGF0ZSk6IHMvY2xhc3MvY2xhenovLgoJKEdYVl9TVEFURVRBQkxFX0hFQURFUl9TSVpFLCBHWFZfU1RBVEVIRUFERVJfU0laRSwKCUdYVl9YU1RBVEVUQUJMRV9IRUFERVJfU0laRSwgR1hWX1hTVEFURUhFQURFUl9TSVpFKTogTW92ZSB0bwoJZ3h2Y29tbW4uaC4KCgkqIGd4dmFsaWQvZ3h2Y29tbW4uaDogQWRkIHByb3RvdHlwZXMgZm9yCglneHZfU3RhdGVUYWJsZV9zdWJ0YWJsZV9zZXR1cCwgZ3h2X1hTdGF0ZVRhYmxlX3N1YnRhYmxlX3NldHVwLAoJZ3h2X1hTdGF0ZVRhYmxlX3ZhbGlkYXRlLCBneHZfYXJyYXlfZ2V0bGltaXRzX2J5dGUsCglneHZfYXJyYXlfZ2V0bGltaXRzX3VzaG9ydCwgZ3h2X3NldF9sZW5ndGhfYnlfdXNob3J0X29mZnNldCwKCWd4dl9zZXRfbGVuZ3RoX2J5X3Vsb25nX29mZnNldCwgZ3h2X29kdGVjdF9hZGRfcmFuZ2UsCglneHZfb2R0ZWN0X3ZhbGlkYXRlLgoJKEdYVl9TVEFURVRBQkxFX0hFQURFUl9TSVpFLCBHWFZfU1RBVEVIRUFERVJfU0laRSwKCUdYVl9YU1RBVEVUQUJMRV9IRUFERVJfU0laRSwgR1hWX1hTVEFURUhFQURFUl9TSVpFKTogTW92ZWQgZnJvbQoJZ3h2Y29tbW4uYy4KCgkqIHNyYy9neHZhbGlkL2d4dmJzbG4uYyAoZ3h2X2JzbG5fTG9va3VwVmFsdWVfdmFsaWRhdGUsCglneHZfYnNsbl9wYXJ0c19mbXQxX3ZhbGlkYXRlKTogSW1wcm92ZSB0cmFjZSBtZXNzYWdlcy4KCgkqIGd4dmFsaWQvZ3h2ZmVhdC5jOiBTcGxpdCBvZmYgcHJlZGVmaW5lZCByZWdpc3RyeSBzdHVmZiB0by4uLgoJKiBneHZhbGlkL2d4dmZlYXQuaDogTmV3IGZpbGUuCgoJKiBneHZhbGlkL2d4dmp1c3QuYyAoZ3h2X2p1c3Rfd2RjX2VudHJ5X3ZhbGlkYXRlKTogSW1wcm92ZSB0cmFjZQoJbWVzc2FnZS4KCgkqIGd4dmFsaWQvZ3h2a2Vybi5jIChHWFZfa2Vybl9EaWFsZWN0KTogQWRkIEtFUk5fRElBTEVDVF9VTktOT1dOLgoJKGd4dl9rZXJuX3N1YnRhYmxlX2ZtdDFfdmFsdWVUYWJsZV9sb2FkLAoJZ3h2X2tlcm5fc3VidGFibGVfZm10MV9zdWJ0YWJsZV9zZXR1cCwKCWd4dl9rZXJuX3N1YnRhYmxlX2ZtdDFfZW50cnlfdmFsaWRhdGUpOiBGaXggQysrIGNvbXBpbGVyIGVycm9ycy4KCShneHZfa2Vybl9jb3ZlcmFnZV92YWxpZGF0ZSk6IFVzZSBLRVJOX0RJQUxFQ1RfVU5LV09XTi4KCUltcHJvdmUgdHJhY2UgbWVzc2FnZS4KCShneHZfa2Vybl92YWxpZGF0ZV9nZW5lcmljKTogRml4IEMrKyBjb21waWxlciBlcnJvci4KCUltcHJvdmUgdHJhY2UgbWVzc2FnZS4KCShneHZfa2Vybl92YWxpZGF0ZV9jbGFzc2ljKTogRml4IEMrKyBjb21waWxlciBlcnJvci4KCgkqIGd4dmFsaWQvZ3h2bW9ydDAuYyAoZ3h2X21vcnRfc3VidGFibGVfdHlwZTBfdmFsaWRhdGUpOiBEZWNsYXJlCgl3aXRoIEZUX0xPQ0FMX0RFRi4KCgkqIGd4dmFsaWQvZ3h2bW9ydDEuYwoJKGd4dl9tb3J0X3N1YnRhYmxlX3R5cGUxX3N1YnN0aXR1dGlvblRhYmxlX2xvYWQsCglneHZfbW9ydF9zdWJ0YWJsZV90eXBlMV9zdWJ0YWJsZV9zZXR1cCk6IEZpeCBDKysgY29tcGlsZXIgZXJyb3JzLgoJKGd4dl9tb3J0X3N1YnRhYmxlX3R5cGUxX3N1YnN0VGFibGVfdmFsaWRhdGUpOiBJbXByb3ZlIHRyYWNlCgltZXNzYWdlLgoJKGd4dl9tb3J0X3N1YnRhYmxlX3R5cGUxX3ZhbGlkYXRlKTogRGVjbGFyZSB3aXRoIEZUX0xPQ0FMX0RFRi4KCgkqIGd4dmFsaWQvZ3h2bW9ydDIuYyAoZ3h2X21vcnRfc3VidGFibGVfdHlwZTJfb3B0dGFibGVfbG9hZCwKCWd4dl9tb3J0X3N1YnRhYmxlX3R5cGUyX3N1YnRhYmxlX3NldHVwLAoJZ3h2X21vcnRfc3VidGFibGVfdHlwZTJfbGlnQWN0aW9uT2Zmc2V0X3ZhbGlkYXRlLAoJZ3h2X21vcnRfc3VidGFibGVfdHlwZTJfbGlnYXR1cmVUYWJsZV92YWxpZGF0ZSk6IEZpeCBDKysgY29tcGlsZXIKCWVycm9ycy4KCShneHZfbW9ydF9zdWJ0YWJsZV90eXBlMl92YWxpZGF0ZSk6IERlY2xhcmUgd2l0aCBGVF9MT0NBTF9ERUYuCgoJKiBneHZhbGlkL2d4dm1vcnQ0LmMgKGd4dl9tb3J0X3N1YnRhYmxlX3R5cGU0X3ZhbGlkYXRlKTogRGVjbGFyZQoJd2l0aCBGVF9MT0NBTF9ERUYuCgoJKiBneHZhbGlkL2d4dm1vcnQ1LmMgKGd4dl9tb3J0X3N1YnRhYmxlX3R5cGU1X3N1YnRhYmxlX3NldHVwLAoJZ3h2X21vcnRfc3VidGFibGVfdHlwZTVfSW5zZXJ0TGlzdF92YWxpZGF0ZSk6IEZpeCBDKysgY29tcGlsZXIKCWVycm9ycy4KCShneHZfbW9ydF9zdWJ0YWJsZV90eXBlNV92YWxpZGF0ZSk6IERlY2xhcmUgd2l0aCBGVF9MT0NBTF9ERUYuCgoJKiBneHZhbGlkL2d4dm1vcnQuYzogSW5jbHVkZSBneHZmZWF0LmguCgkoZ3h2X21vcnRfZmVhdHVyZWFycmF5X3ZhbGlkYXRlLCBneHZfbW9ydF9jb3ZlcmFnZV92YWxpZGF0ZSk6CglEZWNsYXJlIHdpdGggRlRfTE9DQUxfREVGLgoJKGd4dl9tb3J0X3N1YnRhYmxlc192YWxpZGF0ZSwgZ3h2X21vcnRfdmFsaWRhdGUpOiBJbXByb3ZlIHRyYWNlCgltZXNzYWdlcy4KCgkqIGd4dmFsaWQvZ3h2bW9ydC5oIChneHZfbW9ydF9mZWF0dXJlX3ZhbGlkYXRlKTogUmVtb3ZlLgoKCSogZ3h2YWxpZC9neHZtb3J4MC5jIChneHZfbW9yeF9zdWJ0YWJsZV90eXBlMF92YWxpZGF0ZSk6IERlY2xhcmUKCXdpdGggRlRfTE9DQUxfREVGLgoKCSogZ3h2YWxpZC9neHZtb3J4MS5jCgkoZ3h2X21vcnhfc3VidGFibGVfdHlwZTFfc3Vic3RpdHV0aW9uVGFibGVfbG9hZCwKCWd4dl9tb3J4X3N1YnRhYmxlX3R5cGUxX3N1YnRhYmxlX3NldHVwLAoJZ3h2X21vcnhfc3VidGFibGVfdHlwZTFfZW50cnlfdmFsaWRhdGUsCglneHZfbW9yeF9zdWJ0YWJsZV90eXBlMV9zdWJzdGl0dXRpb25UYWJsZV92YWxpZGF0ZSk6IEZpeCBDKysKCWNvbXBpbGVyIGVycm9ycy4KCShneHZfbW9yeF9zdWJ0YWJsZV90eXBlMV92YWxpZGF0ZSk6IERlY2xhcmUgd2l0aCBGVF9MT0NBTF9ERUYuCgoJKiBneHZhbGlkL2d4dm1vcngyLmMgKGd4dl9tb3J4X3N1YnRhYmxlX3R5cGUyX29wdHRhYmxlX2xvYWQsCglneHZfbW9yeF9zdWJ0YWJsZV90eXBlMl9zdWJ0YWJsZV9zZXR1cCwKCWd4dl9tb3J4X3N1YnRhYmxlX3R5cGUyX2xpZ0FjdGlvbkluZGV4X3ZhbGlkYXRlLAoJZ3h2X21vcnhfc3VidGFibGVfdHlwZTJfbGlnYXR1cmVUYWJsZV92YWxpZGF0ZSk6IEZpeCBDKysgY29tcGlsZXIKCWVycm9ycy4KCShneHZfbW9yeF9zdWJ0YWJsZV90eXBlMl92YWxpZGF0ZSk6IERlY2xhcmUgd2l0aCBGVF9MT0NBTF9ERUYuCglGaXggdHlwby4KCgkqIGd4dmFsaWQvZ3h2bW9yeDQuYyAoZ3h2X21vcnhfc3VidGFibGVfdHlwZTRfdmFsaWRhdGUpOiBEZWNsYXJlCgl3aXRoIEZUX0xPQ0FMX0RFRi4KCgkqIGd4dmFsaWQvZ3h2bW9yeDUuYyAoZ3h2X21vcnhfc3VidGFibGVfdHlwZTVfaW5zZXJ0aW9uR2x5cGhfbG9hZCwKCWd4dl9tb3J4X3N1YnRhYmxlX3R5cGU1X3N1YnRhYmxlX3NldHVwKTogRml4IEMrKyBjb21waWxlciBlcnJvci4KCShneHZfbW9yeF9zdWJ0YWJsZV90eXBlNV92YWxpZGF0ZSk6IERlY2xhcmUgd2l0aCBGVF9MT0NBTF9ERUYuCgoJKiBneHZhbGlkL2d4dm1vcnguYyAoZ3h2X21vcnhfc3VidGFibGVzX3ZhbGlkYXRlLAoJZ3h2X21vcnhfdmFsaWRhdGUpOiBJbXByb3ZlIHRyYWNlIG1lc3NhZ2UuCgoJKiBneHZhbGlkL2d4dm9wYmQuYyAoZ3h2X29wYmRfTG9va3VwRm10NF90cmFuc2l0KTogRml4IGNvbXBpbGVyCgl3YXJuaW5ncy4KCShneHZfb3BiZF92YWxpZGF0ZSk6IEltcHJvdmUgdHJhY2UgbWVzc2FnZS4KCgkqIGd4dmFsaWQvZ3h2cHJvcC5jOiBEZWNvcmF0ZSBjb25zdGFudHMgd2l0aCBgVScgYW5kIGBMJyB3aGVyZQoJYXBwcm9wcmlhdGUuCgkoZ3h2X3Byb3BfemVyb19hZHZhbmNlX3ZhbGlkYXRlLCBneHZfcHJvcF92YWxpZGF0ZSk6IEltcHJvdmUgdHJhY2UKCW1lc3NhZ2UuCgoJKiBneHZhbGlkL2d4dnRyYWsuYyAoZ3h2X3RyYWtfdHJhY2tUYWJsZV92YWxpZGF0ZSk6IFJlbW92ZSB1bnVzZWQKCXBhcmFtZXRlci4gIFVwZGF0ZSBhbGwgY2FsbGVycy4KCShneHZfdHJha192YWxpZGF0ZSk6IEltcHJvdmUgdHJhY2UgbWVzc2FnZS4KCgkqIHJ1bGVzLm1rIChHWFZfRFJWX0gpOiBBZGQgZ3h2ZmVhdC5oLgoKMjAwNS0wOS0wMSAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL2d4dmFsaWQvZ3h2YnNsbi5jIChHWFZfQlNMTl9WQUxVRV9FTVBUWSk6IEFkZCBgVScuCgoJKiBzcmMvZ3h2YWxpZC9neG1vcnQxLmMgKEdYVl9NT1JUX1NVQlRBQkxFX1RZUEUxX0hFQURFUl9TSVpFKSwKCXNyYy9neHZhbGlkL2d4bW9ydDIuYyAoR1hWX01PUlRfU1VCVEFCTEVfVFlQRTJfSEVBREVSX1NJWkUpOiBGaXgKCXR5cG8uCgoJKiBzcmMvZ3h2YWxpZC9neHZtb3J4MC5jLCBzcmMvZ3h2YWxpZC9neHZtb3J4MS5jLAoJc3JjL2d4dmFsaWQvZ3h2bW9yeDIuYywgc3JjL2d4dmFsaWQvZ3h2bW9yeDQuYywKCXNyYy9neHZhbGlkL2d4dm1vcng1LmMsIHNyYy9neHZhbGlkL2d4dm1vcnQuYzogSW1wcm92ZSB0cmFjZQoJbWVzc2FnZXMuCglEZWNvcmF0ZSBjb25zdGFudHMgd2l0aCBgVScgYW5kIGBMJyB3aGVyZSBhcHByb3ByaWF0ZS4KCUZpeCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDUtMDgtMzEgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIHNyYy90cnVldHlwZS90dGdsb2FkLmMgKGxvYWRfdHJ1ZXR5cGVfZ2x5cGgpOiBGaXggdHlwby4KCgkqIHNyYy9neHZhbGlkL2d4dmJzbG4uYyAoZ3h2X2JzbG5fdmFsaWRhdGUpOiBGaXggdHJhY2UgbWVzc2FnZS4KCgkqIHNyYy9neHZhbGlkL2d4dmNvbW1uLmMgKGd4dl9vZHRlY3RfYWRkX3JhbmdlKTogVXNlIGBjb25zdCcuCgoJKiBzcmMvZ3h2YWxpZC9neHZmZWF0LmMsIHNyYy9neHZhbGlkL2d4dmp1c3QuYywKCXNyYy9neHZhbGlkL2d4dmtlcm4uYywgc3JjL2d4dmFsaWQvZ3h2bGNhci5jLCBzcmMvZ3h2YWxpZC9neHZtb2QuYywKCXNyYy9neHZhbGlkL2d4dm1vcnQwLmMsIHNyYy9neHZhbGlkL2d4dm1vcnQxLmMsCglzcmMvZ3h2YWxpZC9neHZtb3J0Mi5jLCBzcmMvZ3h2YWxpZC9neHZtb3J0NC5jLAoJc3JjL2d4dmFsaWQvZ3h2bW9ydDUuYywgc3JjL2d4dmFsaWQvZ3h2bW9ydC5jOiBJbXByb3ZlIHRyYWNlCgltZXNzYWdlcy4KCURlY29yYXRlIGNvbnN0YW50cyB3aXRoIGBVJyBhbmQgYEwnIHdoZXJlIGFwcHJvcHJpYXRlLgoJRml4IGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwNS0wOC0zMCAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL2d4dmFsaWQvUkVBRE1FOiBSZXZpc2VkLgoJKiBzcmMvZ3h2YWxpZC9neHZic2xuLmM6IEZpeCBjb21waWxlciB3YXJuaW5ncy4KCSogc3JjL2d4dmFsaWQvZ3h2Y29tbW4uYzogRml4IGNvbXBpbGVyIHdhcm5pbmdzLgoJKGd4dl9YRW50cnlUYWJsZV92YWxpZGF0ZSwgZ3h2X2NvbXBhcmVfcmFuZ2VzKTogUmVtb3ZlIHVudXNlZAoJcGFyYW1ldGVyLiAgVXBkYXRlIGFsbCBjYWxsZXJzLgoJSW1wcm92ZSB0cmFjZSBtZXNzYWdlcy4KCVNvbWUgZm9ybWF0dGluZy4KCjIwMDUtMDgtMjkgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIGluY2x1ZGUvZnJlZXR5cGUvZnJlZXR5cGUuaCwgaW5jbHVkZS9mcmVldHlwZS9mdGNoYXB0ZXJzLmg6IEFkZAoJYSBwcmVsaW1pbmFyeSBzZWN0aW9uIHdpdGggc29tZSBleHBsYW5hdGlvbnMgYWJvdXQgdXNlciBhbGxvY2F0aW9uLgoKCSogc3JjL3Rvb2xzL2RvY21ha2VyL3RvaHRtbC5weSAoSHRtbEZvcm1hdHRlci5zZWN0aW9uX2VudGVyKToKCURvbid0IGFib3J0IGlmIHRoZXJlIGFyZSBubyBkYXRhIHR5cGVzLCBmdW5jdGlvbnMsIGV0Yy4sIGluIGEKCXNlY3Rpb24uCglQcmludCBzeW5vcHNpcyBvbmx5IGlmIHdlIGhhdmUgYSBkYXRhIHR5cGUsIGZ1bmN0aW9uLCBldGMuCgoJKiBkb2NzL0lOU1RBTEwuQU5ZLCBkb2NzL0lOU1RBTEwsIGRvY3MvSU5TVEFMTC5VTlgsIGRvY3MvQ1VTVE9NSVpFLAoJZG9jcy9JTlNUQUxMLkdOVSwgZG9jcy9UUlVFVFlQRSwgZG9jcy9ERUJVRywgZG9jcy9VUEdSQURFLlVOWCwKCWRvY3MvVkVSU0lPTi5ETEwsIGRvY3MvZm9ybWF0cy50eHQ6IFJldmlzZWQsIGZvcm1hdHRlZC4KCjIwMDUtMDgtMjggIEdlb3JnZSBXaWxsaWFtcyAgPGd3d0BzaWxjb20uY29tPgoKCSogc3JjL3RydWV0eXBlL3R0Z2xvYWQuYyBbVFRfTUFYX0NPTVBPU0lURV9SRUNVUlNFXTogUmVtb3ZlZC4KCShsb2FkX3RydWV0eXBlX2dseXBoKTogTGltaXQgcmVjdXJzaW9uIGRlcHRoIGJ5IGBtYXhDb21wb25lbnREZXB0aCcuCgoyMDA1LTA4LTI1ICBKLiBBbGkgSGFybG93ICA8YWxpQGF2cmMuY2l0eS5hYy51az4KCgkqIGJ1aWxkcy91bml4L2ZyZWV0eXBlMi5pbiAoQ0ZsYWdzKTogQWRkIG1pc3NpbmcgZGlyZWN0b3J5LgoKMjAwNS0wOC0yNCAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogZG9jcy9DSEFOR0VTOiBNZW50aW9uIGd4dmFsaWQgbW9kdWxlLgoKMjAwNS0wOC0yMyAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL2F1dG9maXQvYWZsYXRpbi5jIChhZl9sYXRpbl9tZXRyaWNzX3NjYWxlKTogSW5pdGlhbGl6ZQoJcmVuZGVyIG1vZGUgcHJvcGVybHkuICBSZXBvcnRlZCBieSBjaHJpc0Bkb2tlaW4uY28udWsuCgoyMDA1LTA4LTIzICBzdXp1a2kgdG9zaGl5YSA8bXBzdXp1a2lAaGlyb3NoaW1hLXUuYWMuanA+CgoJQWRkIGd4dmFsaWQgbW9kdWxlIHRvIHZhbGlkYXRlIFRydWVUeXBlIEdYL0FBVCB0YWJsZXMuCgoJTW9kaWZpY2F0aW9ucyBvbiBleGlzdGluZyBmaWxlczoKCgkqIEphbWZpbGU6IFJlZ2lzdGVyIGd4dmFsaWQgbW9kdWxlLgoJKiBzcmMvYmFzZS9KYW1maWxlOiBSZWdpc3RlciBmdGd4dmFsLmMuCgkqIHNyYy9iYXNlL3J1bGUubWs6IFJlZ2lzdGVyIGZ0Z3h2YWwuYy4KCSogZG9jcy9JTlNUQUxMLkFOWTogUmVnaXN0ZXIgZ3h2YWxpZC9neHZhbGlkLmMuCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2NvbmZpZy9mdGhlYWRlci5oIChGVF9HWF9WQUxJREFURV9IKTogTmV3IG1hY3JvCgl0byBpbmNsdWRlIGd4dmFsaWQgaGVhZGVyIGZpbGUuCgkqIGluY2x1ZGUvZnJlZXR5cGUvY29uZmlnL2Z0bW9kdWxlLmg6IFJlZ2lzdGVyIGd4dl9tb2R1bGVfY2xhc3MuCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2Z0Y2hhcHRlcnMuaDogQWRkIGNvbW1lbnQgYWJvdXQgZ3hfdmFsaWRhdGlvbi4KCSogaW5jbHVkZS9mcmVldHlwZS9mdG90dmFsLmg6IENoYW5nZSBrZXl3b3JkIEZUX1ZBTElEQVRFX1hYWAoJdG8gRlRfVkFMSURBVEVfT1RYWFggdG8gY28tZXhpc3Qgd2l0aCBneHZhbGlkLgoJKiBpbmNsdWRlL2ZyZWV0eXBlL3R0dGFncy5oOiBBZGQgdGFncyBmb3IgVHJ1ZVR5cGUgR1gvQUFUIHRhYmxlcy4KCgkqIGluY2x1ZGUvZnJlZXR5cGUvaW50ZXJuYWwvZnRzZXJ2LmggKEZUX1NFUlZJQ0VfR1hfVkFMSURBVEVfSCk6IE5ldwoJbWFjcm8gZm9yIGd4dmFsaWQgc2VydmljZS4KCSogaW5jbHVkZS9mcmVldHlwZS9pbnRlcm5hbC9mdHRyYWNlLmg6IEFkZCB0cmFjZSBmYWNpbGl0aWVzIGZvcgoJZ3h2YWxpZC4KCglOZXcgZmlsZXMgb24gZXhpc3RpbmcgZGlyZWN0b3JpZXM6CgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL3NlcnZpY2VzL3N2Z3h2YWwuaDogUmVnaXN0cmF0aW9uIG9mCgl2YWxpZGF0aW9uIHNlcnZpY2UgZm9yIFRydWVUeXBlIEdYL0FBVCBhbmQgY2xhc3NpYyBrZXJuIHRhYmxlLgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2Z0Z3h2YWwuaDogUHVibGljIEFQSSBkZWZpbml0aW9uIHRvIHVzZSBneHZhbGlkLgoJKiBzcmMvYmFzZS9mdGd4dmFsLmM6IFB1YmxpYyBBUEkgb2YgZ3h2YWxpZC4KCglOZXcgZmlsZXMgdW5kZXIgc3JjL2d4dmFsaWQvOgoKCSogc3JjL2d4dmFsaWQvSmFtZmlsZSBzcmMvZ3h2YWxpZC9SRUFETUUgc3JjL2d4dmFsaWQvbW9kdWxlLm1rCglzcmMvZ3h2YWxpZC9ydWxlcy5tayBzcmMvZ3h2YWxpZC9neHZhbGlkLmMgc3JjL2d4dmFsaWQvZ3h2YWxpZC5oCglzcmMvZ3h2YWxpZC9neHZic2xuLmMgc3JjL2d4dmFsaWQvZ3h2Y29tbW4uYyBzcmMvZ3h2YWxpZC9neHZjb21tbi5oCglzcmMvZ3h2YWxpZC9neHZlcnJvci5oIHNyYy9neHZhbGlkL2d4dmZlYXQuYyBzcmMvZ3h2YWxpZC9neHZmZ2VuLmMKCXNyYy9neHZhbGlkL2d4dmp1c3QuYyBzcmMvZ3h2YWxpZC9neHZrZXJuLmMgc3JjL2d4dmFsaWQvZ3h2bGNhci5jCglzcmMvZ3h2YWxpZC9neHZtb2QuYyBzcmMvZ3h2YWxpZC9neHZtb2QuaCBzcmMvZ3h2YWxpZC9neHZtb3J0LmMKCXNyYy9neHZhbGlkL2d4dm1vcnQuaCBzcmMvZ3h2YWxpZC9neHZtb3J0MC5jIHNyYy9neHZhbGlkL2d4dm1vcnQxLmMKCXNyYy9neHZhbGlkL2d4dm1vcnQyLmMgc3JjL2d4dmFsaWQvZ3h2bW9ydDQuYyBzcmMvZ3h2YWxpZC9neHZtb3J0NS5jCglzcmMvZ3h2YWxpZC9neHZtb3J4LmMgc3JjL2d4dmFsaWQvZ3h2bW9yeC5oIHNyYy9neHZhbGlkL2d4dm1vcngwLmMKCXNyYy9neHZhbGlkL2d4dm1vcngxLmMgc3JjL2d4dmFsaWQvZ3h2bW9yeDIuYyBzcmMvZ3h2YWxpZC9neHZtb3J4NC5jCglzcmMvZ3h2YWxpZC9neHZtb3J4NS5jIHNyYy9neHZhbGlkL2d4dm9wYmQuYyBzcmMvZ3h2YWxpZC9neHZwcm9wLmMKCXNyYy9neHZhbGlkL2d4dnRyYWsuYzogTmV3IGZpbGVzLCBneHZhbGlkIGJvZHkuCgoyMDA1LTA4LTIxICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBzcmMvdHJ1ZXR5cGUvdHRnbG9hZC5jIChUVF9Mb2FkX0dseXBoKTogT25seSB0cmFuc2xhdGUgb3V0bGluZQoJdG8gKDAsMCkgaWYgYml0IDEgb2YgdGhlIGBoZWFkJyB0YWJsZSBpc24ndCBzZXQuICBUaGlzIGltcHJvdmVzCglyZW5kZXJpbmcgb2YgYnVnZ3kgZm9udHMuCgoyMDA1LTA4LTIwICBDaGlhIEkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy90cnVldHlwZS90dGRyaXZlci5jIChMb2FkX0dseXBoKTogRG9uJ3QgY2hlY2sgdGhlIHZhbGlkaXR5IG9mCgl0dG1ldHJpY3MgaGVyZS4gIFRydWVUeXBlIGZvbnRzIHdpdGggb25seSBzYml0cyBhbHdheXMgaGF2ZQoJdHRtZXRyaWNzLnZhbGlkIHNldCB0byBmYWxzZS4KCgkqIHNyYy90cnVldHlwZS90dGdsb2FkLmMgKFRUX0xvYWRfR2x5cGgpOiBDaGVjayB0aGF0IHR0bWV0cmljcyBpcwoJdmFsaWQgYmVmb3JlIGxvYWRpbmcgb3V0bGluZSBnbHlwaC4KCgkqIHNyYy9jYWNoZS9mdGNpbWFnZS5jIChGVENfSU5vZGVfTmV3KTogRml4IGEgbWVtb3J5IGxlYWsuCgoyMDA1LTA4LTIwICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBzcmMvc2ZudC90dGxvYWQuYyAodHRfZmFjZV9sb2FkX21ldHJpY3NfaGVhZGVyKTogSWdub3JlIG1pc3NpbmcKCWBoaGVhJyB0YWJsZSBmb3IgU0ZOVCBNYWMgZm9udHMuICBDaGFuZ2UgYmFzZWQgb24gYSBwYXRjaCBieQoJbXBzdXp1a2lAaGlyb3NoaW1hLXUuYWMuanAuCgoyMDA1LTA4LTIwICBNYXNhdGFrZSBZQU1BVE8gIDxqZXRAZ3l2ZS5vcmc+CgoJKiBzcmMvb3R2YWxpZC9vdHZtb2QuYyAob3R2X3ZhbGlkYXRlKTogVXNlIGZ0X3ZhbGlkYXRvcl9ydW4gaW5zdGVhZAoJb2YgZnRfc2V0am1wLgoKMjAwNS0wOC0xOSAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL3RydWV0eXBlL3R0Z2xvYWQuYyAobG9hZF90cnVldHlwZV9nbHlwaCk6IEZpeCBjb21waWxlcgoJd2FybmluZ3MuCgoyMDA1LTA4LTE2ICBDaGlhIEkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy90cnVldHlwZS90dGludGVycC5jLCBzcmMvdHJ1ZXR5cGUvdHRpbnRlcnAuaDogVXBkYXRlIGNvcHlyaWdodAoJbWVzc2FnZXMuCgoyMDA1LTA4LTE2ICBDaGlhIEkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy90cnVldHlwZS90dGludGVycC5jLCBzcmMvdHJ1ZXR5cGUvdHRpbnRlcnAuaDogUmVtb3ZlIG9yaWdpbmFsCglUVF9Eb25lX0NvbnRleHQgYW5kIHJlbmFtZSBUVF9EZXN0cm95X0NvbnRleHQgdG8gVFRfRG9uZV9Db250ZXh0Cgl3aXRoIHNsaWdodCBjaGFuZ2VzLgoJVXBkYXRlIGFsbCBjYWxsZXJzLgoJKFRUX05ld19Db250ZXh0KTogTm93IHRha2VzIFRUX0RyaXZlciBhcmd1bWVudCBkaXJlY3RseS4KCVVwZGF0ZSBhbGwgY2FsbGVycy4KCgkqIHNyYy90cnVldHlwZS90dG9ianMuaCAodHRfc2xvdF9pbml0KTogTmV3IGZ1bmN0aW9uLgoJKiBzcmMvdHJ1ZXR5cGUvdHRvYmpzLmMgKHR0X2RyaXZlcl9pbml0KTogSW5pdGlhbGl6ZSBleGVjdXRpb24KCWNvbnRleHQgaGVyZS4KCSh0dF9zbG90X2luaXQpOiBOZXcgZnVuY3Rpb24gdG8gY3JlYXRlIGV4dHJhIHBvaW50cyBmb3IgdGhlIGludGVybmFsCglnbHlwaCBsb2FkZXIuICBXZSB0aGVuIHVzZSBpdCBkaXJlY3RseSwgaW5zdGVhZCBvZiBmYWNlJ3MgZ2x5cGgKCWxvYWRlciwgd2hlbiBsb2FkaW5nIGdseXBoLgoKCSogc3JjL3RydWV0eXBlL3R0ZHJpdmVyLmMgKHR0X2RyaXZlcl9jbGFzcyk6IFVzZSB0dF9zbG90X2luaXQgZm9yCglnbHlwaCBzbG90IGluaXRpYWxpemF0aW9uLgoJKExvYWRfR2x5cGgpOiBMb2FkIGZsYWcgZGVwZW5kZW5jaWVzIGFyZSBoYW5kbGVkIGhlcmUuICBSZXR1cm4gZXJyb3IKCWlmIHNpemUgaXMgTlVMTC4KCgkqIHNyYy90cnVldHlwZS90dGdsb2FkLmM6IEhlYXZ5IGNsZWFudXAgYW5kIHJlZmFjdG9yaW5nLgoJKG9yZ190b19jdXIpOiBSZW1vdmVkLgoJKFRUX0xvYWRfU2ltcGxlX0dseXBoKTogQ2FsbCBGVF9HbHlwaExvYWRlcl9DaGVja1BvaW50cy4KCShUVF9IaW50X0dseXBoKTogTmV3IGZ1bmNpb24gdG8gaGludCBhIHpvbmUsIHByZXBhcmVkIGJ5IGNhbGxlci4KCShUVF9Qcm9jZXNzX1NpbXBsZV9HbHlwaCk6IHMvbG9hZC9sb2FkZXIvLgoJVXNlIGxvYWRlci0+cHAgdmFsdWVzIGluc3RlYWQgb2YgcmVjYWxjdWxhdGlvbi4KCVVzZSBUVF9IaW50X0dseXBoLgoJTm8gbmVlZCB0byBzYXZlL3Jlc3RvcmUgbG9hZGVyLT5zdHJlYW0gYmVmb3JlIGFuZCBhZnRlcgoJVFRfVmFyeV9HZXRfR2x5cGhfRGVsdGFzIG5vdy4KCShUVF9MT0FERVJfU0VUX1BQKTogTmV3IG1hY3JvIHRvIGNhbGN1bGF0ZSBhbmQgc2V0IHRoZSBmb3VyIHBoYW50b20KCXBvaW50cy4KCShsb2FkX3RydWV0eXBlX2dseXBoKTogTmV2ZXIgc2V0IGV4ZWMtPmdseXBoU2l6ZSB0byAwLiAgVGhpcyBjbG9zZXMKCVNhdmFubmFoIGJ1ZyAjMTMxMDcuCglGb3JnZXQgZ2x5cGggZnJhbWUgYmVmb3JlIGNhbGxpbmcgVFRfUHJvY2Vzc19TaW1wbGVfR2x5cGguCglVc2UgVFRfTE9BREVSX1NFVF9QUC4KCVNjYWxlIGFsbCBmb3VyIHBoYW50b20gcG9pbnRzLgoJU3BsaXQgb2ZmIHNvbWUgZnVuY3Rpb25hbGl0eSB0byAuLi4KCShUVF9Qcm9jZXNzX0NvbXBvc2l0ZV9Db21wb25lbnQsIFRUX1Byb2Nlc3NfQ29tcG9zaXRlX0dseXBoKTogVGhlc2UKCW5ldyBmdW5jdGlvbnMuCgkoVFRfTG9hZF9HbHlwaCk6IFNldCB2YXJpb3VzIGZpZWxkcyBvZiBgZ2x5cGgnIGhlcmUsIG5vdCBpbgoJbG9hZF90cnVldHlwZV9nbHlwaCBhbmQgY29tcHV0ZV9nbHlwaF9tZXRyaWNzLgoJU3BsaXQgb2ZmIHNvbWUgZnVuY3Rpb25hbGl0eSB0byAuLi4KCShsb2FkX3NiaXRfaW1hZ2UsIHR0X2xvYWRlcl9pbml0KTogVGhlc2UgbmV3IGZ1bmN0aW9ucy4KCShjb21wdXRlX2dseXBoX21ldHJpY3MpOiBDYWxsIEZUX091dGxpbmVfR2V0X0NCb3guCgoyMDA1LTA4LTA4ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBkb2NzL0lOU1RBTEwuQU5ZOiBVcGRhdGVkLgoKMjAwNS0wOC0wNSAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL2NmZi9jZmZnbG9hZC5jIChjZmZfYnVpbGRlcl9jbG9zZV9jb250b3VyKSwKCXNyYy9wc2F1eC9wc29ianMuYyAodDFfYnVpbGRlcl9jbG9zZV9jb250b3VyKTogUHJvdGVjdCBhZ2FpbnN0Cgl6ZXJvIGBvdXRsaW5lJyBwb2ludGVyLgoKCSogc3JjL2Jhc2UvZnRnbG9hZHIuYyAoRlRfR2x5cGhMb2FkZXJfQWRkKTogUHJvdGVjdCBhZ2FpbnN0IHplcm8KCWBsb2FkZXInIGFkZHJlc3MuCgoyMDA1LTA4LTAzICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBzcmMvc2ZudC9zZmRyaXZlci5jIChzZm50X2ludGVyZmFjZSkgW0ZUX09QVElNSVpFX01FTU9SWV06CglSZWFjdGl2YXRlIHBvaW50ZXJzIHRvIHR0X2ZpbmRfc2JpdF9pbWFnZSBhbmQgdHRfbG9hZF9zYml0X21ldHJpY3MKCXRvIG1ha2UgWCB3b3JrIGFnYWluLgoKMjAwNS0wOC0wMiAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL290dmFsaWQvb3R2Y29tbW4uaDogUmVtb3ZlIGRlYWQgY29kZS4KCjIwMDUtMDctMzEgIENoaWEgSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogc3JjL3RydWV0eXBlL3R0b2Jqcy5oICh0dF9zaXplX3J1bl9mcGdtLCB0dF9zaXplX3J1bl9wcmVwKTogTmV3CglmdW5jdGlvbnMuCgoJKiBzcmMvdHJ1ZXR5cGUvdHRvYmpzLmMgKHR0X3NpemVfcnVuX2ZwZ20sIHR0X3NpemVfcnVuX3ByZXApOiBOZXcKCWZ1bmN0aW9ucy4KCSh0dF9zaXplX2luaXQpOiBBZGQgNCwgaW5zdGVhZCBvZiAyLCAocGhhbnRvbSkgcG9pbnRzIHRvIHR3aWxpZ2h0Cgl6b25lLgoJTW92ZSBjb2RlIHRoYXQgcnVucyBmcGdtIHRvIHR0X3NpemVfcnVuX2ZwZ20uCgkoUmVzZXRfT3V0bGluZV9TaXplKTogTW92ZSBjb2RlIHRoYXQgcnVucyBwcmVwIHRvIHR0X3NpemVfcnVuX3ByZXAuCgkodHRfZ2x5cGh6b25lX25ldyk6IEFsbG9jYXRlIHJpZ2h0IHNpemUgb2YgYXJyYXlzLgoJU2V0IG1heF9wb2ludHMgYW5kIG1heF9jb250b3VycyBwcm9wZXJseS4KCjIwMDUtMDctMjYgIENoaWEgSSBXdSAgPGI5MDIwMTA0N0BudHUuZWR1LnR3PgoKCSogc3JjL3RydWV0eXBlL3R0ZHJpdmVyLmMgKFNldF9DaGFyX1NpemVzKTogQXZvaWQgdW5uZWNlc3NhcnkKCWNvbXB1dGF0aW9ucyBhbmQgY2xlYW4gdXAuCgoJKiBzcmMvdHJ1ZXR5cGUvdHRvYmpzLmggKHN0cnVjdCBUVF9TaXplUmVjXyk6IENvbW1lbnQgb24gdGhlCglpbnRlcm5hbCBjb3B5IG9mIG1ldHJpY3MuCgoyMDA1LTA3LTEyICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2Z0b3V0bG4uaCAoRlRfT3V0bGluZV9FbWJvbGRlbik6IEZpeCBwcm90b3R5cGUuCglSZXBvcnRlZCBieSBYZXJ4ZXMuCgoyMDA1LTA3LTA0ICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL2Z0bWVtb3J5LmggKEZUX1JFQUxMT0NfQVJSQVkpOiBGaXggdHlwby4KCVJlcG9ydGVkIGJ5IEJyZXR0IEh1dGxleS4KCjIwMDUtMDYtMzAgIERhdmlkIFR1cm5lciAgPGRhdmlkQGZyZWV0eXBlLm9yZz4KCgkqIHNyYy9zZm50L2Z0Yml0bWFwLmMsIHNyYy90cnVldHlwZS90dGdsb2FkLmMsIHNyYy9zZm50L3R0Y21hcC5jOgoJUmVtb3ZpbmcgY29tcGlsZXIgd2FybmluZ3MgKFZpc3VhbCBDKysgL1c0KS4KCgoJSW1wbGVtZW50IGEgd29yay1hcm91bmQgZm9yIGJyb2tlbiBDIHByZXByb2Nlc3NvciBpbiBWaXN1YWwgQysrIChpdAoJaGFzIGJlZW4gY29uZmlybWVkIGJ5IHRoZSBNUyBkZXZlbG9wZXJzIHRoYXQgaXQgaXMgaW5kZWVkIGEgYnVnCgl3aGljaCB3b24ndCBiZSBmaXhlZCBpbiB0aGUgdmVyeSBuZWFyIGZ1dHVyZSkuCgoJKiBKYW1maWxlIChGVDJfQ09NUE9ORU5UUyk6IEluY2x1ZGUgb3R2YWxpZCAoYWdhaW4pLgoKCSogc3JjL290dmFsaWQvb3R2Y29tbW4uaCAoT1RWX05BTUUsIE9UVl9GVU5DKTogTmV3IG1hY3Jvcy4KCShPVFZfTkVTVDEsIE9UVl9ORVNUMiwgT1RWX05FU1QzKTogVXNlIE9UVl9OQU1FIGFuZCBPVFZfRlVOQyB0bwoJYXZvaWQgYXJndW1lbnQgZXhwYW5zaW9uIGJ5IGFyZ3VtZW50IHByZXNjYW4uCglBcHBlbmQgYEZ1bmMnIHRvIGFsbCBhZmZlY3RlZCBtYWNyb3MgYW5kIGNoYW5nZSB0aGVtIHRvIHRha2UganVzdCBhCglzaW5nbGUgYXJndW1lbnQuICBFeGFtcGxlOiBgQXR0YWNoTGlzdCcgaXMgcmVuYW1lZCB0bwoJYEF0dGFjaExpc3RGdW5jJy4KCgkqIHNyYy9vdHZhbGlkL290dmdkZWYuYywgc3JjL290dmFsaWQvb3R2Z3Bvcy5jLAoJc3JjL290dmFsaWQvb3R2Z3N1Yi5jLCBzcmMvb3R2anN0Zi5jOiBBcHBlbmQgYEZ1bmMnIHRvIG1hY3JvcwoJYWZmZWN0ZWQgYnkgdGhlIGNoYW5nZXMgdG8gT1RWX05FU1R4IGFuZCBtb2RpZnkgdGhlbSB0byB0YWtlIGp1c3QgYQoJc2luZ2xlIGFyZ3VtZW50LgoKMjAwNS0wNi0yMCAgQ2hpYSBJIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2ludGVybmFsL2Z0b2Jqcy5oLCBzcmMvYmFzZS9mdG9ianMuYzogTmV3IGZ1bmN0aW9uCglmdF9nbHlwaHNsb3RfZ3JpZF9maXRfbWV0cmljcy4KCgkqIHNyYy90cnVldHlwZS90dGdsb2FkLmMgKGNvbXB1dGVfZ2x5cGhfbWV0cmljcyk6IFVzZQoJZnRfZ2x5cGhzbG90X2dyaWRfZml0X21ldHJpY3MuCgoJKiBzcmMvY2ZmL2NmZmdsb2FkLmMgKGNmZl9zbG90X2xvYWQpLCBzcmMvY2lkL2NpZGdsb2FkLmMKCShjaWRfc2xvdF9sb2FkX2dseXBoKSwgc3JjL3R5cGUxL3QxZ2xvYWQuYyAoVDFfTG9hZF9HbHlwaCk6IFVzZQoJZnRfZ2x5cGhzbG90X2dyaWRfZml0X21ldHJpY3MuCglGVF9PdXRsaW5lX0dldF9DQm94IGlzIGNhbGxlZCB0d2ljZS4KCgkqIHNyYy9iYXNlL2Z0c3ludGguYyAoRlRfR2x5cGhTbG90X0VtYm9sZGVuKTogTW9kaWZ5IG1ldHJpY3MgdG8gbW9yZQoJcmVhc29uYWJsZSB2YWx1ZXMgd2hlbiBlbWJvbGRlbmluZyBvdXRsaW5lIGdseXBocy4gIFRoZSB0aGVvcmV0aWMKCW9uZXMgYXJlIHVucmVhbGlzdGljLgoKMjAwNS0wNi0xNiAgQ2hpYSBJIFd1ICA8YjkwMjAxMDQ3QG50dS5lZHUudHc+CgoJKiBzcmMvYmFzZS9mdG91dGxuLmMgKEZUX091dGxpbmVfRW1ib2xkZW4pOiBTdHJlbmd0aCBzaG91bGQgYmUKCWhhbHZlZC4KCgkqIHNyYy9iYXNlL2Z0c3ludGguYyAoRlRfR2x5cGhTbG90X0VtYm9sZGVuKTogQ2hhbmdlIHRoZSBkZWZhdWx0CglzdHJlbmd0aC4KCURvbid0IGluY3JlYXNlIHNsb3QtPmFkdmFuY2UueS4KCjIwMDUtMDYtMTYgIFdlcm5lciBMZW1iZXJnICA8d2xAZ251Lm9yZz4KCgkqIGluY2x1ZGUvZnJlZXR5cGUvZnJlZXR5cGUuaCAoRlJFRVRZUEVfTUlOT1IpOiBTZXQgdG8gMi4KCShGUkVFVFlQRV9QQVRDSCk6IFNldCB0byAwLgoKCSogYnVpbGRzL3VuaXgvY29uZmlndXJlLmFjICh2ZXJzaW9uX2luZm8pOiBTZXQgdG8gOTo5OjMuCglDdXJyZW50bHksIHdlIGFyZSBzdGlsbCBiaW5hcnkgY29tcGF0aWJsZS4KCgkqIGJ1aWxkcy93aW4zMi92aXN1YWxjL2luZGV4Lmh0bWwsCglidWlsZHMvd2luMzIvdmlzdWFsYy9mcmVldHlwZS5kc3AsCglidWlsZHMvd2luMzIvdmlzdWFsYy9mcmVldHlwZS52Y3Byb2o6IHMvMjE5LzIxMTAvLCBzLzIuMS45LzIuMS4xMC8uCgoJKiBidWlsZHMvZnJlZXR5cGUubWsgKHJlZmRvYyksIFJFQURNRSwgSmFtZmlsZSAoUmVmRG9jKToKCXMvMi4xLjkvMi4xLjEwLy4KCgkqIGRvY3MvQ0hBTkdFUywgZG9jcy9WRVJTSU9OLkRMTDogVXBkYXRlZC4KCgkqIENoYW5nZUxvZzogU3BsaXQgb2ZmIG9sZGVyIGVudHJpZXMgaW50by4uLgoJKiBDaGFuZ2VMb2cuMjAsIENoYW5nZUxvZy4yMTogVGhlc2UgbmV3IGZpbGVzLgoKMjAwNS0wNi0xNSAgS2lyaWxsIFNtZWxrb3YgIDxraXJyQG1ucy5zcGIucnU+CgoJVGhlIG5leHQgcmVsZWFzZSB3aWxsIGJlIDIuMi4wLCBzbyBkb24ndCB3b3JyeSBhYm91dCBzb3VyY2UgY29kZQoJYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCgoJKiBpbmNsdWRlL2ZyZWV0eXBlL2Z0aW1hZ2UuaCAoRlRfT3V0bGluZV9Nb3ZlVG9GdW5jLAoJRlRfT3V0bGluZV9MaW5lVG9GdW5jLCBGVF9PdXRsaW5lX0NvbmljVG9GdW5jLAoJRlRfT3V0bGluZV9DdWJpY1RvRnVuYywgRlRfU3BhbkZ1bmMsIEZUX1Jhc3Rlcl9SZW5kZXJGdW5jKSwKCWluY2x1ZGUvZnJlZXR5cGUvZnRyZW5kZXIuaCAoRlRfR2x5cGhfVHJhbnNmb3JtRnVuYywKCUZUX1JlbmRlcmVyX1JlbmRlckZ1bmMsIEZUX1JlbmRlcmVyX1RyYW5zZm9ybUZ1bmMpOiBEZWNvcmF0ZQoJcGFyYW1ldGVycyB3aXRoIGBjb25zdCcgd2hlcmUgYXBwcm9wcmlhdGUuCgoyMDA1LTA2LTE1ICBDaGlhIEkgV3UgIDxiOTAyMDEwNDdAbnR1LmVkdS50dz4KCgkqIHNyYy9zZm50L3R0c2JpdC5jICh0dF9mYWNlX2xvYWRfc2JpdF9pbWFnZSk6IENvbXB1dGUgdmVydEJlYXJpbmdZCgl0byBtYWtlIGdseXBocyBjZW50ZXJlZCB2ZXJ0aWNhbGx5LgoKCSogc3JjL3RydWV0eXBlL3R0Z2xvYWQuYyAoY29tcHV0ZV9nbHlwaF9tZXRyaWNzKTogQ29tcHV0ZQoJdmVydEJlYXJpbmdZIHRvIG1ha2UgZ2x5cGhzIGNlbnRlcmVkIHZlcnRpY2FsbHkuCglGaXggc29tZSBidWdzIGluIHZlcnRpY2FsIG1ldHJpY3M6CgoJICAuIGxvYWRlci0+cHAzLnkgYW5kIGxvYWRlci0+cHA0LnkgYXJlIGluIDI2LjYgZm9ybWF0LCBub3QgaW4gZm9udAoJICAgIHVuaXRzLgoJICAuIEFzIHdlIHVzZSB0aGUgZ2x5cGgncyBjYm94IHRvIGNhbGN1bGF0ZSB0aGUgdG9wIGJlYXJpbmcgbm93CgkgICAgdGhlcmUgaXNzIG5vIG5lZWQgdG8gYWRqdXN0IGB0b3AnLgoKMjAwNS0wNi0xNSAgV2VybmVyIExlbWJlcmcgIDx3bEBnbnUub3JnPgoKCSogc3JjL290dmFsaWQvb3R2Y29tbW4uaCAoT1RWX09QVElPTkFMX1RBQkxFKTogVXNlIEZUX1VTaG9ydCB0byBiZQoJaW4gc3luYyB3aXRoIE9UVl9PUFRJT05BTF9PRkZTRVQuICBSZXBvcnRlZCBieSBZQU1BVE8gTWFzYXRha2UuCgoyMDA1LTA2LTEzICBXZXJuZXIgTGVtYmVyZyAgPHdsQGdudS5vcmc+CgoJKiBkb2NzL3JlbGVhc2U6IFVwZGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkNvcHlyaWdodCAyMDA1IGJ5CkRhdmlkIFR1cm5lciwgUm9iZXJ0IFdpbGhlbG0sIGFuZCBXZXJuZXIgTGVtYmVyZy4KClRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBGcmVlVHlwZSBwcm9qZWN0LCBhbmQgbWF5IG9ubHkgYmUgdXNlZCwgbW9kaWZpZWQsCmFuZCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEZyZWVUeXBlIHByb2plY3QgbGljZW5zZSwKTElDRU5TRS5UWFQuICBCeSBjb250aW51aW5nIHRvIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgZmlsZSB5b3UKaW5kaWNhdGUgdGhhdCB5b3UgaGF2ZSByZWFkIHRoZSBsaWNlbnNlIGFuZCB1bmRlcnN0YW5kIGFuZCBhY2NlcHQgaXQKZnVsbHkuCgoKTG9jYWwgVmFyaWFibGVzOgp2ZXJzaW9uLWNvbnRyb2w6IG5ldmVyCmNvZGluZzogbGF0aW4tMQpFbmQ6Cg==