MjAwNy0wNy0xOSAgUmVsZWFzZSBNYW5hZ2VyCgoJKiBHQ0MgNC4yLjEgcmVsZWFzZWQuCgoyMDA3LTA1LTEzICBSZWxlYXNlIE1hbmFnZXIKCgkqIEdDQyA0LjIuMCByZWxlYXNlZC4KCjIwMDctMDUtMTMgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnZW5uZXdzIChmaWxlcyk6IFJlZmVyZW5jZSBHQ0MgNC4yIHdlYiBwYWdlcy4KCjIwMDctMDQtMDQgIEVyaWMgQ2hyaXN0b3BoZXIgIDxlY2hyaXN0b0BhcHBsZS5jb20+CgoJQmFja3BvcnQgZnJvbSBtYWlubGluZToKCTIwMDctMDQtMDQgIFphY2sgV2VpbmJlcmcgIDx6YWNrQG1ydG9jay51Y3NkLmVkdT4KCiAgICAgICAgKiB0ZXhpMnBvZC5wbDogQ29ycmVjdCBoYW5kbGluZyBvZiBAaXRlbWl6ZSB3aXRoIG5vIGFyZ3VtZW50LgoKICAgICAgICAyMDA3LTAyLTE2ICBNYXR0aGlhcyBLbG9zZSAgPGRva29AZGViaWFuLm9yZz4KCiAgICAgICAgKiB0ZXhpMnBvZC5wbDogSGFuZGxlIEBzdWJzdWJzZWN0aW9uLCBpZ25vcmUgQGFuY2hvci4KCiAgICAgICAgMjAwNy0wMi0wNiAgUmljaGFyZCBTYW5kaWZvcmQgIDxyaWNoYXJkQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB0ZXhpMnBvZC5wbDogSGFuZGxlIEBtdWx0aXRhYmxlLgoKMjAwNi0wOS0yNyAgTWF0dGhldyBTYWNocyAgPG1zYWNoc0BhcHBsZS5jb20+CgoJKiBjb21wYXJlU3VtVGVzdHMzOiBQT0Qgc3ludGF4IGZpeC4KCjIwMDYtMDktMjcgIE1hdHRoZXcgU2FjaHMgIDxtc2FjaHNAYXBwbGUuY29tPgoKCSogZGdsaWIucG06IEluaXRpYWwgY29tbWl0LgoJKiBjb21wYXJlU3VtVGVzdHMzOiBJbml0aWFsIGNvbW1pdC4KCjIwMDYtMDktMTggIEJlcm5oYXJkIEZpc2NoZXIgIDxhbGRvdEBnY2MuZ251Lm9yZz4KCgkqIGRnLWNtcC1yZXN1bHRzLnNoIChjb21wYXJlLSQkLmF3ayk6IFByaW50IG5hbWVbb2xkXQoJYW5kIG5vdCBub24tZXhpc3Rpbmcgbm1bb2xkXS4KCjIwMDYtMDctMDYgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgoKCVBvcnQgdG8gaG9zdHMgd2hvc2UgJ3NvcnQnIGFuZCAndGFpbCcgaW1wbGVtZW50YXRpb25zCgl0cmVhdCBvcGVyYW5kcyB3aXRoIGxlYWRpbmcgJysnIGFzIGZpbGUgbmFtZXMsIGFzIFBPU0lYCgloYXMgcmVxdWlyZWQgc2luY2UgMjAwMS4gIEhvd2V2ZXIsIG1ha2Ugc3VyZSB0aGUgY29kZSBzdGlsbAoJd29ya3Mgb24gcHJlLVBPU0lYIGhvc3RzLgoJKiBjb21wYXJlX3Rlc3RzOiBEb24ndCBhc3N1bWUgInNvcnQgKzIiIGlzIGVxdWl2YWxlbnQgdG8KCSJzb3J0IC1rIDMiLCBzaW5jZSBQT1NJWCAxMDAzLjEtMjAwMSBubyBsb25nZXIgcmVxdWlyZXMgdGhpcy4KCjIwMDYtMDYtMDUgIEphbWVzIExlbWtlICA8andsZW1rZUB3YXNhYmlzeXN0ZW1zLmNvbT4KCgkqIGRnLWNtcC1yZXN1bHRzLnNoOiBOZXcgc2NyaXB0IGZvciBjb21wYXJpbmcgRGVqYUdOVSBsb2dzLgoKMjAwNi0wNi0wMiAgUmljaGFyZCBFYXJuc2hhdyAgPHJlYXJuc2hhQGFybS5jb20+CgkgICAgTWlrZSBTdHVtcCAgPG1yc0BhcHBsZS5jb20+CgoJKiBjb21wYXJlX3Rlc3RzOiBIYW5kbGUgbXVsdGlsaWJzIGJldHRlci4KCjIwMDYtMDUtMzEgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB0ZXhpMnBvZC5wbDogQ29ycmVjdCBoYW5kbGluZyBvZiBhYnNvbHV0ZSBAaW5jbHVkZS4KCjIwMDYtMDUtMDIgIERhbmllbCBKYWNvYm93aXR6ICA8ZGFuQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB0ZXhpMnBvZC5wbDogSGFuZGxlIC1JLgoKMjAwNi0wMi0yOCAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdlbm5ld3MgKGZpbGVzKTogVXBkYXRlIGZvciBHQ0MgNC4xLgoKMjAwNi0wMS0yNCAgRGllZ28gTm92aWxsbyAgPGRub3ZpbGxvQHJlZGhhdC5jb20+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogSGFuZGxlCglsaWJnb21wL3Rlc3RzdWl0ZS9NYWtlZmlsZS5pbi4KCjIwMDYtMDEtMTggIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgkgICAgRGllZ28gTm92aWxsbyAgPGRub3ZpbGxvQHJlZGhhdC5jb20+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogQWRkIGxpYmdvbXAgZmlsZXMuCgoyMDA1LTEyLTA2ICBCZW4gRWxsaXN0b24gIDxiamVAYXUuaWJtLmNvbT4KCgkqIG5ld2N2c3Jvb3Q6IFJlbW92ZS4KCjIwMDUtMTEtMDMgIFN0ZXZlbiBCb3NzY2hlciAgPHN0ZXZlbmJAc3VzZS5kZT4KCgkqIGdjY19idWlsZDogRml4IG15IHByZXZpb3VzIGNoZWNraW5nLgoKMjAwNS0xMS0wMSAgSm9zZXBoIFMuIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfdXBkYXRlOiBJbmNsdWRlIHJldmlzaW9uIG51bWJlciBpbiBMQVNUX1VQREFURUQuCgoyMDA1LTEwLTMwICBTdGV2ZW4gQm9zc2NoZXIgIDxzdGV2ZW5iQHN1c2UuZGU+CgoJKiBnY2NfYnVpbGQ6IFVzZSBnY2MuZ251Lm9yZyBhcyB0aGUgZGVmYXVsdCBzZXJ2ZXIuICBTZXQgdXAKCVNWTl9SRVBPU0lUT1JZIGNvcnJlY3RseS4gIEFkZCBzdXBwb3J0IGZvciBjaGVja2luZyBvdXQgYnJhbmNoZXMuCgoyMDA1LTEwLTI4ICBBbmRyZXcgUGluc2tpICA8cGluc2tpYUBnY2MuZ251Lm9yZz4KCgkqIGdjY191cGRhdGU6IFdoZW4gc3ZuIHVwZGF0ZSBpcyBjYWxsZWQgYW5kCgktLXNpbGVudCBpcyB1c2VkLCBwYXNzIC1xLgoKMjAwNS0xMC0yOCAgQW5kcmV3IFBpbnNraSAgPHBpbnNraWFAZ2NjLmdudS5vcmc+CgoJKiBnY2NfdXBkYXRlOiBSZW1vdmUgdGhlIC1xIGZyb20gc3ZuIGludm9jYXRpb24uCgoyMDA1LTEwLTI4ICBBbmRyZXcgUGluc2tpICA8cGluc2tpYUBnY2MuZ251Lm9yZz4KCgkqIGdjY19idWlsZDogUmVtb3ZlIC1kIGZyb20gdGhlIGNhbGwgdG8gZ2NjX3VwZGF0ZS4KCjIwMDUtMTAtMjggIERhbmllbCBCZXJsaW4gIDxkYmVybGluQGRiZXJsaW4ub3JnPgoJICAgIEJlbiBFbGxpc3RvbiA8YmplQGF1MS5pYm0uY29tPgoKCSogZ2NjX3VwZGF0ZTogVXBkYXRlIGZvciBzdm4uCgkqIG5ld2N2c3Jvb3Q6IERpdHRvLgoJKiBnY2NfYnVpbGQ6IERpdHRvLgoKMjAwNS0xMC0yMSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIHRleGkycG9kLnBsOiBTdWJzdGl0dWUgZm9yIEB2YWx1ZSBldmVuIHdoZW4gcGFydCBvZiBAaW5jbHVkZS4KCjIwMDUtMTAtMjEgIEJvYiBXaWxzb24gIDxib2Iud2lsc29uQGFjbS5vcmc+CgoJKiB0ZXhpMnBvZC5wbDogQ29udmVydCB0d28gc2luZ2xlIHF1b3RlcyBvciB0d28gYmFja3F1b3RlcyB0bwoJZG91YmxlIHF1b3Rlcy4KCjIwMDUtMDgtMjMgIEJlbiBFbGxpc3RvbiAgPGJqZUBhdS5pYm0uY29tPgoKCSogZ2NjX3VwZGF0ZTogVXBkYXRlIGRlcGVuZGVuY2llcyBmb3IgbGliamF2YS9hY2xvY2FsLm00LgoKMjAwNS0wOC0xNCAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIEFsbCBmaWxlczogVXBkYXRlIHdpdGggbmV3IEZTRiBhZGRyZXNzLgoKMjAwNS0wNy0xNCAgQmVuIEVsbGlzdG9uICA8YmplQGF1LmlibS5jb20+CgoJKiBmaWx0ZXJfcGFyYW1zLnBsOiBUeXBvIGZpeC4KCSogZmlsdGVyX2tucjJhbnNpLnBsOiBMaWtld2lzZS4KCjIwMDUtMDYtMDUgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2VubmV3cyAoZmlsZXMpOiBVcGRhdGUgZm9yIGVnY3MtMS4wIHJlbGVhc2UgcGFnZXMgY29uc29saWRhdGlvbi4KCjIwMDUtMDQtMTcgIEpvc2VwaCBTLiBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgoKCSogZ2VubmV3cyAoZmlsZXMpOiBVcGRhdGUgZm9yIEdDQyA0LjAuCgoyMDA1LTAzLTE4ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIGdjY191cGRhdGUgKHNpbGVudCk6IFVuc2V0IGluc3RlYWQgb2YgaW5pdGlhbGl6aW5nIHRvIG51bGwuCgoyMDA1LTAzLTE4ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogZ2NjX3VwZGF0ZSAoYXBwbHlfcGF0Y2gpOiBQcm9wZXJseSBxdW90ZSAkMS4KCjIwMDUtMDMtMTggIFphY2sgV2VpbmJlcmcgIDx6YWNrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfdXBkYXRlOiBBZGQgLS1zaWxlbnQgb3B0aW9uLgoKMjAwNS0wMy0wOCAgS2F2ZWggUi4gR2hhemkgIDxnaGF6aUBjYWlwLnJ1dGdlcnMuZWR1PgoKCSogd2Fybl9zdW1tYXJ5IChrZXl3b3JkRmlsdGVyKTogVXBkYXRlIHNlZCBwYXR0ZXJuIGZvciBuZXcgcXVvdGluZwoJc3R5bGUgaW4gd2FybmluZ3MuCgoyMDA1LTAzLTA3ICBLYXZlaCBSLiBHaGF6aSAgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+CgoJKiB3YXJuX3N1bW1hcnk6IEFkZCAtZm9ydHJhbiBzdWJkaXIgZmxhZy4KCShzdWJkaXJlY3RvcnlGaWx0ZXIpOiBGaXggbWlzc2luZyBhZGEgc3ViZGlyLgoKMjAwNC0xMS0yMCAgSGFucy1QZXRlciBOaWxzc29uICA8aHBAYml0cmFuZ2UuY29tPgoKCSogZ2NjX3VwZGF0ZSAodG91Y2hfZmlsZXMpOiBEb24ndCByZWx5IG9uICJtYWtlIiBiZWluZyBHTlUgbWFrZTsKCWdyZXAgZm9yICJUb3VjaGluZyIgdG8gZGV0ZXJtaW5lIHRoYXQgdGhlIHJ1bGUgZXhlY3V0ZXMuCgoyMDA0LTExLTE0ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBiaXRyYW5nZS5jb20+CgoJKiBnY2NfdXBkYXRlICh0b3VjaF9maWxlcyk6IEV4cGxpY2l0bHkgcGFzcyAtLW5vLXByaW50LWRpcmVjdG9yeS4KCjIwMDQtMTEtMDQgIEFuZHJldyBQaW5za2kgIDxwaW5za2lhQHBoeXNpY3MudWMuZWR1PgoKCSogZ2NjX3VwZGF0ZSAoYm9laG0tZ2MvYWNsb2NhbC5tNCk6IFJlbW92ZSBib2VobS1nYy9hY2luY2x1ZGUubTQuCgoyMDA0LTA4LTA0ICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgoKCSogZ2NjX3VwZGF0ZTogQWRkIGZpeGluY2x1ZGVzLgoKMjAwNC0wOC0yNiAgTWF0dGhpYXMgS2xvc2UgIDxkb2tvQGRlYmlhbi5vcmc+CgoJKiB0ZXhpMnBvZC5wbDoga2VlcCByZWZlcmVuY2VzIG9mIHRoZSBmb3JtIEByZWZ7Li4ufSwgcHJpbnQgdGhlbSBib2xkLgoKMjAwNC0wOC0yNiAgTWF0dGhpYXMgS2xvc2UgIDxkb2tvQGRlYmlhbi5vcmc+CgoJKiB0ZXN0X3N1bW1hcnk6IEluY2x1ZGUgYmFzZWxpbmUgdXNlZCBmb3IgbGlic3RkYysrLXYzIGFiaSBjaGVjawoJaW4gdGVzdCBzdW1tYXJ5LgoKMjAwNC0wOC0yNSAgQmVuIEVsbGlzdG9uICA8YmplQGF1LmlibS5jb20+CgoJKiBnY2NfdXBkYXRlIChsaWJjcHAvTWFrZWZpbGUuaW4pOiBSZW1vdmUgbGliY3BwL01ha2VmaWxlLmFtLgoKMjAwNC0wOC0yMCAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogZ2NjX3VwZGF0ZSAoc2VsZik6IGxpYmphdmEvY29uZmlndXJlLmluIC0+IGNvbmZpZ3VyZS5hYy4gQXV0b21ha2UKCXVwZGF0ZSBkb25lLgoKMjAwNC0wOC0wNCAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCgkqIGdjY191cGRhdGU6IGxpYmphdmEvY29uZmlndXJlLmFjIC0+IGNvbmZpZ3VyZS5pbi4gIEF1dG9tYWtlCgkxLjQgZG9lcyBub3QgaGFuZGxlIGNvbmZpZ3VyZS5hYyBwcm9wZXJseS4KCjIwMDQtMDgtMDQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBnY2NfdXBkYXRlOiBsaWJqYXZhL2NvbmZpZ3VyZS5pbiAtPiBjb25maWd1cmUuYWMuCgoyMDA0LTA4LTAzICBSaWNoYXJkIEVhcm5zaGF3IDxyZWFybnNoYUBhcm0uY29tPgoKCSogZ2NjX3VwZGF0ZTogZ2NjL2NvbmZpZy9hcm0vYXJtLXR1bmUubWQgLT4gYXJtLWNvcmVzLmRlZiBnZW50dW5lLnNoLgoKMjAwNC0wNy0xNiAgSmVmZiBMYXcgIDxsYXdAcmVkaGF0LmNvbT4KCgkqIGFuYWx5emVfYnJwcm9iOiBGaXggY29tbWVudHMuICBNb3JlIGNvbnNpc3RlbnQgb3V0cHV0IGZvcm1hdC4KCjIwMDQtMDYtMTcgIERpZWdvIE5vdmlsbG8gIDxkbm92aWxsb0ByZWRoYXQuY29tPgoKCSogdHJlZS1zc2EuZG94eTogVXBkYXRlIGZvciBkb3h5Z2VuIDEuMy41LgoKMjAwNC0wNi0xNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZ2NjX3VwZGF0ZTogYm9laG0tZ2MvY29uZmlndXJlLmluIC0+IGNvbmZpZ3VyZS5hYy4KCjIwMDQtMDYtMTYgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBnY2NfdXBkYXRlIChib2VobS1nYy9jb25maWd1cmUpOiBEZXBlbmQgb24KCWJvZWhtLWdjL2NvbmZpZ3VyZS5hYyBpbnN0ZWFkIG9mIGJvZWhtLWdjL2NvbmZpZ3VyZS5pbgoKMjAwNC0wNi0xNCAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCgkqIGdjY191cGRhdGUgKGxpYm11ZGZsYXAvY29uZmlndXJlKTogRGVwZW5kIG9uCglsaWJtdWRmbGFwL2NvbmZpZ3VyZS5hYyBpbnN0ZWFkIG9mIGxpYm11ZGZsYXAvY29uZmlndXJlLmluCgoyMDA0LTA2LTE0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBnY2NfdXBkYXRlOiBBZGQgbGliY3BwLgoKMjAwNC0wNi0xMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZ2NjX3VwZGF0ZTogQWRkIGxpYmdmb3J0cmFuLgoKMjAwNC0wNS0yOSAgQW5kcmV3IFBpbnNraSAgPHBpbnNraWFAcGh5c2ljcy51Yy5lZHU+CgoJKiBnY2NfdXBkYXRlIChsaWJiYW5zaGVlL2NvbmZpZ3VyZSk6IERlcGVuZCBvbgoJbGliYmFuc2hlZS9jb25maWd1cmUuYWMgaW5zdGVhZCBvZiBsaWJiYW5zaGVlL2NvbmZpZ3VyZS5pbgoKMjAwNC0wNS0xNyAgWmFjayBXZWluYmVyZyAgPHphY2tAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY191cGRhdGU6IFJlbW92ZSBnY2MvZi9pbnRkb2MudGV4aSBhbmQgYWxsIGxpYmYyYyBmaWxlcwoJZnJvbSBsaXN0IG9mIGZpbGVzIHRvIGJlIHRvdWNoZWQuCgkqIGNvbnZlcnRfdG9fZjJjLCBjb252ZXJ0X3RvX2cyYywgZG93bmxvYWRfZjJjOiBEZWxldGUuCgoyMDA0LTA1LTE1ICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIGdlbm5ld3M6IFVwZGF0ZSBmb3IgR0NDIDMuNC4KCjIwMDQtMDUtMTMgIERpZWdvIE5vdmlsbG8gIDxkbm92aWxsb0ByZWRoYXQuY29tPgoKCU1lcmdlIGZyb20gdHJlZS1zc2EtMjAwMjA2MTktYnJhbmNoLgoKCSogZmlsdGVyX2djY19mb3JfZG94eWdlbjogTmV3IGZpbGUuCgkqIGZpbHRlcl9rbnIyYW5zaS5wbDogTmV3IGZpbGUuCgkqIGZpbHRlcl9wYXJhbXMucGw6IE5ldyBmaWxlLgoJKiB0cmVlLXNzYS5kb3h5OiBOZXcgZmlsZS4KCSogY29udHJpYi9nY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogSGFuZGxlCglsaWJiYW5zaGVlIGFuZCBsaWJtdWRmbGFwLgoKMjAwNC0wNC0xMiAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCSAgICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogSW5zZXJ0IHpsaWIgZGVwZW5kZW5jaWVzLgoKMjAwNC0wNC0wOSAgTmF0aGFuYWVsIE5lcm9kZSAgPG5lcm9kZW5AZ2NjLmdudS5vcmc+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogbGlib2JqYy9jb25maWd1cmUgbm93CglkZXBlbmRzIG9uIGNvbmZpZ3VyZS5hYywgbm90IGNvbmZpZ3VyZS5pbi4KCjIwMDQtMDQtMDEgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogUmVtb3ZlIGdjYy9hZGEvKi50ZXhpLgoKMjAwNC0wMy0xNiAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IEluc2VydCBsaWJmZmkgZGVwZW5kZW5jaWVzLgoKMjAwNC0wMy0xMCAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBJbnNlcnQgbGliYWRhL2NvbmZpZ3VyZS4KCjIwMDQtMDItMjkgIEFuZHJldyBQaW5za2kgIDxwaW5za2lhQHBoeXNpY3MudWMuZWR1PgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IFVwZGF0ZSBpbnRsL2NvbmZpZ3VyZS5pbgoJdG8gaW50bC9jb25maWd1cmUuYWMuCgoyMDA0LTAxLTA5ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IFVwZGF0ZSBmYXN0amFyL2NvbmZpZ3VyZS5pbgoJdG8gZmFzdGphci9jb25maWd1cmUuYWMKCjIwMDQtMDEtMDcgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogUmVtb3ZlIG5vbi1leGlzdGFudCBmaWxlcy4KCjIwMDQtMDEtMDUgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19nZW5lcmF0ZWQpOiBSZXZlcnQgMjAwMy0xMi0xOCBjaGFuZ2UuCgoyMDA0LTAxLTAzICBBbmRyZXcgUGluc2tpICA8cGluc2tpYUBwaHlzaWNzLnVjLmVkdT4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBGb3IgZ2NjIGRpcmVjdG9yeSwKCXJlbmFtZSBjb25maWd1cmUuaW4gdG8gY29uZmlndXJlLmFjLgoKMjAwMy0xMi0xOSAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IEZvciBsaWJqYXZhL2xpYmx0ZGwgZGlyZWN0b3J5LAoJcmVtb3ZlIGFjY29uZmlnLmguIE5vIGxvbmdlciB1c2VkLgoKMjAwMy0xMi0xOCAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2dlbmVyYXRlZCk6IEFkZCBpbiBnY2MvYWRhL3N0YW1wLXhnbmF0dWcgYW5kIHVwZGF0ZQoJZ2NjL2FkYS9nbmF0X3VnXyogdG8gdXNlIGl0LgoKMjAwMy0xMi0xNiAgSmFtZXMgRSBXaWxzb24gIDx3aWxzb25Ac3BlY2lmaXhpbmMuY29tPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IEZvciBsaWJqYXZhL2xpYmx0ZGwgZGlyZWN0b3J5LAoJcmVuYW1lIGNvbmZpZ3VyZS5pbiB0byBjb25maWd1cmUuYWMsIGFuZCBzdGFtcC1oLmluIHRvIGNvbmZpZy1oLmluLgoKMjAwMy0xMi0xMSAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBDb3JyZWN0IHR5cG8gaW4gdGhlIGZpbGVuYW1lCglnbmF0X3VnX3dudC50ZXhpLgoKMjAwMy0xMi0wOCAgQXJuYXVkIENoYXJsZXQgIDxjaGFybGV0QGFjdC1ldXJvcGUuZnIKCgkqIGdjY191cGRhdGU6IFJlbW92ZSBoYW5kbGluZyBvZiBzaW5mby5oLCBlaW5mby5oLCBubWFrZS5hZHMsCgl0cmVlcHJzLmFkcy4KCjIwMDMtMTAtMTYgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnZW5uZXdzIChmaWxlcyk6IEFkZCBHQ0MgMy4zIGZpbGVzLgoKMjAwMy0wOC0yMSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19idWlsZDogRml4IGhhbmRsaW5nIG9mIC10IG9wdGlvbi4gIEFkZCAteCBvcHRpb24uCgoyMDAzLTA3LTMxICBNYXR0IEtyYWFpICA8a3JhYWlAYWx1bW5pLmNtdS5lZHU+CgoJKiB0ZXhpMnBvZC5wbDogUmVtb3ZlIGV4dHJhIGxpbmUuCgoyMDAzLTA3LTE1ICBNYXR0IEtyYWFpICA8a3JhYWlAYWx1bW5pLmNtdS5lZHU+CgoJKiB0ZXhpMnBvZC5wbDogRGVmYXVsdCBAaXRlbWl6ZSdzIHBhcmFtZXRlciB0byBAYnVsbGV0LgoKMjAwMy0wNy0xMiAgWmFjayBXZWluYmVyZyAgPHphY2tAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY191cGRhdGU6IGdjYy9hY2NvbmZpZy5oIG5vIGxvbmdlciBleGlzdHMuCgoyMDAzLTA3LTExICBNYXR0aGlhcyBLbG9zZSAgPGRva29AZGViaWFuLm9yZz4KCgkqIHRlc3RfaW5zdGFsbGVkOiBBZGQgb3B0aW9ucyB0byBydW4gb2JqYyB0ZXN0cy4KCUluIGdlbmVyYXRlZCBzaXRlLmV4cCwgaW5pdGlhbGl6ZSByb290bWUsIENGTEFHUywgQ1hYRkxBR1MuCgoyMDAzLTA3LTA0ICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3VwZGF0ZTogUmVtb3ZlIGdjYy9pbnRsL3BsdXJhbC5jIGZyb20gbGlzdC4KCUFkZCBuZXcgZ2VuZXJhdGVkIGZpbGVzIGludGwvcGx1cmFsLmMsIGludGwvY29uZmlndXJlLAoJaW50bC9jb25maWcuaC5pbi4KCjIwMDMtMDYtMTMgIEphc29uIFRob3JwZSAgPHRob3JwZWpAd2FzYWJpc3lzdGVtcy5jb20+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogQWRkCglnY2MvdGVzdHN1aXRlL2djYy5kZy9jcHAvX1ByYWdtYTMuYyBkZXBlbmRzIG9uCglnY2MvdGVzdHN1aXRlL2djYy5kZy9jcHAvbWkxYy5oLgoKMjAwMy0wNS0yMyAgTmF0aGFuYWVsIE5lcm9kZSA8bmVyb2RlbkBnY2MuZ251Lm9yZz4KCgkqIHBhcmFub2lhLmNjOiBGaXggc3BlbGxpbmcgZXJyb3IuCgoJKiBhbmFseXplX2JycHJvYiwgZ2NjX2J1aWxkLCBnZW5uZXdzLCB0ZXhpMnBvZC5wbDogQ2hhbmdlIEdOVSBDQwoJdG8gR0NDLgoKMjAwMy0wNC0wNCAgTWlrZSBTdHVtcCAgPG1yc0BhcHBsZS5jb20+CgoJKiBjb21wYXJlX3Rlc3RzOiBGaXggZXhpdCBzdGF0dXMgYW5kIGJlIG1vcmUgZmxleGlibGUgd2l0aCBzcGFjaW5nLgoKMjAwMy0wMy0wOCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogdGVzdF9zdW1tYXJ5OiAgQWRkIC1oLCBwcmludCBleGlzdGluZyBjb21tZW50cyBhcyBoZWxwLgoKMjAwMy0wMy0wMyAgSC5KLiBMdSA8aGpsQGdudS5vcmc+CgoJKiBnY2NfYnVpbGQ6IFVzZSAkR0NDX0NWUy8kQ1ZTIGluc3RlYWQgb2YgY3ZzLgoJKiBnY2NfdXBkYXRlOiBMaWtld2lzZS4KCjIwMDMtMDEtMTkgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogdGVzdF9zdW1tYXJ5IChjb25maWdmbGFncyk6IE9ubHkgdXNlIHRoZSBmaXJzdCBtYXRjaC4gIFJlbW92ZQoJZXhjZXNzIHNwYWNlLiAgVXNlIHN1YiBpbnN0ZWFkIG9mIGdzdWIgd2hlcmUgcG9zc2libGUuICBVc2UgYG5vbmUnCglpZiBubyBjb25maWd1cmUgZmxhZ3Mgd2VyZSBnaXZlbi4KCjIwMDMtMDEtMTAgIExvcmVuIEouIFJpdHRsZSAgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiB0ZXN0X3N1bW1hcnkgKGNvbmZpZ2ZsYWdzKTogYXdrIHBvcnRhYmlsaXR5LgoKMjAwMy0wMS0wNyAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiB0ZXN0X3N1bW1hcnkgKGNvbmZpZ2ZsYWdzKTogQ29tcHV0ZSBjb3JyZWN0bHkgd2l0aCBib3RoCglhdXRvY29uZmlzY2F0ZWQgYW5kIEN5Z251cy1zdHlsZSB0b3AtbGV2ZWwuCgoyMDAzLTAxLTAzICBLYXZlaCBSLiBHaGF6aSAgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogQWRkIGdjYy9jcC9jZm5zLmggZGVwZW5kcwoJb24gZ2NjL2NwL2NmbnMuZ3BlcmYgYW5kIGdjYy9qYXZhL2tleXdvcmQuaCBkZXBlbmRzIG9uCglnY2MvamF2YS9rZXl3b3JkLmdwZXJmCgoyMDAyLTEyLTI5ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogQWRkIGdjYy9pbnRsL3BsdXJhbC5jIGFzCglkZXBlbmRpbmcgb24gZ2NjL2ludGwvcGx1cmFsLnkuCgoyMDAyLTEyLTI4ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIGdjY191cGRhdGUgKGNvbmZpZ3VyZSk6IERlcGVuZCBvbiBjb25maWcvYWN4Lm00IGFzIHdlbGwuCgoJKiBnY2NfdXBkYXRlIChjb25maWd1cmUpOiBEZXBlbmQgb24gY29uZmlndXJlLmluLgoKMjAwMi0xMi0yNCAgSm9zZXBoIFMuIE15ZXJzICA8anNtQHBvbHlvbWluby5vcmcudWs+CgoJKiB0ZXhpMnBvZC5wbDogU2tpcCBjb250ZW50cyBvZiBAY29weWluZy4KCjIwMDItMTEtMDkgIFphY2sgV2VpbmJlcmcgIDx6YWNrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBndGhyX3N1cHBfdnh3XzV4LmM6IE5ldyBmaWxlLgoKMjAwMi0xMC0yMSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHBhcmFub2lhLmNjIChyZWFsX2NfZmxvYXQ6OmltYWdlKTogQWNjb21vZGF0ZSBzaXplIG9mCglyZWFsX2ludGVybmFsIGZvcm1hdC4KCShtYWluKTogVW5idWZmZXIgc3RkaW8uICBBZGQgcmVhbF9pbnRlcm5hbCBmb3JtYXQuCgkoZmxvb3JfbG9nMl93aWRlKTogTmV3LgoKMjAwMi0xMC0xNiAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHBhcmFub2lhLmNjIChFTlVNX0JJVEZJRUxEKTogTmV3LgoJKGNsYXNzKTogRGVmaW5lIGFzIGtsYXNzIGFyb3VuZCByZWFsLmguCgkocmVhbF9jX2Zsb2F0KTogTm90IGEgdGVtcGxhdGUgYW55IGxvbmdlcjsgZGVmaW5lIE1PREUgYXMgYQoJY2xhc3Mgc3RhdGljIGNvbnN0YW50OyB1c2UgcmVhbF9mb3JtYXQgZWxlbWVudHMgZm9yIFNJWkUuCglVcGRhdGUgdXNlcyBvZiByZWFsX3RvX2RlY2ltYWwgYW5kIHJlYWxfdG9faGV4YWRlY2ltYWwuCgkobWFpbik6IENoYW5nZSAtZyBhcmd1bWVudCB0byB1c2UgYSBmb3JtYXQgbmFtZS4KCShtb2RlX2Zvcl9zaXplKTogUmVtb3ZlLgoKMjAwMi0wOS0xNiAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHBhcmFub2lhLmNjOiBOZXcgZmlsZS4KCjIwMDItMDktMDQgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBlbnF1aXJlLmM6IFJlbW92ZS4KCjIwMDItMDgtMTQgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnZW5uZXdzIChmaWxlcyk6IEFkZCBHQ0MgMy4yIGZpbGVzLgoKMjAwMi0wNy0yMiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2VubmV3cyAoZmlsZXMpOiBBZGQgcHJvcGVyIGZpbGVzIGZvciB0aGUgR0NDIDMuMSByZWxlYXNlIHNlcmllcy4KCVNpbXBsaWZ5IGFuZCByZWZvcm1hdCBpbnRyb2R1Y3Rvcnkgd29yZGluZy4KCjIwMDItMDctMTYgIE5hdGhhbmFlbCBOZXJvZGUgIDxuZXJvZGVuQGdjYy5nbnUub3JnPgoKCSogZW5xdWlyZS5jOiBNb3ZlIGZyb20gZ2NjLgoKMjAwMi0wNy0xNiAgSC5KLiBMdSA8aGpsQGdudS5vcmc+CgoJKiBnY2NfdXBkYXRlICh0b3VjaF9maWxlcyk6IFBhc3MgLXMgdG8gJHtNQUtFfS4KCjIwMDItMDYtMjYgIFphY2sgV2VpbmJlcmcgIDx6YWNrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB0ZXhpMnBvZC5wbDogQ29ycmVjdCBoYW5kbGluZyBvZiB0aGUgaW50ZXJuYWwgUjw+IHNlcXVlbmNlLgoKMjAwMi0wNS0zMSAgRmxvcmlhbiBXZWltZXIgIDxmd0BkZW5lYi5lbnlvLmRlPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IEFkZCBnZW5lcmF0ZWQgVGV4aW5mbyBmaWxlcwoJZm9yIEFkYS4KCjIwMDItMDUtMTYgIFJhaW5lciBPcnRoICA8cm9AVGVjaEZhay5VbmktQmllbGVmZWxkLkRFPgoKCSogdGVzdF9pbnN0YWxsZWQ6IEFsbG93IGZvciBQV0RDTUQgdG8gb3ZlcnJpZGUgaGFyZGNvZGVkIHB3ZC4KCSogdGVzdF9zdW1tYXJ5OiBMaWtld2lzZS4KCjIwMDItMDQtMTggIEdlb2ZmcmV5IEtlYXRpbmcgIDxnZW9mZmtAcmVkaGF0LmNvbT4KCgkqIGdjY191cGRhdGUgKHRvdWNoX2ZpbGVzKTogRG9uJ3QgaGF2ZSBlbXB0eSBmb3IgbG9vcC4KCjIwMDItMDQtMTYgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBnY2NfdXBkYXRlOiBSZW1vdmUgbGliY2hpbGwuCgoyMDAyLTAzLTI1ICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogdGV4aTJwb2QucGw6IEhhbmRsZSBAZW5kIGZ0YWJsZSBhbmQgQGVuZCB2dGFibGUuCgoyMDAyLTAzLTExICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogdGV4aTJwb2QucGw6IEhhbmRsZSBAaW5jbHVkZSwgQGZ0YWJsZSwgQHZ0YWJsZS4KCVJlZm9ybWF0IHNvbWUgY29kZSBmb3IgY2xhcml0eS4KCjIwMDItMDItMjQgIENocmlzdGlhbiBK9m5zc29uICA8Yy5jaHJpc3RpYW4uam9lbnNzb25AdGVsaWEuY29tPgoKCSogdGVzdF9zdW1tYXJ5OiBBZGRpdGlvbmFsIHRvIFhQQVNTIGFuZCBGQUlMLCBhZGQgVU5SRVNPTFZFRCwKCVdBUk5JTkcgYW5kIEVSUk9SIG91dHB1dCBmcm9tIHRoZSAqLnN1bSBmaWxlcy4KCjIwMDItMDEtMjYgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdlbm5ld3MgKGZpbGVzKTogUmVwbGFjZSBnY2MtMi45NS9nY2MtMi45NS5odG1sLAoJZ2NjLTIuOTUvZ2NjLTIuOTUuMS5odG1sLCBnY2MtMi45NS9nY2MtMi45NS4yLmh0bWwsCglhbmQgZ2NjLTIuOTUvZ2NjLTIuOTUuMy5odG1sIGJ5IGdjYy0yLjk1L2luZGV4Lmh0bWwuCgoyMDAyLTAxLTE2ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnZW5uZXdzIChmaWxlcyk6IFJlcGxhY2UgZWdjcy0xLjEvZWdjcy0xLjEuMi5odG1sLAoJZWdjcy0xLjEvZWdjcy0xLjEuMS5odG1sLCBhbmQgZWdjcy0xLjEvZWdjcy0xLjEuaHRtbCBieQoJZWdjcy0xLjEvaW5kZXguaHRtbC4KCjIwMDItMDEtMDEgIEthdmVoIFIuIEdoYXppICA8Z2hhemlAY2FpcC5ydXRnZXJzLmVkdT4KCgkqIHdhcm5fc3VtbWFyeTogQWRkIC1hZGEgc3ViZGlyZWN0b3J5IGZsYWcuCgoyMDAxLTEyLTEyICBNYXR0aGlhcyBLbG9zZSAgPGRva29AZGViaWFuLm9yZz4KCgkqIHRleGkycG9kLnBsOiBNZXJnZSBjaGFuZ2VzIGZyb20gYmludXRpbHMnIHRleGkycG9kLnBsLiBBbGxvd3MKCWdlbmVyYXRpb24gb2YgbW9yZSB0aGFuIG9uZSBtYW4gcGFnZSBmcm9tIG9uZSBzb3VyY2UuCglBZGQgJy0nIHRvIHNldCBvZiB2YWxpZCBjaGFycyBmb3IgYW4gaWRlbnRpZmllci4KCUxldCAtRCBvcHRpb24gYWNjZXB0IGZsYWdzIG9mIHRoZSBmb3JtIDxmbGFnPj08dmFsdWU+LgoJVXNlIFxzKyBmb3Igd2hpdGVzcGFjZSBkZXRlY3Rpb24gaW4gJ0BjIG1hbicgbGluZXMuCglIYW5kbGUgQHNldCBhbmQgQGNsZWFyIGluZGVwZW5kZW50IG9mICRvdXRwdXQuCglTdWJzdGl0dXRlIGFsbCBAdmFsdWV7fSdzIGluIGEgbGluZS4KCjIwMDEtMTEtMTQgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHRleGkycG9kLnBsOiBIYW5kbGUgQGlmbm90dGV4LCBAaWZ0ZXggYW5kIEBkaXNwbGF5LiAgSGFuZGxlIEB2YXIKCWluIHZlcmJhdGltIGJsb2NrcyBzcGVjaWFsbHkuICBIYW5kbGUgQHVubnVtYmVyZWQsIEB1bm51bWJlcmVkc2VjCglhbmQgQGNlbnRlci4gIEFsbG93IFthLXpdIGFmdGVyIEBlbnVtZXJhdGUuICBIYW5kbGUgMCBhbmQgbnVtYmVycwoJZ3JlYXRlciB0aGFuIDkgaW4gZW51bWVyYXRpb25zLgoKMjAwMS0xMS0wNyAgTGF1cmVudCBHdWVyYnkgPGd1ZXJieUBhY20ub3JnPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IEFkZCBBZGEgZGVwZW5kZW5jaWVzLgoKMjAwMS0xMC0wOCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogc25hcHNob3Q6IFJlbW92ZS4KCjIwMDEtMDktMDcgIFJpY2hhcmQgU2FuZGlmb3JkICA8cnNhbmRpZm9AcmVkaGF0LmNvbT4KCglSZXZlcnQ6CgkqIGdjY191cGRhdGU6IChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKSBBZGQgZ2NjL2phdmEvcGFyc2UuYwoJZ2NjL2phdmEvcGFyc2Utc2Nhbi5jIGFuZCBnY2MvamF2YS9rZXl3b3JkLmggdG8gbGlzdCBvZiBmaWxlcyB0bwoJdG91Y2guCgoyMDAxLTA5LTA0ICBEYXZpZC5CaWxsaW5naHVyc3QgPERhdmlkLkJpbGxpbmdodXJzdEByaW90aW50by5jb20+CgoJKiBnY2NfdXBkYXRlOiAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcykgQWRkIGdjYy9qYXZhL3BhcnNlLmMKCWdjYy9qYXZhL3BhcnNlLXNjYW4uYyBhbmQgZ2NjL2phdmEva2V5d29yZC5oIHRvIGxpc3Qgb2YgZmlsZXMgdG8KCXRvdWNoLgoKTW9uIEF1ZyAxMyAwMjoyOTowOCBDRVNUIDIwMDEgIEphbiBIdWJpY2thICA8amhAc3VzZS5jej4KCgkqIGFuYWx5emVfYnJwcm9iOiBVcGRhdGUgZm9yIGNoYW5nZXMgaW4gZ2NjIGRlYnVnIG91dHB1dC4KClNhdCBKdWwgMjggMjI6Mzc6NDkgQ0VTVCAyMDAxICBKYW4gSHViaWNrYSAgPGpoQHN1c2UuY3o+CgoJKiBhbmFseXplX2JycHJvYjogQXZvaWQgbW9yZSBvdmVyZmxvd3MuCgoyMDAxLTA3LTI3ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogdGVzdF9zdW1tYXJ5OiBDb3B5IExBU1RfVVBEQVRFRCBVVEMgdGltZSB0byBoZWFkIG9mIHN1bW1hcnkuCgpGcmkgSnVsIDI3IDE4OjAxOjIxIENFU1QgMjAwMSAgSmFuIEh1Ymlja2EgIDxqaEBzdXNlLmN6PgoKCSogYW5hbHl6ZV9icnByb2I6IEF2b2lkIG92ZXJmbG93cy4KCjIwMDEtMDctMjcgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBnY2NfdXBkYXRlOiBEdW1wIHRpbWVzdGFtcCBpbiBMQVNUX1VQREFURUQuCgoyMDAxLTA3LTI2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+LAoJICAgIEhhbnMtUGV0ZXIgTmlsc3NvbiA8aHBAYml0cmFuZ2UuY29tPgoKCSogYW5hbHl6ZV9icnByb2I6IEZpeCBkb2N1bWVudGF0aW9uLgoKTW9uIEp1bCAyMyAxNTo0NzoxOSBDRVNUIDIwMDEgIEphbiBIdWJpY2thICA8amhAc3VzZS5jej4KCgkqIGFuYWx5emVfYnJwcm9iOiBGaXggYXdrIGNvbXBhdGliaWxpdHkgcHJvYmxlbXM7IHVwZGF0ZSBjb21tZW50LgoKMjAwMS0wNy0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogYW5hbHl6ZV9icnByb2I6IEZpeCBtb3JlIHR5cG9zLgoKMjAwMS0wNy0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogYW5hbHl6ZV9icnByb2I6IEZpeCB0eXBvcy4KCjIwMDEtMDctMDMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHRleGkycG9kLnBsOiBIYW5kbGUgQHIgaW5zaWRlIEBpdGVtLgoKMjAwMS0wNy0wMiAgWmFjayBXZWluYmVyZyAgPHphY2t3QHN0YW5mb3JkLmVkdT4KCgkqIGdjY191cGRhdGU6IFJlbW92ZSBlbnRyaWVzIGZvciBnY2MuMSwgY3BwLjEsIGdjb3YuMS4KCjIwMDEtMDctMDEgIFpvbHRhbiBGZWxsZWcgPHpmZWxsZWdAdGVsbmV0Lmh1PgoKCSogd2Fybl9zdW1tYXJ5OiBGaXggdHlwbyBpbiBhIGNvbW1lbnQuCgoyMDAxLTA2LTE0ICBBbGJlcnQgQ2hpbi1BLVlvdW5nICA8Y2hpbmFAdGhld3JpdHRlbndvcmQuY29tPgoKCSogY29udHJpYi9nY2NfdXBkYXRlOiBGaXggdGltZXN0YW1wIG9uIGdjYy9mL2ludGRvYy50ZXhpLgoKMjAwMS0wNi0xMyAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdlbm5ld3M6IFNldCBURVJNIHRvIHZ0MTAwIGZvciBMeW54LgoKMjAwMS0wNi0xMyAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogcmVsZWFzZTogUmVtb3ZlLgoKVHVlIEp1biAxMiAxMjoyMTo0MCBDRVNUIDIwMDEgIEphbiBIdWJpY2thICA8amhAc3VzZS5jej4KCgkqIGFuYWx5emVfYnJwcm9iOiBOZXcgZmlsZS4KCjIwMDEtMDYtMTEgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfYnVpbGQ6IE91dHB1dCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29tbWFuZHMgdXNlZCB0bwoJY29uZmlndXJlIHRoZSBjb21waWxlci4KCjIwMDEtMDYtMDcgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdlbm5ld3M6IFVwZGF0ZSBmb3IgR0NDIDMuMC4KCjIwMDEtMDYtMDIgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY191cGRhdGU6IFVwZGF0ZSBmb3IgbW92ZSBvZiBkb2N1bWVudGF0aW9uIHRvIGdjYy9kb2MuCgoyMDAxLTA1LTI4ICBSYWluZXIgT3J0aCAgPHJvQFRlY2hGYWsuVW5pLUJpZWxlZmVsZC5ERT4KCgkqIGNvbnRyaWIvdGVzdF9zdW1tYXJ5IChmaWxlcyk6IFNvcnQgYmVmb3JlIGV2YWx1YXRpbmcuCgoyMDAxLTA1LTIzICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfdXBkYXRlIChVUERBVEVfT1BUSU9OUyk6IEFkZCAtZCB0byB0aGUgZGVmYXVsdCBzZXR0aW5ncy4KCjIwMDEtMDUtMjEgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfYnVpbGQ6IFVzZSAtZCB3aGVuIGludm9raW5nIGdjY191cGRhdGUuCgoyMDAxLTA1LTE4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBnY2NfdXBkYXRlOiBBZGQgcnVsZXMgZm9yIGxpYmYyYy9saWJJNzcuCgoyMDAxLTA1LTE3ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIGdjY191cGRhdGUgKHRvdWNoX2ZpbGVzKTogVXNlIHNpbXBsZXIsIHlldCBhcyBwb3J0YWJsZSwgc3ludGF4LgoKMjAwMS0wNS0xNCAgTG9yZW4gSi4gUml0dGxlICA8bGpyaXR0bGVAYWNtLm9yZz4KCgkqIGdjY191cGRhdGUgKHRvdWNoX2ZpbGVzKTogRW5oYW5jZSBtYWtlIHBvcnRhYmlsaXR5LgoKMjAwMS0wNS0xNCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBnY2NfdXBkYXRlICh0b3VjaF9maWxlcyk6IFVzZSBhIE1ha2VmaWxlIHRvIHRvdWNoIGZpbGVzLgoKMjAwMS0wNS0wMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdGV4aTJwb2QucGw6IEFkZCBjb3B5cmlnaHQgYW5kIEdQTCBub3RpY2VzLgoKMjAwMS0wMS0yNCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdGV4aTJwb2QucGw6IEhhbmRsZSAiXCwiLgoKMjAwMS0wMS0xNSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdGV4aTJwb2QucGw6IEZpeCByZWd1bGFyIGV4cHJlc3Npb24gZm9yIEByIHRvIGF2b2lkIGV4cG9uZW50aWFsCglyZWN1cnNpb24uICBGcm9tIFJ1c3MgQWxsYmVyeSA8cnJhQHN0YW5mb3JkLmVkdT4uICBSZW1vdmUgcGVybAoJdmVyc2lvbiBjaGVjay4KCjIwMDEtMDEtMTUgIEthdmVoIFIuIEdoYXppICA8Z2hhemlAY2FpcC5ydXRnZXJzLmVkdT4KCgkqIHdhcm5fc3VtbWFyeSAoc3RhZ2VOZmlsdGVyKTogVXBkYXRlIGZvciByZWNlbnQgY2hhbmdlcyBpbgoJYm9vdHN0cmFwIGxvZ2ljLgoKMjAwMS0wMS0xNCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdGV4aTJwb2QucGw6IFJlcXVpcmUgYXQgbGVhc3QgcGVybCA1LjYuMC4KCjIwMDEtMDEtMTMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY191cGRhdGU6IEFkZCBnY2MvZ2NjLjEgdG8gZ2VuZXJhdGVkIGZpbGVzLgoJKiB0ZXhpMnBvZC5wbDogSGFuZGxlIEByIGFuZCBAZ2Njb3B0bGlzdC4gIEhhbmRsZSBAZ29sLiAgSGFuZGxlCglkaXNjYXJkaW5nIHRvIGVuZCBvZiBzZW50ZW5jZSB3aXRoIEB4cmVmIHdoZXJlIHRoZSBzZW50ZW5jZSBoYXMgYW4KCWludGVyaW9yICIuIiBpbiBtYXJrdXAsIGFuZCBoYW5kbGUgZGlzY2FyZGluZyBwYXJlbnRoZXNlcyBhcm91bmQKCXN1Y2ggYSBzZW50ZW5jZS4KCjIwMDEtMDEtMTEgIEJlcm5kIFNjaG1pZHQgIDxiZXJuZHNAcmVkaGF0LmNvbT4KCgkqIGdlbm5ld3M6IEFkZCBnY2MtMi45NS4zLgoKMjAwMS0wMS0xMCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdGV4aTJwb2QucGw6IEhhbmRsZSBAZ2NjdGFib3B0IGFuZCBAZW52IGluIHRhYmxlcy4gIEhhbmRsZQoJQGNvbW1hbmQuICBGb3JtYXQgVVJMcyBhbmQgZW1haWwgYWRkcmVzc2VzIGluIGJvbGQuCgoyMDAxLTAxLTAzICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfdXBkYXRlOiBBZGQgY3BwLjEgdG8gdGhlIGxpc3Qgb2YgZ2VuZXJhdGVkIGZpbGVzLgoKCSogdGV4aTJwb2QucGw6IEhhbmRsZSBAb3B0aW9uIGFuZCBAZW52LgoKMjAwMS0wMS0wMyAgTWlrZSBTdHVtcCAgPG1yc0B3cnMuY29tPgoKCSogc25hcHNob3Q6IFVwZGF0ZSB0byBhY2NvdW50IGZvciBqYXZhIGxpYnJhcmllcy4KCjIwMDAtMTItMjggIEplZmZyZXkgT2xkaGFtICA8b2xkaGFtQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB0ZXN0X3N1bW1hcnk6IEV4cG9ydCBmaWxlc3VmZml4LCBub3QgZmlsZXByZWZpeC4KCjIwMDAtMTItMjIgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHJlbGVhc2U6IENoYW5nZSBzb21lIEVHQ1MgcmVmZXJlbmNlcyB0byBHQ0MuCgoyMDAwLTEyLTE0ICBLYXZlaCBSLiBHaGF6aSAgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+CgoJKiB3YXJuX3N1bW1hcnk6IEZpeCBzdWJkaXJlY3RvcnkgZmlsdGVyaW5nLiAgQWRkIC1pbnRsIGFuZCAtZml4aW5jCglzdWJkaXJlY3RvcnkgZmxhZ3MuICBBZGQgc291cmNlIGRpcmVjdG9yeSBwcmVmaXggZmlsdGVyaW5nLgoJUmVkaXJlY3QgZGlhZ25vc3RpYyBvdXRwdXQgdG8gc3RkZXJyLgoKMjAwMC0xMi0wNyAgWmFjayBXZWluYmVyZyAgPHphY2tAd29sZXJ5LnN0YW5mb3JkLmVkdT4KCgkqIHRleGkycG9kLnBsOiBJZiBtdWx0aXBsZSBAYyBtYW4gc2VjdGlvbnMgd2l0aCB0aGUgc2FtZSB0YWcKCWFwcGVhciwgY29uY2F0ZW5hdGUgdGhlbSBpbiB0aGUgZmluYWwgb3V0cHV0LiAgV2hlbiBza2lwcGluZywKCWlnbm9yZSBibG9jayBjb21tYW5kcyB0aGF0IGNhbid0IGNhdXNlIHNraXBwaW5nLCBhbmQgaG9ub3IKCXRob3NlIHRoYXQgY2FuLiAgRW5zdXJlIHRoYXQgdmVyYmF0aW0gYmxvY2tzIGFyZSBzZXBhcmF0ZQoJcGFyYWdyYXBocy4KCjIwMDAtMTItMDcgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY191cGRhdGU6IERvbid0IHRvdWNoIHRyYWRjaWYuYyBvciBqYXZhL3BhcnNlLmguCgoyMDAwLTEyLTA1ICBaYWNrIFdlaW5iZXJnICA8emFja0B3b2xlcnkuc3RhbmZvcmQuZWR1PgoKCSogdGV4aTJwb2QucGw6IFJlc3RydWN0dXJlIGZvciBjb21wcmVoZW5zaWJpbGl0eSwgYWRkCgljb21tZW50cy4gIE1lcmdlIGhhbmRsaW5nIG9mIEBpZ25vcmUgYW5kIEBpZnh4eC4gIEhhbmRsZSBhCgl3aG9sZSBidW5jaCBtb3JlIFRleGluZm8gY29tbWFuZHMuICBVc2UgY29uc2lzdGVudCBmb3JtYXR0aW5nCglzdHlsZS4KCjIwMDAtMTItMDQgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdlbm5ld3M6IE5ldyBzY3JpcHQuCgoyMDAwLTExLTIyICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfdXBkYXRlOiBVcGRhdGUgYSBjb21tZW50IGFzIHdlIG5vdyByZXF1aXJlIGJpc29uIGZvciBDVlMgdXNlcnMuCgoyMDAwLTExLTIyICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfdXBkYXRlOiBBZGQgZ2Nvdi4xIHRvIHRoZSBsaXN0IG9mIGdlbmVyYXRlZCBmaWxlcy4KCjIwMDAtMTEtMjEgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfYnVpbGQ6IFJlbW92ZSBjb2RlIHRvIHB1dCBpbmZvcm1hdGlvbiBpbiBhIGxvZyBmaWxlLgoKMjAwMC0xMS0xOSAgWmFjayBXZWluYmVyZyAgPHphY2t3QHN0YW5mb3JkLmVkdT4KCgkqIHRleGkycG9kLnBsOgoJICAtIEFkZCByZWFsIGNvbW1hbmQgbGluZSBwYXJzaW5nLgoJICAtIFN1cHBvcnQgQGlmc2V0LCBAaWZjbGVhciwgQHNldCwgQHZhbHVlLCAtRCBzd2l0Y2guCgkgIC0gU3VwcG9ydCBAc2MuICBJbXByb3ZlIGhhbmRsaW5nIG9mIEByZWYgYW5kIGZyaWVuZHMuCgkgIC0gRGlzY2FyZCBAc3Vic2VjdGlvbiwgQG5lZWQsIEBub2RlIGxpbmVzLgoJICAtIFVuLW5lc3QgZm9udCBjaGFuZ2VzIHRvIG1hdGNoIHRleGluZm8gc2VtYW50aWNzLgoJICAtIEhhbmRsZSBAeyBhbmQgQH0uICBPb3BzLgoJICAtIERvbid0IGVtaXQgRTw+IGRpcmVjdGl2ZXMgaW5zaWRlIHZlcmJhdGltIGJsb2Nrcy4KCjIwMDAtMTEtMTIgIEJydWNlIEtvcmIgIDxia29yYkBnbnUub3JnPgoKCSogcmVsZWFzZTogZ2VuZXJhbGl6ZSB0aGUgcmVsZWFzZSBzY3JpcHQgYSBiaXQuCgpTYXQgTm92IDExIDE3OjI5OjAzIDIwMDAgIE1hcmsgUCBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19idWlsZDogQWRkIC1vIG9wdGlvbiBmb3Igc2V0dGluZyB0aGUgb2JqZGlyIHRvIHVzZS4KCjIwMDAtMTEtMTEgIEplZmYgTGF3ICA8bGF3QHJlZGhhdC5jb20+LAoKCSogcmVsZWFzZTogTmV3IGZpbGUuCgoyMDAwLTExLTA4ICBKZWZmIExhdyAgPGxhd0ByZWRoYXQuY29tPiwKCSAgICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBzbmFwc2hvdDogTmV3IGZpbGUuCgoyMDAwLTExLTA4ICBKZWZmcmV5IE9sZGhhbSAgPG9sZGhhbUBvei5jb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX2J1aWxkIChib290c3RyYXBfZ2NjKTogTmV3IGZ1bmN0aW9uLgoJKGNvbmZpZ3VyZV9nY2MpOiBMaWtld2lzZS4KCShidWlsZF9nY2MpOiBSZXdyaXR0ZW4gdG8gdXNlIGNvbmZpZ3VyZSBhbmQgYm9vdHN0cmFwLgoJKE1BS0VfQk9PVFNUUkFQX09QVElPTlMpOiBSZXBsYWNlZCBNQUtFX09QVElPTlMuCgoyMDAwLTEwLTMxICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX2J1aWxkIChNQUtFKTogTmV3IHZhcmlhYmxlLgoJKGJ1aWxkX2djYyk6IFVzZSBpdC4gIEZpeCBsb2dnaW5nIG9mIGVycm9ycy4KCShpbnN0YWxsX2djYyk6IExpa2V3aXNlLgoKMjAwMC0xMC0yOSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19idWlsZDogU2F2ZSB0aGUgb3V0cHV0IGZyb20gQ1ZTIGludG8gdGhlIGxvZ2ZpbGUgYXMgd2VsbC4KCjIwMDAtMTAtMjUgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfYnVpbGQ6IEZpeCB0eXBvcy4KCjIwMDAtMTAtMTQgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdwZXJmLTIuNy0xOTk4MTAwNi5wYXQ6IFJlbW92ZS4KCjIwMDAtMTAtMDggIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHRlc3RfaW5zdGFsbGVkOiBDaGFuZ2UgRUdDUyByZWZlcmVuY2VzIHRvIHJlZmVyIHRvIEdDQy4KCjIwMDAtMDktMjggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY191cGRhdGUgKHRvdWNoX2ZpbGVzKTogQWRkIHNvbWUgaW5mb3JtYXRpdmUgb3V0cHV0LgoKMjAwMC0wOS0xNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZ2NjX3VwZGF0ZTogUmVtb3ZlIGdjYy9jLXBhcnNlLmdwZXJmLgoKMjAwMC0wOC0zMCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PiwKCSAgICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIGdjY191cGRhdGU6IEV4ZWN1dGUgdG91Y2hfZmlsZXNfcmVleGVjIGV2ZW4gaWYgYGN2cyB1cGRhdGVgCglmYWlsZWQuCgoyMDAwLTA4LTA5ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIHRlc3Rfc3VtbWFyeTogQVdLIGJyZWFrcyB3aXRoIGZpbGVuYW1lcyBjb250YWluaW5nIGA9Jy4KClN1biBKdWwgMTYgMTI6MDQ6MzMgMjAwMCAgTWFyayBQIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX2J1aWxkOiBOZXcgc2NyaXB0LgoKMjAwMC0wNy0xMyAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBSZW1vdmUgZ2VuZXJhdGVkIFlBQ0MgZmlsZXMuCgoyMDAwLTA3LTEyICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IFJlbW92ZSBnZW5lcmF0ZWQgWUFDQyBmaWxlcy4KCjIwMDAtMDYtMDQgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBuZXdjdnNyb290OiBIYW5kbGUgZmlsZW5hbWVzIHRoYXQgY29udGFpbiBzcGFjZXMuCgoyMDAwLTA2LTAzICBaYWNrIFdlaW5iZXJnICA8emFja0B3b2xlcnkuY3VtYi5vcmc+CgoJKiB0ZXN0X3N1bW1hcnk6IEluIGdlbmVyYXRlZCBzY3JpcHQsIHVzZSBjYXQgPDwnRU9GJyBub3QgY2F0IDw8XEVPRi4KCUVsaWRlIC0td2l0aC1nY2MtdmVyc2lvbi10cmlnZ2VyIGFuZCAtLW5vcmVjdXJzaW9uIGZyb20KCWNvbmZpZ3VyZSBmbGFncy4gIFJlbW92ZSBjb2RlIHRvIHJlcG9ydCBzdGF0dXMgb2YgaGFpZmEgc2NoZWR1bGVyLgoKMjAwMC0wNS0xOCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQGN5Z251cy5jb20+CgoJKiBnY2NfdXBkYXRlIChzZWxmKTogU2V0IHRvIGAkMCcuCgkodG91Y2hfZmlsZXNfcmVleGVjKTogVXNlIGAkc2VsZicgaW5zdGVhZCBvZiBgJDAnLgoKMjAwMC0wNS0xMiAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQGN5Z251cy5jb20+CgoJKiBnY2NfdXBkYXRlICh0b3VjaF9maWxlc19yZWV4ZWMpOiBOZXcgZnVuY3Rpb24sIHJ1biBhZnRlciB0aGUKCXRyZWUgaXMgbW9kaWZpZWQuCgoyMDAwLTA1LTA4ICBSaWNoYXJkIEhlbmRlc29uICA8cnRoQGN5Z251cy5jb20+CgoJKiBnY2NfdXBkYXRlOiBSZW1vdmUgcmVmZXJlbmNlcyB0byBpbmNsaGFjay50cGwuCgoyMDAwLTA0LTI4ICBKYXNvbiBNZXJyaWxsICA8amFzb25AY2FzZXkuY3lnbnVzLmNvbT4KCgkqIGluZGV4LXByb3A6IFVzZSBhIHNpbmdsZSBwYXR0ZXJuLiAgQWxzbyBzdXBwb3J0ICoqKiBjZGlmZnMuCgoyMDAwLTA0LTI4ICBQYXZlbCBSb3NraW4gPHBhdmVsX3Jvc2tpbkBnZW9jaXRpZXMuY29tPgoKCSogaW5kZXgtcHJvcDogRG9uJ3QgY2hhbmdlIC9kZXYvbnVsbC4KCjIwMDAtMDQtMjcgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY191cGRhdGU6IFJlZmVyIHRvIEdDQyBhbmQgZ2NjX3VwZGF0ZSBpbnN0ZWFkIG9mIGVnY3MgYW5kCgllZ2NzX3VwZGF0ZS4KCjIwMDAtMDQtMjYgIEpvbmF0aGFuIExhcm1vdXIgIDxqbGFybW91ckByZWRoYXQuY28udWs+CgoJKiBpbmRleC1wcm9wOiBGaXggb2NjYXNpb25hbCBwcm9ibGVtIHdoZW4gdXNpbmcgY3ZzIGRpZmYgLXAuCgoyMDAwLTA0LTE4ICBaYWNrIFdlaW5iZXJnICA8emFja0B3b2xlcnkuY3VtYi5vcmc+CgoJKiBnY2NfdXBkYXRlOiBSZW1vdmUgcmVmZXJlbmNlcyB0byBjZXhwLmMvY2V4cC55LgoKMTk5OS0xMi0xOCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogbmV3Y3Zzcm9vdDogQWRkIGNoZWNrIG9uIHRoZSBudW1iZXIgb2YgY29tbWFuZC1saW5lIGFyZ3VtZW50cy4KCUFkZCB1c2FnZS4KClN1biBOb3YgMjggMDA6NDE6NDQgMTk5OSAgV2lsbGlhbSBCYWRlciAod2lsbGlhbUBuc2NzLmZhc3QubmV0KQoKCSogZ2NjX3VwZGF0ZTogQWxsb3cgcGF0Y2hlcyBjb21wcmVzc2VkIGJ5IGJ6aXAyLgoKMTk5OS0xMC0xMSAgTWFydGluIHYuIEz2d2lzIDxsb2V3aXNAaW5mb3JtYXRpay5odS1iZXJsaW4uZGU+CgoJKiBuZXdjdnNyb290OiBOZXcgZmlsZS4KCjE5OTktMDktMTEgIENyYWlnIEJ1cmxleSAgPGNyYWlnQGpjYi1zYy5jb20+CgoJKiBjb252ZXJ0X3RvX2YyYywgY29udmVydF90b19nMmMsIGRvd25sb2FkX2YyYzogTmV3IGZpbGUuCgoxOTk5LTA4LTE2ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfdXBkYXRlOiBOZXcgZmlsZS4KCSogZWdjc191cGRhdGU6IFJlbmFtZWQgdG8gZ2NjX3VwZGF0ZS4KCjE5OTktMDgtMDkgIFJvYmVydCBMaXBlICA8cm9iZXJ0bGlwZUB1c2EubmV0PgoKCSogdGVzdF9zdW1tYXJ5OiBRdW90ZSBjdXJseSBicmFjZXMgaW4gMTk5OS0wNy0wMyBjaGFuZ2UuCgoxOTk5LTA3LTI4ICBBbGV4YW5kcmUgT2xpdmEgIDxvbGl2YUBkY2MudW5pY2FtcC5icj4KCgkqIGVnY3NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogRml4ZWQgdHlwbyBpbgoJZ2NjL2NzdGFtcC1oLmluLiAgQWRkZWQgZ2NjL2NvbmZpZy5pbi4KCjE5OTktMDctMjcgIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogZWdjc191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBOZXcgZnVuY3Rpb24sIHdpdGgKCWNvbXBsZXRlIGxpc3Qgb2YgZmlsZXMgdG8gYmUgdXBkYXRlZCwgYXMgd2VsbCBhcyB0aGVpcgoJZGVwZW5kZW5jaWVzLgoJKHRvdWNoX2ZpbGVzKTogQ2hlY2sgdGhlIHRpbWVzdGFtcCBvZiBlYWNoIGdlbmVyYXRlZCBmaWxlIGFnYWluc3QKCWl0cyBkZXBlbmRlbmNpZXMnLgoJKG1haW4pOiBOZXcgZmxhZ3MgLS10b3VjaCwgLS1saXN0IGFuZCAtLWhlbHAuICBSZW1vdmUgdGhlCglwcmUtdXBkYXRlIHN0ZXAuCgoxOTk5LTA3LTE3ICBBbGV4YW5kcmUgT2xpdmEgIDxvbGl2YUBkY2MudW5pY2FtcC5icj4KCgkqIHRlc3Rfc3VtbWFyeTogUmVwbGFjZSBlZ2NzIHdpdGggZ2NjLiAgVXBkYXRlIGUtbWFpbCBhZGRyZXNzLgoKMTk5OS0wNy0wNSAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoJICAgIEplcnJ5IFF1aW5uIDxqcXVpbm5Abm9ydGVsbmV0d29ya3MuY29tPgoKCSogZWdjc191cGRhdGUgKHRvdWNoX2ZpbGVzLCBhcHBseV9wYXRjaCk6IE5ldyBmdW5jdGlvbnMuCglVc2UgdGhlbS4gIE5ldyBjb21tYW5kLWxpbmUgb3B0aW9uIC0tcGF0Y2guICBTcGxpdCB0ZXN0IG9mIGxvY2FsCgl0cmVlIGludG8gdHdvIHBhcnRzLiAgQWRkIGNvbW1lbnRzLgoKMTk5OS0wNy0wMyAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiB0ZXN0X3N1bW1hcnk6IElmIFRhcmdldCBpcyBgdW5peHsqfScsIGFwcGVuZCB0aGUgVGFyZ2V0IHZhcmlhbnRzCgl0byBIb3N0LgoKMTk5OS0wNi0xMiAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiB0ZXN0X3N1bW1hcnk6IFNldCBkZWZhdWx0IG1haWwtYWRkcmVzcyBhbmQgdmVyc2lvbiBmb3IgZWdjcwoJaW5zdGVhZCBvZiByZWx5aW5nIG9uIHVucHJlZGljdGFibGUgcGF0aG5hbWVzLgoJUmVwb3J0ZWQgYnkgQW5kcmVhcyBKYWVnZXIgPGFqQGFydGh1ci5yaGVpbi1uZWNrYXIuZGU+CgpGcmkgQXByICAyIDE2OjA5OjAyIDE5OTkgIEplZmZyZXkgQSBMYXcgIChsYXdAY3lnbnVzLmNvbSkKCgkqIGZpeGluYy8qOiBEZWxldGUgb2Jzb2xldGUgZmlsZXMuCgoxOTk5LTAyLTA0ICBSb2JlcnQgTGlwZSAgPHJvYmVydGxpcGVAdXNhLm5ldD4KCgkqIGVnY3NfdXBkYXRlOiBUZXN0IHJldHVybiB2YWx1ZXMgb2YgJ2N2cyB1cGRhdGUnLiAgUHJvcG9nYXRlCgl0byBjYWxsZXIgYXMgZXhpdCB2YWx1ZXMuCgoxOTk5LTAxLTI1ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBlZ2NzX3VwZGF0ZTogVXNlICJpZiIgaW5zdGVhZCBvZiAiJiYiLiAgVG91Y2ggZ2VuZXJhdGVkIGZpbGVzCglvbmx5IGFmdGVyIHRoZSBjb3JyZXNwb25kaW5nICoueSBmaWxlcy4KCjE5OTktMDEtMTkgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGVnY3NfdXBkYXRlOiBEbyBub3QgdXNlIHhhcmdzLCBidXQgYSBiYWNrcXVvdGUgY29uc3RydWN0LgoKMTk5OS0wMS0wNyAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiB0ZXN0X3N1bW1hcnkgKHZlcnNpb24pOiBSZW1vdmUgY2FycmlhZ2UgcmV0dXJuIHRoYXQgZ2F3ayBpbnNlcnRzCglpbiB0aGUgdmVyc2lvbiBzdHJpbmcgZm9yIHNvbWUgcmVhc29uLgoKMTk5OC0xMS0zMCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZWdjc191cGRhdGU6IE9ubHkgdG91Y2ggZmlsZXMgdGhhdCBhbHJlYWR5IGV4aXN0LgoKMTk5OC0xMS0yOSAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiB0ZXN0X3N1bW1hcnkgKEVPRik6IFJlbW92ZSBkb3VibGUgYmFja3NsYXNoLgoJUmVwb3J0ZWQgYnkgRnJhbnogU2lybCA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoxOTk4LTExLTI4ICBBbGV4YW5kcmUgT2xpdmEgIDxvbGl2YUBkY2MudW5pY2FtcC5icj4KCgkqIHRlc3Rfc3VtbWFyeSAoYWRkcmVzcyk6IFNldCB0byBlZ2NzLXRlc3RyZXN1bHRzIG1haWxpbmcgbGlzdC4KCjE5OTgtMTEtMjcgIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogdGVzdF9zdW1tYXJ5IChhZGRyZXNzKTogQWRkZWQgTWFyYyBMZWhtYW5uJ3MgdGVzdHN1aXRlLXJlc3VsdHMKCXRvIHRoZSBkZWZhdWx0IGUtbWFpbCBhZGRyZXNzLgoKMTk5OC0xMS0yNSAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiB0ZXN0X3N1bW1hcnkgKC1wLCBwcmVwZW5kX2xvZ3MpOiBBZGQgdGhlc2UgYmVmb3JlIHRoZSBzdW1tYXJ5LgoJKENvbXBpbGVyLCBQbGF0Zm9ybSk6IFByaW50IHRoZXNlIGp1c3QgYmVmb3JlIGNvbmZpZ2ZsYWdzLgoKU2F0IE9jdCAzMSAxMDo1Mzo0MCAxOTk4ICBLYXZlaCBSLiBHaGF6aSAgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+CgoJKiB3YXJuX3N1bW1hcnkgKGxvbmdMaW5lRmlsdGVyKTogTmV3IHNoZWxsIGZ1bmN0aW9uIHRvIGVuY2Fwc3VsYXRlCgl0aGlzIGZ1bmN0aW9uYWxpdHkuICBJdCBpcyBvZmYgYnkgZGVmYXVsdCwgb25seSBhY3RpdmUgaWYgLWxsZgoJZmxhZyBpcyBzcGVjaWZpZWQuCgkoc3ViZGlyZWN0b3J5RmlsdGVyKTogRml4IGJ1ZyBpbiBmaWx0ZXJpbmcgd2hpY2ggbWFkZSBzb21lCglzdWJkaXJlY3Rvcnkgd2FybmluZ3MgZXJyb25lb3VzbHkgYXBwZWFyIGluIHRoZSB0b3BsZXZlbCBzZXQuCgkoc3RhZ2VOZmlsdGVyKTogUmVuYW1lZCBmcm9tIGBzdGFnZU53YXJucycuICBVcGRhdGVkIHRvIGNvbGxlY3QKCXdhcm5pbmdzIGZyb20gc3RhZ2UxIGFzIHdlbGwgYXMgc3RhZ2UwLCB3aGljaCBtZWFucyB3YXJuaW5ncyBmcm9tCglvdXRzaWRlIHRoZSBib290c3RyYXAgZGlyZWN0b3J5LiAgRWcsIHRoZSBsaWJyYXJpZXMsIGV0Yy4KCSh3YXJuaW5nRmlsdGVyKTogTmV3IHNoZWxsIGZ1bmN0aW9uIHRvIGVuY2Fwc3VsYXRlIHRoaXMKCWZ1bmN0aW9uYWxpdHkuCgkoa2V5d29yZEZpbHRlcik6IE5ldyBzaGVsbCBmdW5jdGlvbiB0byBlbmNhcHN1bGF0ZSB0aGlzCglmdW5jdGlvbmFsaXR5LgoKCVN0b3JlIGRhdGEgaW4gYSB0ZW1wIGZpbGUgcmF0aGVyIHRoYW4gY2FsY3VsYXRpbmcgaXQgM3guICBBcnJhbmdlCgl0byByZW1vdmUgaXQgb24gZXhpdCBhbmQgc2lnbmFscy4KCglBZGQgLXBhc3MvLXdwYXNzIGZsYWdzIHRvIGRvICJwYXNzIHRocm91Z2giIChpLmUuIG1hbnVhbAoJaW5zcGVjdGlvbikgb2YgYm9vdHN0cmFwIG91dHB1dCBmcm9tIGEgcGFydGljdWxhciBzdGFnZU4gYXMgd2VsbAoJYXMgbGFuZ3VhZ2Ugc3ViZGlycy4KCglBZGQgYmV0dGVyIGNvbW1lbnRzL2RvY3VtZW50YXRpb24uCgpTYXQgT2N0IDMxIDE2OjM5OjMxIDE5OTggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGVnY3NfdXBkYXRlOiBBZGQgY29tbWVudCBhYm91dCBrZWVwaW5nIHRoZSBGQVEgc3luY2hyb25pemVkLgoKRnJpIE9jdCAzMCAwMDozOToyNyAxOTk4ICBKZWZmcmV5IEEgTGF3ICAobGF3QGN5Z251cy5jb20pCgoJKiBlZ2NzX3VwZGF0ZTogRG8gdG91Y2ggamF2YS9wYXJzZS5jIGFuZCBqYXZhL3BhcnNlLXNjYW4uYy4gVGhleSdyZQoJaW4gdGhlIHJlcG8gYWdhaW4uCgpGcmkgT2N0IDE2IDA3OjM1OjAwIDE5OTggIEJydWNlIEtvcmIgPGtvcmJAZGF0YWRlc2lnbi5jb20+CgoJKiBlZ2NzX3VwZGF0ZTogIEFkZGVkIGdjYy9maXhpbmMvKiBnZW5lcmF0ZWQgZmlsZXMgdG8gdG91Y2ggbGlzdC4KClR1ZSBPY3QgMTMgMjM6Mjg6MzMgMTk5OCAgSmVmZnJleSBBIExhdyAgKGxhd0BjeWdudXMuY29tKQoKCSogZWdjc191cGRhdGU6IFJlbW92ZSBnY2MvamF2YS9wYXJzZS5jIGZyb20gbGlzdCBvZiBmaWxlcyB0bwoJdG91Y2guCgpXZWQgT2N0ICA3IDEzOjAwOjQwIDE5OTggIEthdmVoIFIuIEdoYXppICA8Z2hhemlAY2FpcC5ydXRnZXJzLmVkdT4KCgkqIGdwZXJmLTIuNy0xOTk4MTAwNi5wYXQ6IE5ldyBmaWxlLCBwYXRjaCBmb3IgZWdjcy1sb2NhbCBncGVyZi4KCk1vbiBPY3QgIDUgMTQ6MTk6NDggMTk5OCAgS2F2ZWggUi4gR2hhemkgIDxnaGF6aUBjYWlwLnJ1dGdlcnMuZWR1PgoKCSogd2Fybl9zdW1tYXJ5IChzdWJkaXJlY3RvcnlGaWx0ZXIpOiBOZXcgc2hlbGwgZnVuY3Rpb24gdG8KCW9wdGlvbmFsbHkgZmlsdGVyIGluL291dCBnY2Mgc3ViZGlyZWN0b3JpZXMgd2hlbiBzdW1tYXJpemluZwoJd2FybmluZ3MuICBBZGQgbmV3IGZsYWdzIHRvIHN1cHBvcnQgc3ViZGlyZWN0b3J5IGZpbHRlcmluZy4KCglBbHNvLCBlbnN1cmUgdGhlIGJvb3RzdHJhcCBzdGFnZSBpcyBhIG51bWJlci4gIEFkZCBzb21lIG1vcmUgQwoJa2V5d29yZHMgdGhhdCBhcmUgcHJlc2VydmVkIGluIHRoZSAid2FybmluZyB0eXBlIiBzdW1tYXJ5IGFuZAoJdGlnaHRlbiB1cCB0aGUgImFyZyA/Pz8iIHJlZ2V4cC4KClR1ZSBTZXAgMjIgMDc6MzAgQnJ1Y2UgS29yYiA8a29yYkBkYXRhZGVzaWduLmNvbT4KCgkqIGZpeGluYy9pbmNsaGFjay5kZWY6ICBOb3QgYWxsIEMrKyBjb21tZW50cyBpbiBDIGhlYWRlcnMKCXdlcmUgdHJlYXRlZCBhbGlrZS4gIFRoZXkgYXJlIG5vdy4gIEFsc28gZml4ZWQgc3ludGF4CglvZiBzZWQgZXhwcmVzc2lvbiBpbiAic3lzdHlwZXMiIGZpeC4KCgkqIGZpeGluYy9pbmNsaGFjay5kZWY6ICBSZW1vdmVkIFNWUjQuMi1pc20gZnJvbSBzaGVsbCBpbnZvY2F0aW9uCgoJKiBlZ2NzX3VwZGF0ZTogIEFkZGVkIGZpeGluYy8qIGdlbmVyYXRlZCBmaWxlcyB0byB0b3VjaCBsaXN0LgoKV2VkIFNlcCAxNiAxNjowNjo1MSAxOTk4ICBLYXZlaCBSLiBHaGF6aSAgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+CgoJKiBlZ2NzX3VwZGF0ZTogQWRkaXRpb25hbGx5IHRvdWNoIGdjYy9qYXZhL3BhcnNlLltjaF0uCgpUaHUgU2VwICA5IDE2OjQ4IEJydWNlIEtvcmIgPGtvcmJAZGF0YWRlc2lnbi5jb20+CgoJKiBmaXhpbmMvaW5jbGhhY2suZGVmOiAgQWRkZWQgdHdvIGZpbGVzIHJlcXVpcmVkIGJ5CglTQ08ncyBPcGVuIFNlcnZlciA1J3MgYXZvaWRfYm9vbCBmaXguCglSZWdlbmVyYXRlZCBmaXhpbmMueCBhbmQgaW5jbGhhY2suc2ggdG8gaW5jb3Jwb3JhdGUKCXRoZSB1cGRhdGUuCgpUaHUgU2VwICAzIDEwOjExOjMyIDE5OTggIFJvYmVydCBMaXBlICAgPHJvYmVydGxAZGdpaS5jb20+CgoJKiBlZ2NzX3VwZGF0ZTogRG8gdGhlIHBhc3MgMSBDVlMgdXBkYXRlIG9ubHkgZm9yIGZpbGVzIHRoYXQKCW1heSByZWFzb25hYmx5IGJlIHVuZGVyIENWUyBjb250cm9sLgoKMTk5OC0wOC0xNCAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiB0ZXN0X2luc3RhbGxlZDogTmV3IHNjcmlwdCBmb3IgdGVzdGluZyBhbHJlYWR5LWluc3RhbGxlZAoJZ2NjL2crKy9nNzcuCgpXZWQgQXVnIDEyIDE5OjU5OjM2IDE5OTggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGVnY3NfdXBkYXRlOiBBc3NpZ25lZCBjb3B5cmlnaHQgdG8gRlNGLgoKVHVlIEF1ZyAxMSAxNzo1NTo1MyAxOTk4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgkJCSAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiBlZ2NzX3VwZGF0ZTogTmV3IHN3aXRjaCAtLW5vc3RkZmxhZ3MgYW5kIGRvY3VtZW50YXRpb24KCWVuaGFuY2VtZW50cy4KClR1ZSBBdWcgMTEgMTc6MzM6MTkgMTk5OCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZWdjc191cGRhdGU6IE5ldyBzY3JpcHQuCgoxOTk4LTA4LTA1ICBCcnVjZSBLb3JiIDxrb3JiYkBkYXRhZGVzaWduLmNvbT4KCgkqIGZpeGluYy9NYWtlZmlsZQoJQWRkZWQgZGVmaW5lIGZvciB0YXJnZXQgbWFjaGluZSBzbyBtYWNoaW5lLXNwZWNpZmljIHRlc3RzCgljYW4gYmUgc2VsZWN0ZWQgZm9yIG9yIGFnYWluc3QuCgoJKiBmaXhpbmMvZml4aW5jbC5jCglBZGRlZCBhbiBhcnJheSBvZiBzdHJpbmcgcG9pbnRlcnMgdG8gbWFjaGluZXMgdG8gc2VsZWN0CglvciBhdm9pZCwgZGVwZW5kaW5nIG9uIGEgRkRfTUFDSF9JRk5PVCBiaXQgZmxhZy4KCVVzZWQgYSBzaGVsbCBzY3JpcHQgdG8gbWF0Y2ggdGhlIGRlZmluZWQgVEFSR0VUX01BQ0hJTkUKCXdpdGggYW55IG9mIHRoZSBnaXZlbiBtYXRjaCBwYXR0ZXJucy4KCgkqIGZpeGluYy9maXhpbmNsLnRwbAoJR2VuZXJhdGUgdGhlIGFycmF5IG9mIHN0cmluZ3MgYW5kIGJpdCBmbGFnLCBhcyBuZWVkZWQsCglkZXBlbmRpbmcgb24gIm1hY2giIGFuZCAibm90X21hY2hpbmUiIGF0dHJpYnV0ZXMgZm9yIGEgZml4LgoKCSogZml4aW5jL21rZml4aW5jLnNoCglJbnZva2UgdGhlIG1ha2Ugd2l0aCBUQVJHRVQgYXNzaWduZWQgdGhlIHZhbHVlIG9mIHRoZQoJbWFjaGluZSBuYW1lIGFyZ3VtZW50LgoKTW9uIEp1bCAyNyAyMjowODoxMiAxOTk4ICBNaWtlIFN0dW1wICAobXJzQHdycy5jb20pCgoJKiBjb21wYXJlX3Rlc3RzOiBOZXcgc2NyaXB0LgoKMTk5OC0wNy0yOCAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiB0ZXN0X3N1bW1hcnk6IEFzc2lnbmVkIGNvcHlyaWdodCB0byBGU0YuCgpNb24gSnVsIDI3IDIwOjMzOjAyIDE5OTggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHRlc3Rfc3VtbWFyeTogQ29ycmVjdGVkIHNjcmlwdCBuYW1lIGluIGNvbW1lbnRzIHByb3ZpZGluZwoJZG9jdW1lbnRhdGlvbi4gIEFkZGVkIGxpbmVicmVha3MgZm9yIGxpbmVzIHdpdGggPiA4MCBjaGFyYWN0ZXJzLgoKRnJpIEp1biAxOSAwMjozNjo1OSAxOTk4ICBBbGV4YW5kcmUgT2xpdmEgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogdGVzdF9zdW1tYXJ5OiBOZXcgc3dpdGNoLCAtaSwgYW5kIGVudmlyb25tZW50IHZhcmlhYmxlLAoJYXBwZW5kX2xvZ3MsIGZvciBpbmNsdWRpbmcgZmlsZXMgaW4gdGhlIHJlcG9ydC4KCjE5OTgtMDYtMDEgIE1hbmZyZWQgSG9sbHN0ZWluICA8bWFuZnJlZEBzLWRpcmVrdG5ldC5kZT4KCgkqIHdhcm5fc3VtbWFyeTogVXBkYXRlIHRvIEthdmVoJ3MgbGF0ZXN0IHZlcnNpb24gYWxsb3dpbmcgdG8KCXNwZWNpZnkgdGhlIGxhc3Qgc3RhZ2UgYnVpbHQuCgoxOTk4LTA1LTI5ICBCcnVjZSBLb3JiIDxrb3JiYkBkYXRhZGVzaWduLmNvbT4KCgkqIGZpeGluYy9ta2ZpeGluYy5zaAoJQ2hhbmdlcyB0byBtYWtlIGl0IGVhc2llciB0byBpbnZva2Ugb24gcGxhdGZvcm1zIHRoYXQKCW5vcm1hbGx5IGRvIG5vdCBpbnZva2UgZml4aW5jbHVkZXMuCgoJKiBmaXhpbmMvaW5jbGhhY2suZGVmCglBcHBsaWVkIGZpeGVzIGZyb20gZWdjcy9nY2MvZml4aW5jbHVkZXMgZnJvbSB0aGUgcGFzdCBzZXZlcmFsCgltb250aHMuCgoxOTk4LTA1LTI4ICBCcnVjZSBLb3JiIDxrb3JiYkBkYXRhZGVzaWduLmNvbT4KCgkqIGZpeGluYy8qOiBVcGRhdGVkIG1vc3QgZXZlcnl0aGluZyBmb3IgYSBmaXJzdCByZWFsCgl0cnkgYXQgZ2V0dGluZyAiZmFzdF9maXhpbmNsdWRlcyIgd29ya2luZy4KCjE5OTgtMDUtMjggIEphc29uIE1lcnJpbGwgIDxqYXNvbkB5b3JpY2suY3lnbnVzLmNvbT4KCgkqIGluZGV4LXByb3A6IE5ldyBmaWxlLgoKU2F0IE1heSAyMyAyMzozODo0OSAxOTk4ICBNYXR0aGlhcyBLbG9zZSAgPGRva29AY3MudHUtYmVybGluLmRlPgoKCSogdGVzdF9zdW1tYXJ5OiBmaW5kIGdvb2QgYXdrIChjb3BpZWQgZnJvbSB3YXJuX3N1bW1hcnkpLgoKU2F0IE1heSAyMyAyMzozODozMyAxOTk4ICBKZWZmcmV5IEEgTGF3ICAobGF3QGN5Z251cy5jb20pCgoJKiB0ZXN0X3N1bW1hcnksIHdhcm5fc3VtbWFyeTogTmV3IGZpbGVzCg==