PT09IHJlbGVhc2UgMS4wLjEwID09PQoKMjAxMy0wOC0yOCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDEuMC4xMAoKMjAxMy0wMy0wMiAxMzo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgdmFyaWFudCBmaWVsZCB0byBILjI2MyBjYXBzCgkgIGF2ZGVjX2gyNjMgd29uJ3QgZ2V0IHBsdWdnZWQgb3RoZXJ3aXNlLgoKMjAxMy0wOC0yNiAxMzo0Nzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IERvbid0IHNldCBCWjJfTElCUyBpZiBiejIgaXMgbm90IGZvdW5kCgoyMDEzLTA4LTIyIDE0OjU1OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGJ6MiBjb25maWd1cmUgY2hlY2sgZm9yIFdpbmRvd3MKCSAgRHVlIHRvIGZ1bmN0aW9uIGRlY29yYXRpb25zIG9uIFdpbmRvd3MgQUNfQ0hFQ0tfTElCIGNhbid0IGJlIHVzZWQgdG8gY2hlY2sgZm9yIGJ6Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NTkyNAoKMjAxMy0wOC0yMSAxNjozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFdBVkVGT1JNQVRFWCBpcyB1bnNpZ25lZCBmb3IgOCBiaXQgaW50ZWdlcnMsIGFuZCBzaWduZWQgZm9yIG90aGVycwoJICBQcm9iYWJseSBmaXhlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDc3CgoyMDEzLTA4LTA1IDA4OjQ5OjUwICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogRW5zdXJlIHNyYyBjYXBzIGFyZSB3cml0YWJsZQoJICBJbiBzb21lIGNhc2VzIHRoZSBzcmMgY2FwcyBkZXRlcm1pbmVkIGJ5IGdvb20gd2VyZW4ndCB3cml0YWJsZSwgY2F1c2luZwoJICBhIGJ1bmNoIG9mIGFzc2VydGlvbiBmYWlsdXJlcyBhbmQgZmFpbGVkIGNhcHMuIEZpeGVkIGJ5IGFsd2F5cwoJICBleHBsaWNpdGVseSBtYWtpbmcgdGhlIGNhcHMgd3JpdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ3NQoKMjAxMy0wNy0zMCAxNDoyODoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGRvbid0IGxlYWsgc3RyZWFtX2lkIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTQyCgkgIENvbmZsaWN0czoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jCgo9PT0gcmVsZWFzZSAxLjAuOSA9PT0KCjIwMTMtMDctMzAgMTI6MzA6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlbGVhc2UgMS4wLjkKCSAgVGhpcyB0aW1lIHdpdGggQ2hhbmdlTG9nIGZpbGUKCjIwMTMtMDctMzAgMTE6MzU6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC45CgoyMDEzLTA3LTI4IDE3OjMyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBmb3JnZXQgdW5tYXBwaW5nIGFuZCB1bnJlZmZpbmcgYnVmZmVyCgoyMDEzLTA3LTI2IDIxOjA2OjE3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdW5tYXAgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTEKCjIwMTMtMDctMjYgMTY6MDI6MDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGNoZWNrX3N1YnRpdGxlX2J1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTIxCgoyMDEzLTA2LTIwIDExOjMxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI4IDE4OjA5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IEZpeCBoYW5kbGluZyBvZiBpbWFnZSB0YWdzCgkgIFRoZSBjYXBzIHNob3VsZCBiZSB1c2VkIHRvIGdldCB0aGUgbWltZXR5cGUgYW5kIHRoZXJlIGlzCgkgIG9ubHkgYW4gaW5mbyBzdHJ1Y3R1cmUgZm9yIHRoZSBHc3RTYW1wbGUgaWYgdGhlIGltYWdlLXR5cGUKCSAgaXMgbm90IE5PTkUuCgoyMDEzLTA3LTI4IDE4OjA0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IERvbid0IGNyYXNoIGlmIHRoZXJlIGlzIG5vIGltYWdlIHRhZyBpbmZvcm1hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDE4CgoyMDEzLTA0LTE1IDE5OjUzOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBEaXNhYmxlIHJlbmVnb3RpYXRpb24gaW4gdGhlIG5lZ290aWF0ZSBtZXRob2QKCSAgVGhpcyB3YXksIHdlIGRvbid0IGJsb2NrIHRoZSBpbml0aWFsIG5lZ290aWF0aW9uLgoJICBUaGFua3MgdG8gSmVyZW15IFdoaXRpbmcgZm9yIGRvaW5nIGFsbCB0aGUgdGVzdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTk4MQoKMjAxMy0wNC0xNSAxOTo0NjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBkaXNhYmxlIHJlbmVnb3RpYXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDFiMjZlMWQ1OTRhYjJiNjMzMjRlNDNhMzYzMzA0NzVlOThjZGYxOC4KCSAgVGhpcyBjYXVzZXMgdGhlIGluaXRpYWwgbmVnb3RpYXRpb24gdG8gbmV2ZXIgaGFwcGVuIGlmIGEgcmVjb25maWd1cmUKCSAgZXZlbnQgaXMgcmVjZWl2ZWQgYWZ0ZXIgZ3N0X2Jhc2Vfc3JjX3N0YXJ0X2NvbXBsZXRlKCkgYnV0IGJlZm9yZSB0aGUgbG9vcAoJICBzdGFydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU5ODEKCjIwMTMtMDctMjIgMTg6MDA6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggb24tdGhlLWZseSBjaGFuZ2luZyBvZiAibW9kZSIgYW5kICJmaWVsZHMiIHByb3BlcnRpZXMKCSAgV2UgY2FsbCBzZXRjYXBzKCkgdG8gcmVjb25maWd1cmUgb3Vyc2VsdmVzLCBidXQgd2UgbmVlZCB0byBwYXNzCgkgIHRoZSBjdXJyZW50ICpzaW5rKiBjYXBzLCBub3QgdGhlIHNvdXJjZSBjYXBzIHRoZW4uIEFsc28gZml4IGEKCSAgY2FwcyBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNTk5CgoyMDEzLTA3LTE5IDE1OjI0OjA4ICswMjAwICBQZXRlciBLb3JzZ2FhcmQgPGphY21ldEBzdW5zaXRlLmRrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIChkeW58bXVsdGkpdWRwc2luazogdW5icmVhayBvbiAhSVB2NiBzeXN0ZW1zIGFmdGVyIDEzMDI2OGJjIChCaW5kIHNvY2tldCBiZWZvcmUgdXNpbmcgaXQpCgkgIFRoZSBnX3NvY2tldCBmdW5jdGlvbnMgb25seSB0b3VjaCB0aGUgZXJyb3IgYXJndW1lbnQgb24gZXJyb3JzLCBzbyBjbGVhcgoJICBlcnIgYmFjayB0byBOVUxMIGluIGNhc2UgZ19zb2NrZXRfbmV3IChHX1NPQ0tFVF9GQU1JTFlfSVBWNikgZmFpbGVkLCBhcwoJICB3ZSBjaGVjayBmb3IgZXJyICE9IE5VTEwgbGF0ZXIgb24gdG8ga25vdyBpZiBnX3NvY2tldF9iaW5kKCkgZmFpbGVkLAoJICBvdGhlcndpc2Ugd2UgZXJyb3VzbHkgZmFpbCBvbiBzeXN0ZW1zIHdpdGhvdXQgSVB2NiBzdXBwb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTUzCgoyMDEzLTAxLTI4IDEyOjIzOjQxICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIHJ0cDogcmVtb3ZlIHBheWxvYWQgcmVxdWlyZW1lbnRzIGZyb20gc2VsZWN0ZWQgZGVwYXlsb2FkZXJzCgkgIGVuY29kaW5nIG5hbWUgaXMgcmVxdWlyZWQgaW4gdGhlIGNhcHMgYW5kIGlzIGEgYmV0dGVyIGZpdCBmb3IgYXV0b3BsdWdnaW5nIHRoYW4KCSAgdGhlIHB0IHZhbHVlLiBIYXJkd2FyZSBtYW51ZmFjdHVyZXJzIGhhdmUgYSBiYWQgaGFiaXQgb2Ygc2tpbW1pbmcgdGhyb3VnaCBSRkNzCgkgIGFuZCBpbiB0aGlzIGNhc2U7IHVzZSB1bmFzc2lnbmVkIG51bWJlcnMgZm9yIGVuY29kZXJzIGluc3RlYWQgb2YgZHluYW1pYwoJICBudW1iZXJzLgoJICBJbiBlc3NlbmNlLCB0aGlzIHBhdGNoIHdpbGwgYWRkIHN1cHBvcnQgZm9yIGEgbG90IG9mIEJvc2NoIGhhcmR3YXJlIGVuY29kZXJzCgkgIHdpdGhvdXQgYnJlYWtpbmcgYXV0b3BsdWdnaW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MjkyCgoyMDEzLTAxLTI4IDEyOjQxOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHBkZXBheTogcmVtb3ZlIHBheWxvYWQgdHlwZSByZXN0cmljdGlvbnMKCSAgUmVtb3ZlIHRoZSBwdCByZXN0cmljdGlvbnMgZm9yIGFsbCB0aGUgZGVwYXlsb2FkZXJzIHRoYXQgaGF2ZSBhbgoJICBlbmNvZGluZy1uYW1lLiBXZSBjYW4gdXNlIHRoaXMgdG8gYXV0b3BsdWcgZGVjb2RlcnMuCgkgIFJlbW92ZSB0aGUgZW5jb2RpbmctbmFtZSBmb3IgYWxsIHRoZSBwYXlsb2FkZXJzIHdpdGggYSBmaXhlZCBwYXlsb2FkCgkgIHR5cGUuCgkgIFdlIG5vdyBlaXRoZXIgaGF2ZSBhbiBlbmNvZGluZy1uYW1lIG9yIGEgcHQgaW4gdGhlIHNpbmtwYWQgY2FwcyBvZgoJICBhIGRlcGF5bG9hZGVyLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI5MgoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jCgoyMDEzLTA3LTE3IDE3OjExOjQ0ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXN0cm9rYWRlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBVbnNldCB0aGUgZGlzY29udCBmbGFnIGluc3RlYWQgb2YgcG9zc3NpYmx5IHB1c2hpbmcgYSBidWZmZXIgd2l0aAoJICBhIGZsYWcgdGhhdCdzIHN0aWxsIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjExMAoKMjAxMy0wNy0xNCAxMjo1MDoxMyArMTIwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQGhhbG8uZ2VuLm56PgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBsZXZlbDogRml4IHRoZSBzcGVjdHJ1bSBleGFtcGxlIGZvciAxLjAKCSAgVGhlICJtZXNzYWdlIiBwcm9wZXJ0eSBoYXMgYmVlbiByZXBsYWNlZCBieSAicG9zdC1tZXNzYWdlcyIuCgkgIFByZS1wYXRjaCBvdXRwdXQ6CgkgICh0ZXN0X3NwZWN0cnVtOjIzMTAxKTogR0xpYi1HT2JqZWN0LVdBUk5JTkcgKio6IGdfb2JqZWN0X3NldF92YWxpc3Q6CgkgIG9iamVjdCBjbGFzcyBgR3N0U3BlY3RydW0nIGhhcyBubyBwcm9wZXJ0eSBuYW1lZCBgbWVzc2FnZScKCSAgTmV3IHNwZWN0cnVtIG1lc3NhZ2UsIGVuZHRpbWUgMDowMDowMC4xMDAwMDAwMDAKCSAgKHRlc3Rfc3BlY3RydW06MjMxMDEpOiBHU3RyZWFtZXItQ1JJVElDQUwgKio6CgkgIGdzdF92YWx1ZV9saXN0X2dldF92YWx1ZTogYXNzZXJ0aW9uIGBHU1RfVkFMVUVfSE9MRFNfTElTVCAodmFsdWUpJyBmYWlsZWQKCSAgWy4uLl0KCSAgUG9zdC1wYXRjaDoKCSAgTmV3IHNwZWN0cnVtIG1lc3NhZ2UsIGVuZHRpbWUgMDowMDowMC4xMDAwMDAwMDAKCSAgYmFuZCAwIChmcmVxIDQwMCk6IG1hZ25pdHVkZSAtNjUuOTg4Nzc3IGRCIHBoYXNlIDEuNTMzMzk3CgkgIGJhbmQgMSAoZnJlcSAxMjAwKTogbWFnbml0dWRlIC02NS41NDU1NjMgZEIgcGhhc2UgLTAuNzgwOTAwCgkgIGJhbmQgMiAoZnJlcSAyMDAwKTogbWFnbml0dWRlIC02NC43OTE5NDYgZEIgcGhhc2UgLTAuNzk5NjExCgkgIGJhbmQgMyAoZnJlcSAyODAwKTogbWFnbml0dWRlIC02NC41NTYxNzUgZEIgcGhhc2UgLTAuMDYzNjE1CgkgIFsuLi5dCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQxNzkKCjIwMTMtMDctMTMgMjA6NTY6MjYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBiZSBsZXNzIHZlcmJvc2Ugd2hlbiBwYXJzaW5nIExPQVMgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MTYyCgoyMDEzLTA3LTEyIDEyOjMxOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBzaW5rOiBhbGF3L211bGF3IGNhcHMgZG9uJ3QgaGF2ZSBhIGxheW91dCBwcm9wZXJ0eQoKMjAxMy0wNy0xMiAxMjoyNzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHJlbGF4IG11bGF3IGFuZCBhbGF3IGZvcm1hdCBjaGVja3MKCSAgVGhlIGF1ZGlvIGxpYnJhcnkgY29uc2lkZXJzIHRoZW0gYXMgZW5jb2RlZCBmb3JtYXRzIGFuZCBkb2VzIG5vdCBmaWxsIGluIHRoZQoJICBzYW1wbGUgd2lkdGguIFRoZSBhdWRpbyByaW5nYnVmZmVycyBpZGVudGlmaWVzIHRoZSBmb3JtYXQgYXMgYWxhdy9tdWxhdyBhbmQgdGhhdAoJICBpcyBhbHdheXMgOCBiaXRzLgoKPT09IHJlbGVhc2UgMS4wLjggPT09CgoyMDEzLTA3LTEyIDExOjE0OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC44CgoyMDEzLTA3LTA5IDE1OjM0OjA0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmZXIgdGhlIHdpbmRvdyBoYW5kbGUgc2V0dXAgdG8gdGhlIG1haW4gdGhyZWFkCgoyMDEzLTA3LTA5IDE1OjMzOjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRlZmF1bHQgdG8gdGhlIG1haW4gaW4gY2FzZSB3ZSBhcmUgbm90IHNldHVwIHlldAoKMjAxMy0wNy0wNyAyMjoxNjowNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBjbG9zZSB0aGUgaW50ZXJuYWwgd2luZG93IGNvcnJlY3RseQoKMjAxMy0wNy0wNyAyMToxNDoyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IG9ubHkgY3JlYXRlIHRoZSBOUyBhcHAgdGhyZWFkIGZvciBDb2NvYSBvbmNlCgkgIFRoZSBoZWxwZXIgdGhyZWFkIGZvciBDb2NvYSwgaW4gY2FzZSBubyBOUyBydW4gbG9vcCBpcyBydW5uaW5nLAoJICBzaG91bGQgYmUgc3RhcnRlZCBvbmx5IG9uY2UgYW5kIHNoYXJlZCBhY3Jvc3MgYWxsIHRoZSBpbnN0YW5jZXMKCSAgcnVubmluZwoKMjAxMy0wNi0wNSAxNzowMjo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHN1cHBvcnQgaW4gVk0ncyB3aXRob3V0IGhhcmR3YXJlIGFjY2VsZXJhdGlvbgoKMjAxMy0wNC0xNSAxNDozMjo0NiArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2VnZmF1bHQgYWNjZXNzaW5nIG9zeHdpbmRvdyB3aGVuIG5vdCBzZXQgeWV0CgoyMDEzLTA3LTA5IDEyOjQyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBGaXggaGFuZGxpbmcgb2YgYnVmZmVycyB3aXRob3V0IGEgZHVyYXRpb24KCSAgV2UnbGwgaGF2ZSB0byBwb3AgYnVmZmVyIGZyb20gY29sbGVjdHBhZHMgYW5kIHN0b3JlIGl0CgkgIGludGVybmFsbHkgb25seSB0byBnZXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbmV4dCBidWZmZXIuCgkgIElmIHdlIGNvbnRpbnVlIHRvIGtlZXAgaXQgaW4gY29sbGVjdHBhZHMsIG5vIG5ldyBidWZmZXIKCSAgdG8gY2FsY3VsYXRlIHRoZSBlbmQgdGltZSB3aWxsIGV2ZXIgYXJyaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNzQzCgoyMDEzLTA3LTA5IDExOjUzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBGaXggbmVnb3RpYXRpb24gd2l0aCAwLzEgZnJhbWVyYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNzQzCgoyMDEzLTA3LTA5IDExOjE3OjU5ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVbmxvY2sgc3RyZWFtIGxvY2sgYWZ0ZXIgdXNlCgkgIFN0cmVhbSBsb2NrIG9mIHNpbmsgcGFkIHdhcyBub3QgdW5sb2NrZWQgYWZ0ZXIgbm9uLXVwZGF0aW5nIHNlZWsuCgoyMDEzLTA3LTA4IDE0OjA5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBEb24ndCBwYXNzIHVwc3RyZWFtIGZpbHRlciBjYXBzIHRvIGRvd25zdHJlYW0KCSAgRG93bnN0cmVhbSB1c3VhbGx5IGNhbid0IGFjY2VwdCB2aWRlby94LWgyNjMgYnV0IG9ubHkgYXBwbGljYXRpb24veC1ydHAsCgkgIHNvIHdlIHdvdWxkIGFsd2F5cyBnZXQgYW4gZW1wdHkgaW50ZXJzZWN0aW9uIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MzIKCjIwMTMtMDYtMjUgMjE6MTY6MzggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQWRkIGZsdnZlcnNpb24gMSB0byB0aGUgZmxhc2gtdmlkZW8gY2FwcwoJICBUaGlzIGFsbG93cyB1c2luZyBhdmRlY19mbHYgd2hpY2ggcmVxdWlyZXMgdGhpcyBmaWVsZCB0byBiZQoJICBwcmVzZW50IGluIHRoZSBjYXBzLiBGTFYgb25seSBzdXBwb3J0cyBmbGFzaC12aWRlbyB2ZXJzaW9uIDEKCSAgcmlnaHQgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMDc2CgoyMDEzLTA2LTI3IDA3OjQwOjI5ICswMjAwICBEYXZpZCBTdmVuc3NvbiBGb3JzIDxkYXZpZHNmQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIGRvdWJsZSBidWZmZXIgdW5tYXAgb24gZXJyb3IKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzE3MQoKMjAxMy0wNi0yMCAxNTozNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogZG9uJ3QgcmVkZWZpbmUgdGhlIFBFUkZPUk1BTkNFIGRlYnVnIHZhcmlhYmxlCgkgIEl0IGlzIGFscmVhZHkgZGVmaW5lZCBpbiBjb3JlLgoJICBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzMyCgoyMDEzLTA2LTIwIDE0OjQzOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggcmFjZSBpbiBzdGF0ZSBjaGFuZ2UgdG8gcGF1c2VkCgkgIFdoZW4gd2UgZ28gdG8gcGF1c2VkLCB3ZSBmaXJzdCBmbHVzaCB0aGUgY29ubmVjdGlvbiBhbmQgdGhlbiBzZW5kIHRoZSBwYXVzZQoJICBjb21tYW5kLiBBcyBhIHJlc3VsdCBvZiB0aGUgZmx1c2hpbmcsIHRoZSBzY2hlZHVsZWQgcGF1c2VkIGNvbW1hbmQgY2FuIGdldAoJICBsb3N0LiBXYWl0IHVudGlsIHRoZSBjb25uZWN0aW9uIGlzIGNvbXBsZXRlbHkgZmx1c2hlZCBhbmQgdGhlIHJ0c3AgdGFzayBpcwoJICB3YWl0aW5nIGJlZm9yZSBpc3N1aW5nIHRoZSBwYXVzZWQgb3IgcGxheWluZyByZXF1ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzA1CgoyMDEzLTA2LTE1IDEyOjI5OjMxICswMjAwICBKZW5zIEdlb3JnIDxtYWlsQGplbnNnZS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICBydHBtcDJ0ZGVwYXk6IGFjY2VwdCBtaXNsYWJlbGxlZCBzdHJlYW1zIGZyb20gR1N0cmVhbWVyIDAuMTAgYXMgd2VsbAoJICBUaGUgbXAydCBwYXlsb2FkZXIgaW4gMC4xMCBtaXNsYWJlbGxlZCB0aGUgc3RyZWFtcyBhcyBNUDJULUVTCgkgIGluc3RlYWQgb2YgTVAyVCwgc28gYWNjZXB0IHRoYXQgYXMgd2VsbCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDU3CgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYwoKMjAxMy0wNi0wNyAxNTozODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICBwbmc6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RCeXRlUmVhZGVyIGFuZCBHc3RBZGFwdGVyCgoyMDEzLTA2LTE0IDE0OjA3OjQyICswMjAwICBCcnVubyBHb256YWxleiA8c3Rlbnlha0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgdW5sb2NrIHN0cmVhbSBsb2NrIHdpdGhvdXQgbG9ja2luZyBpdCBmaXJzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTY3CgoyMDEzLTA2LTExIDEyOjI1OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBmb3J3YXJkIENBUFMgZXZlbnRzIGZyb20gdXBzdHJlYW0KCSAgSnVzdCB1c2UgdGhlIGRlZmF1bHQgcGFkIGV2ZW50IGhhbmRsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5NzYKCjIwMTMtMDYtMDUgMTI6MTI6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgdWRwc2luazogYXZvaWQgbGVha2luZyB0aGUgaG9zdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTg2CgoyMDEzLTA0LTI0IDE2OjI0OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiByZXR1cm4gb3V0cHV0IGJ1ZmZlciBmcm9tIHByb2Nlc3MKCSAgUmV0dXJuIHRoZSBvdXRwdXQgYnVmZmVyIGZyb20gdGhlIHByb2Nlc3MgZnVuY3Rpb24gaW5zdGVhZCBvZiBwdXNoaW5nCgkgIGl0IG91cnNlbHZlcy4gVGhpcyB3YXksIHRoZSBzdWJjbGFzcyBjYW4gYWN0dWFsbHkgZGVhbCB3aXRoIHRoZSByZXR1cm4KCSAgdmFsdWUgb2YgdGhlIHB1c2guCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM3MjcKCjIwMTMtMDUtMjcgMjI6NDM6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogTWFpbnRhaW4gei1vcmRlciB3aGVuIG5ldyBwYWQgYXJlIGFkZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDExMDkKCjIwMTMtMDUtMjggMTQ6MzE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBGaXggZm9yIHNpbmdsZS1pbmNsdWRlcyB0aGF0IGFyZSBub3QgaW4gMS4wIHlldAoKMjAxMy0wMi0xNCAxNDoxMzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHJlbW92ZSBzb2YtbWFya2VyIGZyb20gdGVtcGxhdGUgY2FwcyBmb3Igbm93CgkgIE5vdyB0aGF0IHRoZSBzdWJzZXQgY2hlY2sgYWN0dWFsbHkgd29ya3MsIHRoaXMgYnJlYWtzCgkgIHRoaW5ncyB3aXRoIGRlbXV4ZXJzIHRoYXQgZG9uJ3QgcHV0IGEgInNvZi1tYXJrZXIiCgkgIGluIHRoZWlyIGpwZWcgY2FwcywgYW5kIHdlIGRvbid0IGhhdmUgYSBnb29kIHBhcnNlcgoJICB0byBwbHVnIGVpdGhlciB5ZXQuCgoyMDEzLTAyLTEzIDEyOjMyOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBQdXQgdGhlIFNPRiBtYXJrZXIgaW50byB0aGUgY2FwcwoKMjAxMy0wMi0xMyAxMjowMjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cC1wYXlsb2FkaW5nOiBGaXggdW5pdCB0ZXN0IGNhcHMgYW5kIEFNUiBkZXBheWxvYWRlciBzaW5rIHRlbXBsYXRlIGNhcHMKCSAgRmllbGRzIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBhY3R1YWwgY2Fwcywgb3IgdG9vIG1hbnkgZmllbGRzCgkgIGV4aXN0ZWQgaW4gdGhlIHRlbXBsYXRlIGNhcHMuCgoyMDEzLTAyLTEzIDExOjUzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggY2FwcyB1c2VkIGluIHRoZSB1bml0IHRlc3QKCSAgVGhlIEFBQyBjYXBzIHBhc3NlZCB3ZXJlIGluY29tcGxldGUuCgoyMDEzLTAyLTEzIDExOjQ5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2s6IEZpeCB1bml0IHRlc3RzLCB3aWR0aCBpcyBub3cgY2FsbGVkIGRlcHRoIGluIHRoZSBjYXBzIGluIDEuMAoKMjAxMy0wNS0yMyAxODoxMDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIChkeW58bXVsdGkpdWRwc2luazogQmluZCBzb2NrZXQgYmVmb3JlIHVzaW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4NzgKCjIwMTMtMDUtMTcgMTI6Mzc6NTkgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXk6IGNsZWFyIGNvbmZpZyBidWZmZXIgYmVmb3JlIHVzaW5nIGl0CgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgcGFydHMgb2YgdGhlIG1lbW9yeSBhcmUgb25seSBtb2RpZmllZCB3aXRoICJ8PSIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDUxNAoKMjAxMy0wNS0xNCAxNToyMzowOCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IGFsYWMgY2FwcyB1c2luZyBpbmZvIGZyb20gY29kZWMgYnVmZmVyCgkgIFRoZSBzYW1wbGVyYXRlIGZpZWxkIGluIHRoZSBTVFNEIGF0b20gaXMgbm90IHJpZ2h0IGZvciBzb21lIEFMQUMgZmlsZXMKCSAgKHVzdWFsbHkgd2hlbiBhdWRpbyBpcyA5NmtIei8yNGJpdHMpLCBzbyB0aGUgYXVkaW8gY2FwcyBtdXN0IGJlCgkgIGV4dHJhY3RlZCBmcm9tIHRoZSBjb2RlYyBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzgyCgoyMDEzLTA1LTE1IDExOjEzOjEyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDQtMTcgMTY6NTQ6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBxdGRlbXV4IHRha2VzIGl0cyBidWZmZXJzIGZyb20gYSBHc3RBZGFwdGVyLiBUaG9zZSBidWZmZXJzIGFyZSBjcmVhdGVkCgkgIGZyb20gdGhlIGxhcmdlciBidWZmZXIgdGhhdCBpdCBvYnRhaW5lZCBmcm9tIHVwc3RyZWFtIGFuZCB0aGV5IGNhcnJ5CgkgIHRoZSBzYW1lIGZsYWdzLCBpbmNsdWRpbmcgRElTQ09OVCBpZiBpdCBpcyBzZXQuIEluIHRoZXNlIGNhc2VzLCBhbGwKCSAgYnVmZmVycyB0aGF0IHF0ZGVtdXggaXMgZ29pbmcgdG8gcHVzaCB3b3VsZCBiZSBtYXJrZWQgYXMgRElTQ09OVC4KCSAgVGhpcyBzY2VuYXJpbyBjYW4gbWFrZSBwYXJzZXJzL2RlY29kZXJzIGZsdXNoIG9uIGV2ZXJ5IGJ1ZmZlciBsZWFkaW5nCgkgIHRvIG5vIGRlY29kaW5nIGF0IGFsbCBoYXBlbm5pbmcuIFRoaXMgcGF0Y2ggcHJldmVudHMgdGhpcyBieSB1bnNldHRpbmcKCSAgdGhlIGZsYWcgaWYgaXQgc2hvdWxkbid0IGJlIHNldC4KCjIwMTMtMDQtMTUgMTc6Mzc6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2V0dGluZyB3aW5kb3cgaGFuZGxlIGFmdGVyIHRyYW5zaXRpb24KCSAgVGhlIGRlc3Ryb3llZCBmbGFnIHdhcyBub3QgcmVzZXQgcHJvcGVybHkgYW5kIGl0J3MgYWxzbyBub3QgbmVlZGVkCgkgIGFzIHdlIGNhbiBjaGVjayBvc3h3aW5kb3cgIT0gTlVMTAoKMjAxMy0wNS0wNyAxNjozMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEJ5IGRlZmF1bHQgYXNzdW1lIHRoYXQgd2UncmUgd29ya2luZyBvbiBub24tcGFja2V0aXplZCBpbnB1dAoJICBPbmx5IGRldGVjdGluZyB0aGlzIGluIHNldF9mb3JtYXQoKSBkb2VzIG5vdCB3b3JrIGJlY2F1c2Ugd2UgbWlnaHQKCSAgbm90IGdldCBhbnkgY2FwcyBhdCBhbGwsIGUuZy4gZnJvbSBmaWxlc3JjLgoKMjAxMy0wNS0wNyAxNjozMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEltcGxlbWVudCBwYXJzaW5nIGZ1bmN0aW9uYWxpdHkKCSAgVGhpcyBhbGxvd3MgdG8gcGx1ZyBwbmdkZWMgZGlyZWN0bHkgd2l0aG91dCBhIHBhcnNlciBpZiB0aGF0CgkgIGlzIGRlc2lyZWQuCgkgIFBhcnNpbmcgY29kZSBpcyBiYXNlZCBvbiBwbmdwYXJzZS4KCjIwMTMtMDUtMDEgMTU6NDk6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IElmIHRoZSBhZGFwdGVyIGlzIGVtcHR5IG9uIEVPUyBkb24ndCB0cnkgdG8gbWFwIGl0cyBjb250ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzMTQKCjIwMTMtMDQtMzAgMTQ6MzY6MzggKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkIHN0cmVhbS1mb3JtYXQ9cmF3IHRvIGFhYyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzMDMKCjIwMTMtMDMtMDQgMTU6NDk6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiB1bm1hcCBzb3VyY2UgZnJhbWUgd2hlbiBkb25lIHRvIGZpeCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MjYwCgoyMDEzLTA0LTI3IDExOjE2OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgaW5jbHVkZXMgdG8gZ2V0IHNvY2tsZW5fdCBkZWZpbmVkIG9uIFdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQwMAoKMjAxMy0wMi0xNSAxNDoxMTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHVzZSBnX3NvY2tldF9zZXRfb3B0aW9uKCkgdG8gc2V0IGJ1ZmZlciBzaXplIHdpdGggbmV3ZXIgR0xpYiB2ZXJzaW9ucwoJICBTbyB3ZSBoYXZlIHRvIHdvcnJ5IGxlc3MgYWJvdXQgcG9ydGFiaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0MDAKCSAgQ29uZmxpY3RzOgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jCgo9PT0gcmVsZWFzZSAxLjAuNyA9PT0KCjIwMTMtMDQtMjYgMTI6NTI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC43CgoyMDEzLTA0LTI2IDEyOjUyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wMy0wNiAxMzoxNzo1NCArMDAwMCAgVG9tIEdyZWVud29vZCA8dGdyZWVud29vZEBUb21zLU1hY0Jvb2stUHJvLmxvY2FsPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggZm9yIGRpdmlkZSBieSB6ZXJvIHdoZW4gdXNpbmcgMC8xIGZyYW1lcmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NzA5CgoyMDEyLTEwLTAxIDA5OjI5OjIxIC0wMzAwICBEaW9nbyBDYXJib25lcmEgTHV2aXpvbiA8ZGlvZ28ubHV2aXpvbkBlbnNpdGVjLmNvbS5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc2F2ZSB0aGUgZm9ybWF0IGNvcnJlY3RseQoJICBJZiBUUllfRk1UIGlzIG5vdCBpbXBsZW1lbnRlZCwgIGdzdF92NGwyX29iamVjdF9nZXRfbmVhcmVzdF9zaXplIHdpbGwKCSAgdXNlIFNfRk1UIGFuZCB3aWxsIGNoYW5nZSB0aGUgZGV2aWNlJ3Mgb3BlcmF0aW9uIG1vZGUuIFRvIHNhdmUgdGhlCgkgIG9sZCBkZXZpY2UgbW9kZSB3ZSBuZWVkIHRvIHNldCB0aGUgdHlwZSBmaWVsZCBvciBlbHNlIGl0IHdpbGwgZmFpbAoJICB0byBzYXZlIHRoZSBwcmV2aW91cyBmb3JtYXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMDkKCjIwMTMtMDQtMjIgMTA6MTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBEcm9wIGZyYW1lIGlmIGl0J3MgbGVzcyB0aGFuIDIgYnl0ZXMgbGFyZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzU2MAoKMjAxMy0wNC0xOCAwOTozNzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvOiBJbmNsdWRlIGdzdGF1ZGlvcmluZ2J1ZmZlci5oIHRvIGZpeCBjb21waWxhdGlvbiBpbiAxLjAKCjIwMTMtMDQtMTcgMTA6MTA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3hhdWRpbzogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igb3N4YXVkaW8gcGx1Z2luCgoyMDEzLTA0LTE3IDIxOjA1OjE0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IGNoYW5uZWwtbWFzayBjb25maWd1cmF0aW9uIGZpeGVzCgkgIFNldCBjaGFubmVsLW1hc2sgYWNjb3JkaW5nIHRvIHNpbmsncyBsYXlvdXQgaW4gY2FzZSBvZiBzdGVyZW8gbGF5b3V0LgoJICBBbHNvIGluaXRpYWxpemUgYW5kIHJlc2V0IHRoZSBtYXNrIHdoZW4gYW4gdW5yZWNvZ25pemVkIGNoYW5uZWwgaXMgZGV0ZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgyMjQKCjIwMTMtMDQtMTcgMjA6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpbzogRml4IG1lcmdlIGNvbmZsaWN0cwoKMjAxMy0wNC0xNyAwOTo1MDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvcmluZ2J1ZmZlcjogRmlyc3QgY2hlY2sgdGhlIHR5cGUsIHRoZW4gY2FzdAoKMjAxMy0wNC0xNiAyMjo0NjowMCArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBvc3hhdWRpbzogdXNlIEdTVF9JU19PU1hfQVVESU9fU0lOSyBpbiByaW5nIGJ1ZmZlci4KCjIwMTMtMDQtMTAgMjE6MDY6MTYgKzA5MDAgIFRha2FzaGkgTmFrYWppbWEgPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBvc3hhdWRpbzogY2FsbCBzZXRfY2hhbm5lbF9wb3NpdGlvbnMoKSBpbiBvc3hhdWRpb3JpbmdidWZmZXIgYWNxdWlyZSgpCgoyMDEzLTA0LTEyIDEyOjE4OjA0IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IHVzZSBHU1RfQVVESU9fSU5GT18qIGFjY2Vzc29ycwoJICBDaGFuZ2VzIGluY2x1ZGUgdGhlIGZvbGxvd2luZzoKCSAgKiBVcGRhdGUgY2xhc3NuYW1lIHJlZmVyZW5jZXMKCSAgKiBSZXBsYWNlIEdTVF9CT0lMRVJQTEFURV9GVUxMIHdpdGggR19ERUZJTkVfVFlQRQoJICAqIFVzZSBuZXcgR3N0QXVkaW9JbmZvIHN0cnVjdCBhbmQgbWV0aG9kcwoJICAqIFVzZSBuZXcgYnVmZmVyIG1lbW9yeSBhbGxvY2F0aW9uIHNjaGVtZQoJICBDb25mbGljdHM6CgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYwoKMjAxMy0wNC0xMiAxMTo1MTo0NiAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGFkanVzdCBmb3IgY2hhbmdlcyB0byBnbGliIG11dGV4IGFwaS4KCjIwMTMtMDQtMTAgMDE6MjE6NDkgKzA5MDAgIFRha2FzaGkgTmFrYWppbWEgPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogdHJ5IHRvIGZpeCB1cCBhY2NvcmRpbmcgdG8gU2ViYXN0aWFuJ3MgY29tbWVudHMKCjIwMTMtMDQtMDUgMTA6MDI6MzggKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBvc3hhdWRpbzogYnVpbGQgZml4ZXMKCSAgRW5hYmxlIHRoZSBvc3hhdWRpbyBwbHVnaW4gYnVpbGQgaW4gY29uZmlndXJlLmFjIGFuZCBmaXggc29tZQoJICBpbmNsdWRlIGRpcmVjdGl2ZSBvcmRlciBpc3N1ZXMuCgoyMDEzLTA0LTAyIDIyOjI4OjA5ICswOTAwICB0ZWQtbiA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogZml4IGxheW91dCBmb3Igb3N4YXVkaW9zcmMKCjIwMTMtMDMtMzAgMjI6NDk6MzQgKzA5MDAgIHRlZC1uIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW86IHBvcnQgdG8gdi4xLjAKCjIwMTMtMDMtMTAgMTc6MTc6MTcgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpbzogRml4ZXMgZXJyb3I6ICJHU1RfTEVWRUxfREVGQVVMVCIgcmVkZWZpbmVkCgoyMDEzLTAzLTEwIDE3OjI3OjMwICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBmaXhlcyBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZ2V0cGlkJwoKMjAxMy0wMy0wNSAyMToyMjoxOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IGFkZCBzdXBwb3J0IGZvciBpT1MgdXNpbmcgdGhlIFJlbW90ZUlPIEF1ZGlvVW5pdAoJICBDb25mbGljdHM6CgkgIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbQoKMjAxMy0wMy0wNSAyMToxNzo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvOiBhZGQgYSBmYcOnYWRlIGZvciB0aGUgQ29yZUF1ZGlvIEFQSQoKMjAxMy0wNC0xNiAxOToyOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHVucmVmIHF1ZXJ5LCB3ZSBkb24ndCBvd24gaXQKCSAgRml4ZXMgZG91YmxlLXVucmVmIGJ1Zy4gQnVnIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpCgoyMDEyLTEwLTI0IDEyOjE0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBBZGQgYmV0dGVyIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R0bWYvTWFrZWZpbGUuYW0KCSAgc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtCgkgIHN5cy92NGwyL01ha2VmaWxlLmFtCgoyMDEzLTAzLTI1IDEwOjEyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogUHJldmVudCB1bm5lZWRlZCBjYXBzIGNvcHlpbmcgYW5kIGFsbG9jYXRpb24KCjIwMTMtMDItMDEgMTQ6MzM6NDEgKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBQYXNzIGFueSBvciBmaWx0ZXIgY2FwcyB1cHN0cmVhbQoJICBjYXBzZXR0ZXIgYWNjZXB0cyBhbnl0aGluZyBhbmQganVzdCBmb3J3YXJkcyBkaWZmZXJlbnQgY2FwcywKCSAgYXMgc3VjaCBpdCBzaG91bGQgcmV0dXJuIEFOWSBjYXBzIG9uIHRoZSBzaW5rcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMDA1CgoyMDEzLTA0LTE0IDEyOjMyOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFkZCBiYWNrICJpcmFkaW8tbW9kZSIgcHJvcGVydHkgdG8gZGlzYWJsZSBzZW5kaW5nIG9mIGljZWNhc3QgcmVxdWVzdCBoZWFkZXJzCgkgIEluIDEuMCB3ZSBub3cgYWx3YXlzIHNlbmQgdGhlIGljZWNhc3QgcmVxdWVzdCBoZWFkZXJzIGJ5IGRlZmF1bHQsIHdoaWNoCgkgIG1ha2VzIHRoZSBzZXJ2ZXIgc2VuZCBpY2VjYXN0cyBtZXRhZGF0YSBpbnNlcnRlZCBpbnRvIHRoZSBzdHJlYW0gaWYgaXQKCSAgc3VwcG9ydHMgdGhhdC4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgdXNlIGNhc2VzIHdoZXJlIHRoaXMgaXMgbm90CgkgIGRlc2lyYWJsZSwgbGlrZSB3aGVuIGp1c3Qgc2F2aW5nIGEgcmFkaW8gc3RyZWFtIHRvIGRpc2ssIHNvIGFkZCBiYWNrCgkgIHRoZSAiaXJhZGlvLW1vZGUiIHByb3BlcnR5IHRvIGFsbG93IHBlb3BsZSB0byBkaXNhYmxlIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc5ODQKCjIwMTMtMDQtMDggMTc6NTM6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIHZhbHVlIGluc2lkZSBlbmRhIHRvIHNldCBlbmRpYW5uZXNzCgoyMDEzLTA0LTA4IDExOjM4OjMzICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGVycm9yIG91dCBpZiB3ZSByZWNlaXZlIGVvcyBiZWZvcmUgYW55IHZhbGlkIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY4NAoKMjAxMy0wNC0wNyAwMTo0Nzo1NiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZm9yY2UgZGVpbnRlcmxhY2luZyBpbiAiaW50ZXJsYWNlZCIgbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3NDY3CgoyMDEzLTA0LTA1IDA5OjM0OjIzICswMTAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IGluY2x1ZGUgcHRocmVhZC5oIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTczMDMKCjIwMTMtMDQtMDMgMTE6MDk6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmcmVlIGFsbCBxdWV1ZWQgYnVmZmVycwoJICBEb24ndCBqdXN0IGxvb3Agb3ZlciB0aGUgZmlyc3QgbnVtX3F1ZXVlZCBidWZmZXJzIGJ1dCBsb29wIG92ZXIKCSAgYWxsIHRoZSBidWZmZXJzIGFuZCBjaGVjayBpZiB0aGV5IG5lZWQgdG8gYmUgZnJlZWQuIEl0IGlzIHBvc3NpYmxlIHRoYXQKCSAgbm90IGFsbCBidWZmZXJzIGFyZSBxdWV1ZWQgYW5kIHRoZW4gdGhlIGVudHJ5IGluIG91ciBhcnJheSB3aWxsIGJlIE5VTEwuCgkgIFRob3NlIGJ1ZmZlcnMgdGhhdCBhcmUgbm90IHF1ZXVlZCB3ZXJlIGZyZWVkIGluIHN0b3AoKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY1MQoKMjAxMi0wOC0yOSAxNzoyNDowMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgVHJ1ZUhEIGF1ZGlvIGNvZGVjIGlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcxMTMKCjIwMTMtMDMtMTggMTI6MzA6NTAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogZXhwb3NlIG11bGF3IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjA1MgoKPT09IHJlbGVhc2UgMS4wLjYgPT09CgoyMDEzLTAzLTIyIDEzOjQxOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuNgoKMjAxMi0wNi0yMiAyMTo1Njo1MiArMDAwMCAgTm9yYmVydCBXYXNjaGJ1ZXNjaCA8bndhc2NoYnVAb3BlbnR2LmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBlcnJvciBvdXQgcHJvcGVybHkgd2hlbiByZWNlaXZpbmcgZGF0YSBhbG9uZyB3aXRoIGFuIGVycm9yIHN0YXR1cwoJICBXaGVuIHJlY2VpdmluZyBhbiBlcnJvciBjb2RlIGZyb20gdGhlIGh0dHAgc2VydmVyLCBzdWNoIGFzIDQwNCwKCSAgZGF0YSBtaWdodCBiZSBzZW50IGFsb25nIHdpdGggaXQsIGxpa2UgYSB3ZWIgcGFnZS4gV2UgZG9uJ3Qgd2FudAoJICB0byBvdXRwdXQgdGhhdCBkYXRhIGluIHRoaXMgY2FzZSwgYW5kIHdlIGFsc28gd2FudCB0byBwYXNzIHRoZQoJICBGTE9XX0VSUk9SIHJldHVybiBiYWNrIHRvIHRoZSBiYXNlIGNsYXNzLCBzbyBpdCBjYW4gc3RvcCBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQyOQoKMjAxMy0wMy0yMiAwODo0NzoxNyArMDAwMCAgUm9kb2xmbyBTY2h1bHogZGUgTGltYSA8cm9kb2xmb0Byb2Rzb2Z0Lm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc2FtcGxlIGxlYWsgd2hlbiBwcm9jZXNzaW5nIHByaXZhdGUgcXQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzU1CgoyMDEzLTAzLTIyIDAyOjI0OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IHN0cmVhbSBsYW5ndWFnZSBjb2RlIGZyb20gdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNTgKCjIwMTMtMDMtMTkgMTg6MDk6MzEgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgbXA0bXV4OiBpbiBmYXN0c3RhcnQgbW9kZSwgZG9uJ3Qgb3V0cHV0IHVwIHRvIDQga0Igb2YgZ2FyYmFnZSBhdCB0aGUgZW5kLgoKMjAxMy0wMy0xOCAxNDo1OTozNSArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggY29tcGlsYXRpb24gYWdhaW5zdCBuZXdlciBrZXJuZWwgaGVhZGVycyBhcyBvbiBGQzE5CgoyMDEzLTAzLTE0IDE0OjEyOjA1ICswMTAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGluZmluaXRlIGxvb3Agb24gRU9TIHdpdGggbm9uLWRlZmF1bHQgbWV0aG9kcyBvciBmaWVsZHMKCSAgRml4ZXMgcHJvYmxlbSBvZiBpbmZpbml0ZSBsb29wIGluIGdzdF9kZWludGVybGFjZV9yZXNldF9oaXN0b3J5LgoJICBMYXN0IGZpZWxkIGluIHRoZSBoaXN0b3J5IHdhcyBuZXZlciBkZWludGVybGFjZWQgYmVjYXVzZSBpZHggYmVjb21lcyBuZWdhdGl2ZS4KCSAgSGFwcGVucyBlLmcuIHdpdGggbWV0aG9kPXNjYWxlcmJvYiBmaWVsZHM9Ym90dG9tIG9yCgkgIG1ldGhvZD1ncmVlZHlsIGZpZWxkcz10b3AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTY0NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMTczCgoyMDEzLTAzLTEyIDA5OjQ4OjMxICswMDAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IGRvbid0IHJldHVybiBGQUxTRSB3aGVuIGRyb3BwaW5nIHNpbmsgZXZlbnRzCgkgIEZpeGVzIHByb2JsZW0gaW4gY29uanVuY3Rpb24gd2l0aCBhdmlkZW11eC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTY0MwoKMjAxMy0wMy0xMSAxNDo1MDo0MSArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBEb24ndCB1c2UgdXBzdHJlYW0gY2FwcyB3aXRoIHBlZXJfcXVlcnlfY2FwcyAoKQoJICBDYWxsaW5nIGdzdF9wYWRfcGVlcl9xdWVyeV9jYXBzICgpIG9uIHRoZSBzcmMgcGFkIHdpdGggdGhlIGNhcHMKCSAgdXBzdHJlYW0gY2FuIHByb2R1Y2UgYXMgYSBmaWx0ZXIgZnJvbSBnc3RfcnRwX2gyNjRfcGF5X2dldGNhcHMgKCkKCSAgaXMgd3JvbmcgYW5kIG1ha2VzIGNhcHMgbmVnb3RpYXRpb24gZmFpbCBpZiB1cHN0cmVhbSBjYXBzIGFyZSBub3QKCSAgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTYyOQoKMjAxMy0wMi0yMiAxOTowNjo1MiArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2tpcCBkaXNhYmxlZCB0cmFja3MKCSAgSVNPL0lFQyAxNDQ5Ni0xMiBzcGVjaWZpZXMgZGlzYWJsZWQgdHJhY2tzIHNob3VsZCBiZSBjb21wbGV0ZWx5CgkgIGlnbm9yZWQsIHNvIGp1c3QgZG8gaXQuCgkgIEF2b2lkcyBkZWFkbG9jayBkdXJpbmcgcHJlcm9sbGluZyBmb3Igc29tZSBmaWxlcy4KCSAgQWxzbyBwcmV2ZW50cyAnY2hhcHRlcicgc3VidGl0bGUgdHJhY2tzIGZyb20gc2hvd2luZyB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mzk5MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4NzkwCgoyMDEzLTAyLTI2IDE0OjE4OjIwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBzdHJlYW10eXBlIGlzIG5vdCBwdXQgYnkgYWxsIFJUU1Agc2VydmVyLCBub3QgbWFrZSBpdCBvcHRpb25hbAoJICBTcGVjaWZpYyBjYXNlIGhlcmUgaXMgV293emEgMy41LjAKCjIwMTMtMDItMjUgMDk6NTg6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogcmUtYWRkIHN1cHByZXNzaW9uIGZvciBHVmFsdWVBcnJheSB3YXJuaW5ncyB0byB1bml0IHRlc3QgYXMgd2VsbAoKMjAxMy0wMi0yNSAwMDozNToxOCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcHV0IGJhY2sgZGVwcmVjYXRpb24gd2FybmluZ3MKCjIwMTMtMDItMjQgMTk6MDU6MDcgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IHNlbmQgbGFzdCBtZXNzYWdlIG9uIEVPUwoKMjAxMy0wMi0yMyAxNDozNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOiBoYW5kbGUgc29tZSBtb3JlIDAtc2l6ZSBidWZmZXIgY2FzZXMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk0NAoKMjAxMy0wMi0xMyAxMDo0Njo1NCArMDEwMCAgUGF1bCBIRU5SWVMgPHZpc2VjaGVsbGVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggd3JvbmcgY29kZSBvcmdhbmlzYXRpb24gaW4gY2FzZSBvZiBjb2xsaXNpb24KCSAgY2hhbmdlX3NzcmMgZmllbGQgb2YgUlRQU2Vzc2lvbiBzaG91bGQgYmUgc2V0IGJlZm9yZSBjYWxsaW5nCgkgIHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZV9sb2NrZWQgKCkgYXMgdGhpcyBmdW5jdGlvbiB3aWxsIGNhbGwgcmVjb25zaWRlciBmdW5jdGlvbgoJICB0aGF0IHdpbGwgd2FrZSB1cCBydGNwX3RocmVhZCB3aGljaCB3aWxsIGNhbGwgcnRwX3Nlc3Npb25fb25fdGltZW91dCAoKSB0aGF0IHdpbGwKCSAgY2hlY2sgY2hhbmdlX3NzcmMgdG8gY2hhbmdlIHRoZSBzc3JjLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MTg0CgoyMDEzLTAyLTIwIDE1OjQ2OjQzICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBkbyBub3QgbGVhayBzcmNfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0Mjc1CgoyMDEzLTAyLTE4IDE2OjMyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcG90ZW50aWFsIGNyYXNoIG9uIHNob3J0IE1PT1YgYXRvbQoJICBEb24ndCB1bm1hcCBzaG9ydCBNT09WIGF0b20gYnVmZmVyIHR3aWNlLCB3aGljaCBoYXBwZW5lZAoJICBpbiB0aGUgY2FzZSB3aGVyZSB3ZSBkb24ndCBmaXggdXAgdGhlIE1PT1YgYXRvbS4KCSAgRml4ZXMgY3Jhc2hlcyB3aGVuIHRodW1ibmFpbGluZyBwYXJ0aWFsIG1wNCBmaWxlIHdoZXJlCgkgIHRoZSBNT09WIGF0b20gaXMgc3RpbGwgaW5jb21wbGV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDAxMAoKMjAxMy0wMi0xNSAxNjoyMToyMSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZG9uJ3QgY2hlY2sgc3RyaWRlIGZvciBlbmNvZGVkIGZvcm1hdHMKCSAgRG9uJ3QgdHJ5IHRvIGNoZWNrIHRoZSBzdHJpZGUgZm9yIGVuY29kZWQgZm9ybWF0cy4gU29tZSBkcml2ZXJzIG91dHB1dAoJICBzb21ldGhpbmcgIT0gMCBhbmQgdGhlbiB3ZSBkb24ndCB3YW50IHRvIGZhaWwgb24gdGhhdC4KCjIwMTMtMDItMDcgMjI6NTE6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBmaXggYnVpbGQgd2l0aCBhdXRvbWFrZSAxLjEzCgkgIEFNX0NPTkZJR19IRUFERVIgLT4gQUNfQ09ORklHX0hFQURFUlMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzM3MwoKMjAxMy0wMS0yOSAxMDo0ODoxNyArMDEwMCAgUGF1bCBIRU5SWVMgPHZpc2VjaGVsbGVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBmb3J3YXJkIHN0aWNreSBldmVudHMgYW5kIHRoZW4gc2V0IGNhcHMKCSAgV2hlbiBhIG5ldyBzcmMgcGFkIGlzIGFkZGVkLCBmaXJzdCBmb3J3YXJkIHRoZSBzdGlja3kgZXZlbnRzIGFuZCB0aGVuCgkgIHNldCB0aGUgY2FwcyBvbiB0aGUgc3JjIHBhZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNzg2CgoyMDEzLTAyLTA3IDE0OjMyOjI2ICswMTAwICBNYXJrb3Z0c2V2IFZhZGltIDx2Lm1hcmtvdnRzZXYgYXQgc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGRlYnVnIG91dHB1dAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4OTM1CgoyMDEzLTAyLTA3IDExOjQwOjM1ICswMTAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxnbm9tZSBhdCBtaXRoaXMuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IGF2b2lkIGNhcHMgbGVhawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzA3CgoyMDEzLTAyLTA2IDEzOjUyOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IEVPUyB3aGVuIG91ciBzb3VyY2Ugc2VuZHMgQllFCgkgIE9ubHkgRU9TIHdoZW4gd2UgcmVjZWl2ZSBhIEJZRSBldmVudCBmcm9tIHRoZSBTU1JDIG9mIG91ciBzdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0NTMKCjIwMTMtMDItMDYgMTM6NDc6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNhdmUgdGhlIHN0cmVhbSBTU1JDCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jCgoyMDEzLTAyLTA2IDEzOjE4OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmbHVzaCBjb25uZWN0aW9uIHdoZW4gc3RvcHBpbmcKCSAgV2hlbiB3ZSBzdG9wLCB3ZSBjYW4gZmx1c2ggYWxsIHBlbmRpbmcgY29tbWFuZHMgc28gdGhhdCB3ZSBjYW4gc3RvcCBhbmQKCSAgam9pbiB0aGUgdGFzay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDkyNAoKMjAxMy0wMi0wMyAxMzoxNDo1MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogQWRkIG1pc3NpbmcgY29tYSBiZXR3ZWVuIGZvcm1hdHMKCjIwMTMtMDEtMzEgMjI6NTU6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZml4IGVvcyB0aW1lc3RhbXAgY2hlY2sKCSAgZml4ZXMgaGFuZyBpbiB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAgISB2aWRlb21peGVyICEgZmFrZXNpbmsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzNQoKMjAxMy0wMS0xOCAyMTowODoxMiArMDQwMCAgQWxleGV5IENoZXJub3YgPGFjaGVybm92QG5lb3NwaGVyZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogTWFrZSBHc3ROYXZpZ2F0aW9uIGtleSBpbnB1dCBldmVudHMgaW4gb3N4dmlkZW9zaW5rIGNvbXBhdGlibGUgd2l0aCB4KHYpaW1hZ2VzaW5rIG9uZXMKCjIwMTMtMDEtMjcgMTI6NTQ6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIG1vZGU6IG9ubHkgcGFyc2UgbW9vdiAxIG9uY2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTU3MAoKMjAxMy0wMS0yMyAyMTozNToyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgeGltYWdlc3JjOiBTZXQgdGhlIHBpeGVsIGFzcGVjdCByYXRpbyBjb3JyZWN0bHkgaW4gdGhlIGNhcHMKCjIwMTMtMDEtMjIgMTg6MTI6MTAgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhbGxvdyBjYWxsaW5nIGZyb20gb3V0LW9mLXRyZWUKCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0LmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjMwOQoKMjAxMy0wMS0xOSAxMzoyNzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCBlcnJvciBvdXQgaWYgcGFfc3RyZWFtX3Byb3BsaXN0X3VwZGF0ZSgpIHdpdGggbmV3IHRhZ3MgZmFpbHMKCSAgU2hvdWxkbid0IHJlYWxseSBoYXBwZW4gdGhlc2UgZGF5cywgYnV0IGlmIGl0IGRvZXMsIGl0J3Mgbm90IHJlYWxseQoJICBhIHByb2JsZW0gZWl0aGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MDY4CgoyMDEzLTAxLTExIDE5OjI0OjQzICswNDAwICBBbGV4ZXkgQ2hlcm5vdiA8YWNoZXJub3ZAbmVvc3BoZXJlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogRml4IGNyYXNoIGluIG9zeHZpZGVvc2luayB3aXRoIGV4dGVybmFsIHdpbmRvdyBvdXRwdXQKCjIwMTMtMDEtMTYgMTI6MDQ6NTkgKzA0MDAgIEFsZXhleSBDaGVybm92IDxhY2hlcm5vdkBuZW9zcGhlcmUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogTWFrZSBHc3RHTFZpZXcgcHJvcGFnYXRlIGlucHV0IGV2ZW50cyB0byBpdHMgcGFyZW50IHZpZXcKCSAgRml4ZXMgYnVnICM2OTE4MzIKCj09PSByZWxlYXNlIDEuMC41ID09PQoKMjAxMy0wMS0wOCAwMToxOTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9qYS5wbzoKCSogcG8vbmIucG86CgkqIHBvL3NsLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjUKCjIwMTMtMDEtMDQgMTM6NTM6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZ2RrcGl4YnVmb3ZlcmxheSBlbGVtZW50IHRvIGRvY3MKCjIwMTMtMDEtMDEgMTI6MTk6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgIGRvY3M6IGZpeCBkb2NzIGJ1aWxkIGFuZCB1cGRhdGUgYWZ0ZXIgcmVtb3ZhbCBvZiBvbGQgY2Fpcm8gZWxlbWVudHMKCjIwMTMtMDEtMDEgMTE6NTI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jYWlyby8uZ2l0aWdub3JlOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby1tYXJzaGFsLmxpc3Q6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvOiBwb3J0IGNhaXJvb3ZlcmxheSB0byAwLjExCgkgIFRoZSBvdGhlciBlbGVtZW50cyBhcmUgbm90IHRoYXQgaW50ZXJlc3Rpbmcgbm93IHRoYXQgd2UncmUKCSAgdXNpbmcgcGFuZ29jYWlybyBpbiB0aGUgcGFuZ28gcGx1Z2luLCBhbmQgc2hvdWxkIHByb2JhYmx5CgkgIGp1c3QgYmUgcmVtb3ZlZC4KCjIwMTItMTItMzEgMTg6NTk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkgIGV4YW1wbGVzOiBjaGVjayBmb3IgdXJpIGFyZ3VtZW50IGluIGRlY29kZWJpbi1oMjY0cC1hbXIgc2VydmVyIGV4YW1wbGUKCSAgT3RoZXJ3aXNlIHBlb3BsZSBnZXQgYSByYXRoZXIgY29uZnVzaW5nIGVycm9yIG1lc3NhZ2UuCgoyMDEzLTAxLTA0IDEwOjAzOjMyICswMTAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBBbHNvIGhhbmRsZSB0aGUgbmV3IEVOT0VOVCByZXR1cm4gdmFsdWUgb2YgVklESU9DX1FVRVJZQ1RSTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxMDk4CgoyMDEyLTEwLTI1IDEyOjE4OjAzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiByZWFkIHZpZGVvIGZvcm1hdCBoZWFkZXIgZnVsbHkgKHNvIHdlIGNhbiBmaW5kICdwYXNwJyBhdG9tcykgZm9yIG1vcmUgZm91cmNjcy4gRml4ZXMgYXNwZWN0IHJhdGlvIG9mIHByb3JlcyBmaWxlcy4KCjIwMTItMTItMTcgMTU6MTc6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogTWFrZSBzdXJlIHRoZSBjYXBzIGFyZSBhY3R1YWxseSB3cml0YWJsZSBiZWZvcmUgY2hhbmdpbmcgdGhlbQoKMjAxMi0xMi0xNyAxNTowMTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBVc2UgdGhlIHBlZXIgY2FwcyBmb3IgcmVzdHJpY3Rpb25zIGluc3RlYWQgb2YgdGhlIHNyY3BhZCBhbGxvd2VkIGNhcHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgaW50ZXJzZWN0IHdpdGggdGhlIHNyY3BhZCB0ZW1wbGF0ZSBjYXBzIGFuZCBhZGQgYWxsIHRoZSBjYXBzIGZpZWxkcwoJICB0aGF0IHRoZSBwYXJzZXIgd2lsbCBldmVyIHNldCwgbm8gbWF0dGVyIGlmIGRvd25zdHJlYW0gcmVzdHJpY3RzIHRoaXMgZmllbGQgb3Igbm90LgoJICBUaGlzIHJlcXVpcmVzIHVwc3RyZWFtIHRvIHNldCB0aGlzIGZpZWxkIG9uIHRoZSBjYXBzIHRvIHN1Y2Nlc3NmdWxseSBuZWdvdGlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxODQKCjIwMTItMTItMjAgMTc6MTI6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBjbWQgY29tcGFyaXNvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNDc2CgoyMDEyLTEyLTIwIDE3OjEyOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEyLTEyLTIwIDE1OjU1OjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IHBhc3MgZmxvd3JldHVybiB1cHN0cmVhbQoKPT09IHJlbGVhc2UgMS4wLjQgPT09CgoyMDEyLTEyLTE4IDE5OjExOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuNAoKMjAxMi0xMi0xOCAxODo1MzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTItMTItMTggMTU6NTY6NTkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2s6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo1NTo0MyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIHRhZ2xpYjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjU0OjA4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjQ2OjU2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTcgMTY6MzU6NTYgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogc2V0IHNyYyBwYWQgY2FwcyB1cG9uIGxhc3Qgc2luayBwYWQgQ0FQUyBldmVudAoJICBHYXRoZXIgY2FwcyBvbiBhbGwgc2luayBwYWRzIGJlZm9yZSBzZXR0aW5nIHRoZSBzcmMgcGFkIGNhcHMuIFRoaXMgaXMKCSAgc3BlY2lhbGx5IG5lZWRlZCB3aGVuIHRoZSBhdWRpbyBjaGFubmVsIG1hcHBpbmcgaXMgc2V0IG9uIHRoZSBzaW5rCgkgIHBhZHMgYW5kIHRoZSBlbGVtZW50IG5lZWRzIHRvIHByZXNlcnZlIGl0IG9uIGl0cyBzcmMgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMjY3CgoyMDEyLTEyLTE0IDIyOjI1OjA4ICswMDAwICBLb29wIE1hc3QgPGt3bUByYWluYm93LXJ1bm5lci5ubD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBUZWFjaCB3aGVyZSB0aGUgdmlkZW9kZXYyLmggaGVhZGVyIGxpdmVzIG9uIGZyZWVic2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAyMzMKCjIwMTItMTItMTMgMDk6Mjc6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBUQ1AgcmVjb25uZWN0CgkgIElnbm9yZSBvdGhlciBjb21tYW5kcyB3aGVuIHJlY29ubmVjdGluZywgb3RoZXJ3aXNlIHRoZSBsb29wIGZ1bmN0aW9uIHdvdWxkIHBhdXNlCgkgIGFuZCB0aGUgcmVjb25uZWN0aW9uIHdvdWxkIG5vdCBoYXBwZW4uIENvbnRpbnVlIGxvb3BpbmcgYWZ0ZXIgZG9pbmcgYSByZWNvbm5lY3QKCSAgc28gdGhhdCB3ZSBoYXZlIGEgY2hhbmNlIHRvIGFjdHVhbGx5IHJlYWQgdGhlIG5ldyBkYXRhLgoKMjAxMi0xMi0xMiAxMjowNzozNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IHByb3Blcmx5IHNldCBzcmNwYWQgY2hhbm5lbCBwb3NpdGlvbgoJICBUaGUgc3JjIHBhZCBjYXBzIGFsd2F5cyBkZXNjcmliZSBhIHNpbmdsZSBhdWRpbyBjaGFubmVsIHNvIG9ubHkgdGhlCgkgIGZpcnN0IHBvc2l0aW9uIG1hdHRlcnMgaWYgZGVpbnRlcmxlYXZlIGlzIGNvbmZpZ3VyZWQgdG8ga2VlcCBjaGFubmVsCgkgIHBvc2l0aW9ucyBpbiBpdHMgc3JjIHBhZHMuCgoyMDEyLTEyLTEwIDExOjQ0OjI2ICswMDAwICBBbGV4ZXkgQ2hlcm5vdiA8NGVybm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBGaXggcmVzaXppbmcgdGhlIENvY29hIHdpbmRvdyBvbiByZWNlaXZpbmcgbmV3IGNhcHMKCSAgRml4ZXMgYnVnICM2ODk3MzIuCgoyMDEyLTA5LTI3IDEyOjE3OjU4IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgcnRzcHNyYzogZG8gbm90IGNoYW5nZSBzdGF0ZSB0byBQTEFZSU5HIGlmIGN1cnJlbnRseSBjaGFuaW5nIHN0YXRlCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jIChnc3RfcnRzcHNyY19wbGF5KTogc3RhdGUgY2hhbmdlIG1pZ2h0IGJlCgkgIGhhcHBlbmluZyBpbiB0aGUgYXBwbGljYXRpb24gdGhyZWFkLCBzbyB3ZSBkb24ndCBjaGFuZ2UgdGhlIHN0YXRlIHRvCgkgIFBMQVlJTkcgaW4gdGhlIGdzdHJ0c3BzcmMgdGhyZWFkIHVubGVzcyBpdCBpcyBzYWZlLgoJICBBIHNwZWNpZmljIGNhc2UgaXMgd2hlbiBjaGFuaW5nIHRoZSBzdGF0ZSB0byBOVUxMIGZyb20gdGhlIGFwcGxpY2F0aW9uCgkgIHRocmVhZC4gVGhpcyB3aWxsIHN5bmNocm9ub3VzbHkgdHJ5IHRvIHN0b3AgdGhlIHRhc2sgKHdpdGggdGhlIGVsZW1lbnQKCSAgc3RhdGUgbG9jayBhY3F1aXJlZCksIGJ1dCB3ZSB3aWxsIHRyeSBhIGdzdF9lbGVtZW50X3NldF9zdGF0ZSBmcm9tCgkgIGdzdHJ0c3BzcmMgdGhyZWFkIHdoaWNoIHdpbGwgYmxvY2sgb24gdGhlIGVsZW1lbnQgc3RhdGUgbG9jayBjYXVzaW5nIGEKCSAgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzMTIKCjIwMTItMTEtMzAgMTc6MjI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogYWNjZXB0IGF1ZGlvL3dlYm0gYXMgd2VsbCBhcyB2aWRlby93ZWJtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkzMzYKCjIwMTItMTEtMzAgMTc6MjA6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB3ZWJtdXg6IGZpeCBsaW5raW5nIHdpdGggc2hvdXQyc2VuZCBlbGVtZW50CgkgIFNob3V0MnNlbmQgb25seSBhY2NlcHRzIHdlYm0gZm9ybWF0LCBub3QgbWF0cm9za2EsIGJ1dCBkdWUKCSAgdG8gYSBidWcgaW4gbWF0cm9za2FtdXgsIHdlYm1tdXgncyBzb3VyY2UgcGFkIGlzIGFsc28gY3JlYXRlZAoJICB3aXRoIHRoZSBtYXRyb3NrYSBzb3VyY2UgcGFkIHRlbXBsYXRlIGFzIHBhZCB0ZW1wbGF0ZSwgd2hpY2gKCSAgbWFrZXMgdGhlIGxpbmsgZnVuY3Rpb24gdGhpbmsgaXQgY2FuJ3QgbGluayB3ZWJtbXV4IHRvIHNob3V0MnNlbmQuCgkgIEFsc28gYWRkIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTMzNgoKMjAxMi0xMS0yNiAxNToxNzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICBsYXc6IGZpeCBhY2NpZGVudGFsIGZpbGUgcGVybWlzc2lvbnMgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0NjkKCjIwMTItMTEtMjUgMTQ6MTY6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgY3JpdGljYWxzIGlmIHVua25vd24gZm91cmNjIGhhcyBzcGFjZSBhdCBiZWdpbm5pbmcgb3IgZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI5MzYKCjIwMTItMTEtMjQgMTk6MzI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGZpeCBib3JkZXIgZmlsbGluZyBmb3IgcGxhbmFyIFlVViBmb3JtYXRzCgkgIFdlIHdvdWxkIGdldCBhIGdyZWVuIGJvcmRlciBpbnN0ZWFkIG9mIGEgYmxhY2sgb25lLCBmb3IKCSAgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk5MQoKMjAxMi0xMS0yNCAxNDoyNzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICBtdWxhdzogY29uc3QtaWZ5IHNvbWUgYXJyYXlzCgoyMDEyLTExLTAyIDEyOjM4OjQ0IC0wNDAwICBSb2xhbmQgS3Jpa2F2YSA8cmtyaWthdmFAZ21haWwuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgIG11bGF3ZGVjOiBmaXggaW50ZWdlciBvdmVycnVuCgkgIFRoZXJlIG1pZ2h0IGJlIG1vcmUgdGhhbiA2NTUzNSBzYW1wbGVzIGluIGEgY2h1bmsgb2YgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2OQoKMjAxMi0xMS0yMiAxMTozNDozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGF1c2UgdGhlIHRhc2sgaW5zdGVhZCBvZiBzcGlubmluZwoJICBBY3R1YWxseSBwYXVzZSB0aGUgbG9vcCB0YXNrIGluc3RlYWQgb2Ygc3Bpbm5pbmcgZm9yZXZlci4KCjIwMTItMTEtMjEgMTM6MDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMyA9PT0KCjIwMTItMTEtMjEgMTA6MjI6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4zCgoyMDEyLTExLTE2IDA5OjA5OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgbWVzc2FnZXMgaW4gbWF4LXNpemUgbW9kZSBhcyB3ZWxsCgkgIE5vIHJlYXNvbiBub3QgdG8gcmVhbGx5LgoKMjAxMi0xMS0xNiAxNTozODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHNlZ21lbnQgZXZlbnQKCSAgTWFrZSBhIHNlZ21lbnQgZXZlbnQgd2hlbiB3ZSBzZW5kIGEgbmV3IHJhbmdlIGhlYWRlciB0byBhIGNsaWVudCAoZmlyc3QgUExBWQoJICByZXF1ZXN0IG9yIGFmdGVyIGEgc2VlaykuIFNlbmQgdGhlIHNlZ21lbnQgZXZlbnQgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgQ2xlYW4gdGhlIHNlZ21lbnQgZXZlbnQgb24gY2xlYW51cAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4MzgyCgoyMDEyLTExLTE2IDE1OjE4OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggY2hlY2sgZm9yIGFjdGl2ZSBzdHJlYW1zCgkgIEEgc3RyZWFtIGNhbiBiZSBhY3RpdmUgd2l0aG91dCBhIHNyY3BhZCB5ZXQgYW5kIHdlIHdhbnQgdG8gc2VuZAoJICBldmVudHMgb24gdGhvc2Ugc3RyZWFtcyBhcyB3ZWxsLgoKMjAxMi0xMS0xNiAxMzozMTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY3JlYXRlIGFuZCBhZGQgcGFkcyBvdXRzaWRlIG9mIGxvY2sKCSAgQ3JlYXRlIGFuZCBhZGQgdGhlIGdob3N0cGFkIGZvciB0aGUgbmV3IHN0cmVhbSBvdXRzaWRlIG9mIHRoZSBsb2NrIGJlY2F1c2UgaXQKCSAgaXMgbm90IG5lZWRlZCBhbmQgY2F1c2VzIGRlYWRsb2Nrcy4KCjIwMTItMTEtMTYgMTI6MTY6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNsZWFyIHZhcmlhYmxlcyBiZWZvcmUgcmV0cnlpbmcKCSAgRWxzZSB3ZSBtaWdodCB1bnJlZiBhbiBvbGQgdWRwc3JjIHR3aWNlIGluIGNsZWFudXAuCgoyMDEyLTExLTE2IDEyOjAwOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwcm9wb3NlIHBvcnRzIGluIG11bHRpY2FzdAoJICBXaGVuIHRoZSB1c2VyIGNvbmZpZ3VyZWQgYSBwb3J0LXJhbmdlLCBwcm9wb3NlIHBvcnRzIGZyb20gdGhpcyByYW5nZQoJICBhcyB0aGUgbXVsdGljYXN0IHBvcnRzLiBUaGUgc2VydmVyIGlzIGZyZWUgdG8gaWdub3JlIHRoaXMgcmVxdWVzdCBidXQgaWYgaXQKCSAgaG9ub3VycyBpdCwgaW5jcmVtZW50IG91ciBwb3J0cyBzbyB0aGF0IHdlIHN1Z2dlc3QgdGhlIG5leHQgcG9ydCBwYWlyIGZvciB0aGUKCSAgbmV4dCBzdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk0MjAKCjIwMTItMTEtMTYgMTE6NTg6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBtb3JlIGRlYnVnCgoyMDEyLTExLTE1IDE0OjM3OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBwb3N0IGVycm9yIGJlZm9yZSBzdG9wcGluZwoKMjAxMi0xMS0xMiAxMToxNDozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHByb3RlY3QgYWdhaW5zdCBpbnZhbGlkIFJUUCBwYWNrZXRzCgoyMDEyLTExLTEyIDEzOjAxOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3QgbGVhayBHc3RWaWRlb0NvZGVjRnJhbWVzIHRoYXQgY2F1c2UgdGhlIGNyZWF0aW9uIG9mIGludmlzaWJsZSBmcmFtZXMKCSAgRml4ZXMgYnVnICM2ODI3MTQuCgoyMDEyLTExLTEyIDEwOjQ0OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogQWN0dWFsbHkgdXNlIHRoZSBzdG9wKCkgdmZ1bmMgaW1wbGVtZW50YXRpb24KCjIwMTItMTEtMTIgMTA6MzE6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggbGFzdCBjb21taXQKCjIwMTItMTEtMDkgMTE6MjI6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBBbHNvIGNsZWFyIEdFcnJvcgoKMjAxMi0xMS0wOSAxMToyMDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IERvbid0IGVycm9yIG91dCBpZiB3ZSBnZXQgYW4gSUNNUCBkZXN0aW5hdGlvbi11bnJlYWNoYWJsZSBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIHJlYWQgcGFja2V0cwoJICBTZWUgYnVnICM1Mjk0NTQgYW5kICM2ODc3ODIgYW5kIGNvbW1pdAoJICA3NTFmMmJiMzY0NmYyYmVmZjM2OThjOWYwOTkwMGRiZDBlYTA4YWJiCgoyMDEyLTExLTA5IDE2OjMxOjA1ICswMTAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IERvbid0IGdpdmUgdXAgc28gZWFzaWx5IGlmIGZhaWxlZCB0byBkZWNvZGUgYSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDM2CgoyMDEyLTExLTEyIDA5OjQ4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRG9uJ3QgY2xlYXIgaW5wdXQgc3RhdGUgaW4gcmVzZXQoKQoJICBUaGUgaW5wdXQgc3RhdGUgaXMgc3RpbGwgdmFsaWQgYWZ0ZXIgZmx1c2hpbmcgdW50aWwKCSAgbmV3IGNhcHMgYXJyaXZlLgoJICBGaXhlcyBidWcgIzY4ODA5Mi4KCjIwMTItMTEtMTIgMTA6MDg6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBBbHNvIGRlc3Ryb3kgZGVjb2RlciBpbiBzZXRfZm9ybWF0KCkgaWYgaXQgd2FzIGNyZWF0ZWQgYWxyZWFkeQoJICBGaXhlcyBhIG1lbW9yeSBsZWFrLgoKMjAxMi0xMS0xMiAxMDoxMDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEtlZXAgdGhlIGlucHV0IHN0YXRlIGluIHJlc2V0KCkKCSAgSXQncyBzdGlsbCB2YWxpZCBhZnRlciBhIGZsdXNoIGFuZCB3ZSBtaWdodCBub3QgZ2V0IGEgbmV3IG9uZS4KCjIwMTItMTEtMDIgMTY6Mzk6MjggKzAxMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogRG9uJ3QgdW5tYXAgb3IgZmluaXNoX2ZyYW1lIGFuIGludmFsaWQgR3N0QnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0NjQKCjIwMTItMTEtMDYgMTM6MjI6NTggKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHRoZSBSVENQIHBvcnQgbnVtYmVyIGlzIGluY2x1c2l2ZQoJICBUaGUgY29uZmlndXJlZCBwb3J0IG51bWJlciBwYWlyIGhhcyBpdHMgdXBwZXIgYm91bmQgc2V0IHRvIHRoZSBtYXhpbXVtCgkgIGFsbG93ZWQgUlRDUCBwb3J0LCBpbmNsdXNpdmUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NDIwCgoyMDEyLTExLTAyIDE4OjQ3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBkb24ndCBhY2Nlc3MgcnRwIGJ1ZmZlciBhZnRlciB1bm1hcAoJICBSZWFkIHRoZSBtYXJrZXIgYml0IGJlZm9yZSB3ZSB1bm1hcCB0aGUgcnRwIHBhY2tldC4KCjIwMTItMTEtMDIgMDk6MzQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBJbW1lZGlhdGVseSByZXR1cm4gaWYgb3BlbmluZyB0aGUgZGVjb2RlciBmYWlsZWQKCSAgSW5zdGVhZCBvZiBpZ25vcmluZyBhbnkgZXJyb3JzLgoKMjAxMi0xMS0wMSAyMjowMjozOSArMDEwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTaG9ydCBjaXJjdWl0IGdzdF92cDhfZGVjX2hhbmRsZV9mcmFtZSBpZiBrZXlmcmFtZSBpcyBtaXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczNzYKCjIwMTItMTEtMDEgMTM6MDM6NDQgKzAwMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBnZXQgaGVpZ2h0IHZpYSBHU1RfVklERU9fRlJBTUVfSEVJR0hULCBub3QgX1dJRFRICgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczMzAKCjIwMTItMTEtMDEgMTM6MDI6MTYgKzAwMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZWJveDogZml4IGJvcmRlciBmaWxsaW5nIGZvciBncmF5IGZvcm1hdHMKCSAgR2V0IHRoZSBoZWlnaHQgdmlhIEdTVF9WSURFT19GUkFNRV9IRUlHSFQsIG5vdCBfV0lEVEguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczMzAKCjIwMTItMTEtMDIgMTA6NTM6NTcgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb2NvbnZlcnQ6IENvbXBhcmUgeSBvZmZzZXQgd2l0aCBoZWlnaHQsIG5vdCB3aWR0aCwgd2hlbiB0ZXN0aW5nIGZvciBvdmVybGFwCgkgIFRoaXMgY291bGQgaGF2ZSBwcmV2ZW50ZWQgaW1hZ2VzIHNob3dpbmcgdGhhdCBzaG91bGQgaGF2ZSB3aGVuIHRoZQoJICBzb3VyY2UgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBpdHMgd2lkdGguCgkgIFdoZW4gd2lkdGggZXhjZWVkcyBoZWlnaHQsIGFzIGlzIGNvbW1vbiwgaXQgcHJvYmFibHkgb25seSBjYXVzZWQgYQoJICBtaW5pc2N1bGUgYW1vdW50IG9mIHVubmVjZXNzYXJ5IHdvcmsuICBJIGhhdmVuJ3QgdGVzdGVkLgoKMjAxMi0xMC0yOCAwMDowNzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZG9uJ3QgYXNzZXJ0IGluIGdldF90aW1lKCkgd2hlbiBjYWxsZWQgYWZ0ZXIgc2h1dGRvd24KCSAgV2hpY2ggbWlnaHQgaGFwcGVuIGlmIHRoZSBzb3VyY2UgZ2V0cyBzZXQgdG8gTlVMTCBzdGF0ZSBiZWZvcmUKCSAgdGhlIHJlc3Qgb2YgdGhlIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTg1CgoyMDEyLTEwLTMwIDExOjEwOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICB0ZXN0czogZml4IGxldmVsIGV4YW1wbGUKCSAgVXNlIHRoZSBHVmFsdWVBcnJheSBpbiB0aGUgbWVzc2FnZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE1NAoKMjAxMi0xMC0yNyAyMzoyMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIGdzdDogZml4IHZhcmlhYmxlIG9yZGVyIGluIHNvbWUgTWFrZWZpbGUuYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzAxMwoKMjAxMi0xMC0yNyAxNzoyNzoxNiAtMDQwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBnc3Q6IGFkZCB2YXJpb3VzIG1pc3NpbmcgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIGluIE1ha2VmaWxlLmFtCgkgIFRob3NlIHBsdWdpbnMgZGVwZW5kIG9uIGVpdGhlciBsaWJnc3RhdWRpbyBvciBsaWJnc3R2aWRlbywKCSAgd2hpY2ggYXJlIGluIGdzdC1wbHVnaW5zLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcwMTMKCjIwMTItMTAtMjUgMDA6NDQ6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogdGhlIG5ldyBnZXRfY2FwcyBhbHJlYWR5IGRvZXMgdGhlIGZpbHRlciBpbnRlcnNlY3Rpb24KCSAgSXQgc2hvdWxkIGJlIGZhc3RlciB0byBwYXNzIHRoZSBjYXBzIHRvIGludGVyc2VjdCBhcyB0aGUgZmlsdGVyIGNhcHMsCgkgIHJhdGhlciB0aGFuIHVzaW5nIE5VTEwgYW5kIGludGVyc2VjdGluZyAnbWFudWFsbHknIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2ODM3CgoyMDEyLTEwLTI1IDAwOjQzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGF2b2lkIGFzc2VydGlvbiB3aGVuIHVzaW5nIGFjY2VwdCBjYXBzIHF1ZXJ5CgkgIFRoaXMgcXVlcnkgbXVzdCByZWNlaXZlIGEgZml4ZWQgY2Fwcywgc28gaW1hZ2VmcmVlemUgc2hvdWxkCgkgIGZpeGF0ZSBpdHMgZnJhbWVyYXRlIGJlZm9yZSBzZW5kaW5nIHRoZSBxdWVyeSBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2ODM3CgoyMDEyLTEwLTI1IDEyOjMyOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjIgPT09CgoyMDEyLTEwLTI1IDAxOjAxOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMgoKMjAxMi0xMC0yNCAxMzo1MDowMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGNvcnJlY3QgdHlwZSBmb3IgY2hhbm5lbC1tYXNrIGJpdG1hc2sKCSAgRml4ZXMgY3Jhc2ggb24gMzItYml0IHN5c3RlbXMuCgoyMDEyLTEwLTI0IDExOjE3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGbHVzaCB0aGUgcmluZ2J1ZmZlciBvbiBHQVAgZXZlbnRzIHdpdGhvdXQgZHVyYXRpb24KCSAgVGhpcyBpcyByZXF1aXJlZCB0byBwcm9wZXJseSBzdGFydCB0aGUgcmluZ2J1ZmZlciBhbmQgY2xvY2suCgoyMDEyLTEwLTAyIDIwOjUxOjI5ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBzZXQgREVDT0RFX09OTFkgZmxhZyBvbiBpbnZpc2libGUgQWx0UmVmIGZyYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0MjE2CgoyMDEyLTEwLTIzIDE2OjAyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IGNvdmVyYXJ0IGV4dHJhY3Rpb24gaWYgdm9yYmlzIGNvbW1lbnRzIGNvbWUgYWZ0ZXIgcGljdHVyZSBoZWFkZXIKCSAgU2VlIHNhbXBsZSBmaWxlIGZvciBidWcgIzY4NDcwMS4KCjIwMTItMTAtMjMgMTM6NDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBpZ25vcmUgYmFkIGhlYWRlcnMgaWYgd2UgaGF2ZSBhIHZhbGlkIFNUUkVBTUlORk8gaGVhZGVyCgkgIElmIHdlIHJ1biBpbnRvIGFueSBoZWFkZXIgcGFyc2luZyBpc3N1ZXMgYW5kIHdlIGhhdmUgYSB2YWxpZAoJICBTVFJFQU1JTkZPIGhlYWRlciBhbHJlYWR5LCBkb24ndCBlcnJvciBvdXQsIGJ1dCBqdXN0IHN0b3AKCSAgaGVhZGVyIHBhcnNpbmcgYW5kIHRyeSB0byBmaW5kIHNvbWUgYXVkaW8gZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NzAxCgoyMDEyLTEwLTIzIDEzOjQzOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcG9zdCBwcm9wZXIgZXJyb3IgbWVzc2FnZSBhbmQgZml4IGJ1ZmZlciBsZWFrIG9uIGhlYWRlciBwYXJzaW5nIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3MDEKCjIwMTItMTAtMjIgMjI6MzI6NDkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB3aXRoIHJhdyBhdWRpbywgc2V0IGEgZGVmYXVsdCBjaGFubmVsLW1hc2sgZm9yIG11bHRpY2hhbm5lbCBhdWRpby4gVGhpcyBkb2Vzbid0IGFjdHVhbGx5IHBhcnNlICdjaGFuJyBiZWNhdXNlIGl0J3MgYWJzdXJkbHkgY29tcGxleC4KCjIwMTItMTAtMjIgMTU6NTQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkc3JjOiBmaXggdHlwbyBjYXVzaW5nIGNvbXBpbGF0aW9uIGVycm9yCgkgIGdzdHVkcHNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X3VkcHNyY19jcmVhdGUnOgoJICBnc3R1ZHBzcmMuYzozNjU6IGVycm9yOiAncmV0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjY0MgoKMjAxMi0xMC0yMiAxMTo1NTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpXyBmaXggaW52ZXJ0IGZ1bmN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NTAKCjIwMTItMTAtMjIgMTE6NTU6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IGRlYnVnCgoyMDEyLTEwLTIyIDExOjM5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yICdnZW5lcmljJyBzYW1wbGVzCgkgIEFkZCBzdXBwb3J0IGZvciBzdHVmZmluZyBhIGNvbXBsZXRlIHN0cmVhbSBpbnRvIDEgc2FtcGxlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU1MAoKMjAxMi0xMC0yMCAxMzowMTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiByZW1vdmUgc3VwZXJmbHVvdXMgZ190eXBlX2luaXQoKSBjYWxsCgkgIEl0J3MgZGVwcmVjYXRlZCBpbiBuZXdlciBHTGliIGFuZCBub3QgbmVlZGVkIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTYKCjIwMTItMTAtMjAgMTE6MzI6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNhcHMgbGVhayBpbiBhY2NlcHRjYXBzIGZ1bmN0aW9uCgoyMDEyLTEwLTE5IDE5OjI0OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBsZWFrIGdzdF9yaWZmX3N0cmZfYXVkcyBpbiBjYXNlIG9mIE1TL1JJRkYgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTE5MgoKMjAxMi0xMC0xOCAyMjoyMDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1bnNpZ25lZCBzdWJ0aXRsZSB0ZW1wbGF0ZQoKMjAxMi0xMC0xOCAxMTozMjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW4gYWNjZXB0X2NhcHMoKSBjaGVjayBpZiByaW5nIGJ1ZmZlciBpcyBOVUxMIGJlZm9yZSBkZS1yZWZlcmVuY2luZwoJICBBbmQgc3ByaW5rbGUgc29tZSB0aHJlYWQtc2FmZXR5ICh0YWtlIG9iamVjdCBsb2NrIGZvcgoJICBhY2Nlc3NpbmcgcmluZyBidWZmZXIsIGFuZCBwYSBtYWluIGxvb3AgbG9jayBmb3IgdGhlCgkgIGNvbnRleHQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNzgyCgoyMDEyLTA5LTEzIDAwOjEwOjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IEZpeCByYWNlIGNvbmRpdGlvbiB3aGVyZSBhIHNyYyBzZXRjYXBzIGlzIGlnbm9yZWQKCSAgSWYgYm90aCBwYWRzIHJlY2VpdmUgZGF0YSBhdCB0aGUgc2FtZSB0aW1lLCB0aGV5IHdpbGwgYm90aCBnZXQgdGhlaXIKCSAgc2lua19zZXRjYXBzIGNhbGxlZCB3aGljaCB3aWxsIGNhbGwgdGhlIHNyY19zZXRjYXBzLCBidXQgdGhlcmUgaXMKCSAgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSB0aGUgc2Vjb25kIG9uZSBtaWdodCBub3QgYmUgY2FsbGVkLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg0MgoKMjAxMS0xMC0zMSAxNTo0MzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgdXNlIHVub2ZmaWNhbCBWX01KUEVHIGNvZGVjIGlkCgkgIFNpbmNlIGl0J3Mgbm90IHNwZWMnZWQsIGNvbnNpZGVyIGl0IGEgVmZXIGNvbXBhdGliaWxpdHkKCSAgY2FzZS4gTWFueSBhcHBsaWNhdGlvbnMgKGUuZy4gYXZpZGVtdXgpIGRvbid0IHVuZGVyc3RhbmQKCSAgdGhlIHVub2ZmaWNpYWwgVl9NSlBFRyBpZC4KCSAgRml4ZXMgIzY1OTgzNy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCjIwMTItMTAtMTcgMTc6MDM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIGpwZWcsIHBuZywgdnB4OiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuCgoyMDEyLTEwLTE3IDE0OjIzOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAganBlZ2RlcGF5OiBzdG9yZSBxdWFudCB0YWJsZXMgaW4gemlnemFnIG9yZGVyCgoyMDEyLTEwLTE3IDEzOjU1OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHNlc3Npb246IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEwLTE3IDEzOjM1OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogY2xhcmlmeSB0aGUgbnRwLXN5bmMgb3B0aW9uCgoyMDEyLTEwLTE3IDEzOjE1OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogdXBkYXRlIGNhcHMgaW4gdGhlIHNvdXJjZQoJICBJbmZvcm0gdGhlIHNvdXJjZSB3aGVuIGNhcHMgY2hhbmdlZC4gVGhpcyB3YXMgcmVtb3ZlZCBpbiB0aGUgcG9ydCB0byAxLjAKCSAgbGVhdmluZyB0aGUgc291cmNlIHVuYXdhcmUgb2YgdGhlIGNsb2NrLXJhdGUgYW5kIHVuYWJsZSB0byBpbnRlcnBvbGxhdGUKCSAgcnRwIHRpbWVzdGFtcHMgZm9yIFNSIHBhY2tldHMuCgoyMDEyLTEwLTE3IDEyOjQ2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBiaW46IHNldCBQVFMgYW5kIERUUyBpbiBqaXR0ZXJidWZmZmVyCgoyMDEyLTEwLTE3IDEyOjI0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZGlzYWJsZSBjaGVjayBmb3IgbnRwLXN5bmMKCSAgRGlzYWJsZSB0aGUgY2hlY2sgZm9yIHRoZSBudHAtc3luYyBtZXRob2QuIEl0IGlzIGV4cGVjdGVkIHRoYXQKCSAgYSByYXRoZXIgbGFyZ2VyIG9mZnNldCBuZWVkcyB0byBiZSBhcHBsaWVkIHdpdGggdGhpcyBtZXRob2QuCgoyMDEyLTEwLTE3IDEyOjE3OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiB1c2UgcnVubmluZy10aW1lIGZvciBOVFAgdGltZQoJICBXaGVuIHVzZS1waXBlbGluZS1jbG9jayBpcyBzZXQsIHVzZSB0aGUgcnVubmluZy10aW1lIG9mIHRoZQoJICBwaXBlbGluZSB0byBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lc3RhbXBzLiBUaGlzIG1ldGhvZCB3b3VsZCBwcmV2aW91c2x5CgkgIG9ubHkgd29yayB3aGVuIHRoZSBiYXNlLXRpbWUgaXMgc2V0IHRvIDAgYnV0IHdpdGggdGhpcyBjaGFuZ2UgaXQgY2FuCgkgIGFsc28gd29yayB3aXRoIGRpZmZlcmVudCBvZmZzZXRzIGFuZCB3ZSBjYW4gYWxzbyBpbXBsZW1lbnQgcGF1c2UvcmVzdW1lCgkgIG9mIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyIG5vdy4KCjIwMTItMTAtMTcgMTA6MjA6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IHBvcnQgdG8gdmlkZW9maWx0ZXIKCjIwMTItMTAtMTcgMDk6MzY6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IHVzZSBvdXRfaW5mbyBmb3Igb3V0IHByb3BlcnRpZXMKCjIwMTItMTAtMTYgMTQ6NDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmg6CgkgIG1lZGlhbjogc21hbGwgY2xlYW51cHMKCjIwMTItMTAtMTYgMTM6NTY6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi8uZ2l0aWdub3JlOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJKiBnc3QvbWVkaWFuL21lZGlhbi52Y3Byb2o6CgkgIG1lZGlhbjogcmVtb3ZlIG5vdyB0aGF0IGl0IGlzIGluIHZpZGVvZmlsdGVyCgoyMDEyLTEwLTE2IDEzOjQ5OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBtZWRpYW4gZnJvbSBidWlsZAoKMjAxMi0xMC0xNiAxMzo0NzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkgIHZpZGVvbWVkaWFuOiBjb3B5IG1lZGlhIHRvIHZpZGVvbWVkaWFuCgkgIENvcHkgdGhlIG1lZGlhbiB2aWRlbyBmaWx0ZXIgdG8gdmlkZW9maWx0ZXJzIGFuZCByZW5hbWUgdG8KCSAgdmlkZW9tZWRpYW4uCgoyMDEyLTEwLTE2IDEzOjEyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJICBtZWRpYTogcG9ydCB0byAxLjAKCjIwMTItMTAtMTYgMDE6MDI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGFwcGVuZCBwYWxldHRlIGRhdGEgdG8gcGFsZXR0ZWQgOC1iaXQgUkdCIGZyYW1lcwoJICBGaXhlcyBwbGF5YmFjayBvZiA4LWJpdCBpbmRleGVkIFJHQiB2aWRlb3MsIHdpdGggZml4ZXMgaW4gLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYwNDYKCjIwMTItMTAtMTUgMTU6MzY6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbmQgdGhpcyB0aW1lIGZpeCB0aGUgZGVmYXVsdCB0YXJnZXQtYml0cmF0ZSB2YWx1ZSBmb3IgcmVhbAoKMjAxMi0xMC0xNSAxNTozMDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBkZWZhdWx0IHRhcmdldC1iaXRyYXRlIHZhbHVlCgoyMDEyLTEwLTEzIDAwOjAzOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGFzc2VydCBpZiB1cHN0cmVhbSBzaXplIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBndWVzc2luZyBiaXRyYXRlcwoJICBGaXhlcyBhYm9ydCBpbiBwdXNoIG1vZGUgd2hlcmUgdGhlIHNvdXJjZSBpcyBub3Qgc2Vla2FibGUgYW5kIHRoZQoJICBzaXplIG9mIHRoZSBmaWxlIGlzIG5vdCBhdmFpbGFibGUsIGFzIHdpdGgKCSAgY2F0IGZvby5tcDQgfCBnc3QtbGF1bmNoLTEuMCBwbGF5YmluIHVyaT1mZDovLzAKCSAgTGVzcyBub3RpY2FibGUgd2l0aCByZWxlYXNlcywgc2luY2Ugd2UgZGlzYWJsZSBhbGwKCSAgZ19hc3NlcnQoKSB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjAwOAoKMjAxMi0xMC0xMiAxNDozODozMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGFsbG93IG1vcmUgc3RyZWFtcy4gQnVtcCB0aGlzIGNvbnN0YW50IHRvIDMyLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciByZWFsLXdvcmxkIGZpbGVzLgoKMjAxMi0xMC0xMiAxNDozNToyNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgbW9yZSBkaWZmZXJlbnQgZm91cmNjIHZhbHVlcyBmb3Igb3RoZXIgUHJvUmVzIHZhcmlhbnRzLgoKMjAxMi0xMC0xMSAyMjozNjoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIGV4YW1wbGVzOiB1cGRhdGUgc29tZSBlbGVtZW50IG5hbWVzIGZvciAxLjAgaW4gUlRQIGV4YW1wbGVzCgkgIGdzdHJ0cGJpbiAtPiBydHBiaW4KCSAgZmZkZWNfKiAgIC0+IGF2ZGVjXyoKCSAgZmZlbmNfKiAgIC0+IGF2ZW5jXyoKCjIwMTItMTAtMTAgMTI6MDU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgaW5jbHVkZQoKMjAxMi0xMC0xMCAxMDo1NToyOCArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgbXVsdGljYXN0LWlmYWNlIHByb3BlcnR5CgkgIHVkcHNyYyBhbHJlYWR5IGhhcyBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBtdWx0aWNhc3QgaW50ZXJmYWNlLCB3aGljaAoJICBpcyB1c2VmdWwgZm9yIG11bHRpLWhvbWVkIG1hY2hpbmVzLiBUaGlzIHBhdGNoIGFkZHMgdGhlIHNhbWUgY29kZSB0bwoJICB0aGUgbXVsdGl1ZHBzaW5rLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1ODY0CgoyMDEyLTEwLTEwIDExOjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBkb24ndCBlcnJvciBvbiBzZW5kIGVycm9ycyBidXQgb25seSB3YXJuCgkgIERvbid0IGVycm9yIG9uIHNlbmQgZXJyb3JzIGJ1dCBzaW1wbHkgcG9zdCBhIHdhcm5pbmcsIGl0J3MgcG9zc2libGUKCSAgdGhhdCB0aGUgbmV4dCBwYWNrZXQgd2lsbCBiZSBmaW5lLgoKMjAxMi0xMC0xMCAxMDoyODoyNCArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgZm9yY2UtaXB2NCBvcHRpb24KCSAgQWRkIGFuIG9wdGlvbiB0byB0aGUgbXVsdGl1ZHBzaW5rIHRoYXQgbWFrZXMgaXQgcG9zc2libGUgdG8gZm9yY2UKCSAgdGhlIHVzZSBvZiBhbiBJUHY0IHNvY2tldC4KCSAgVGhpcyBjYW4gZS5nLiBiZSB1c2VkIHRvIGhhbmRsZSB0aGUgaXNzdWUgZGVzY3JpYmVkIGluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI0ODEKCjIwMTItMTAtMTAgMTA6MTg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IHJlbW92ZSB1bnVzZWQgZmllbGQKCjIwMTItMTAtMTAgMTA6MTA6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHVzZSBuZWdvdGlhdGVkIGFsbG9jYXRvciBvciBwb29sCgkgIFVzZSB0aGUgYmFzZSBjbGFzcyB0byBhbGxvY2F0ZSBhIGJ1ZmZlciBmb3IgdXMgYmVjYXVzZSBpdCBrbm93cyBob3cKCSAgdG8gdXNlIHRoZSBuZWdvdGlhdGVkIGFsbG9jYXRvciBvciBidWZmZXJwb29sLgoKMjAxMi0xMC0xMCAxMDowOTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcG9zdCBlcnJvciB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nCgoyMDEyLTEwLTEwIDEwOjA5OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBlbGVtZW50cyBwb3N0IGVsZW1lbnQgbWVzc2FnZXMKCjIwMTItMTAtMDcgMTY6NTY6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMSA9PT0KCjIwMTItMTAtMDcgMTU6MzE6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4xCgoyMDEyLTEwLTA2IDE0OjU3OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YzBiNTJjIHRvIDZiYjY5NTEKCjIwMTItMTAtMDUgMTU6MTI6MjcgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IG91dHB1dCBjaGFubmVscyBzaG91bGQgYmUgbWFya2VkIGFzIE1PTk8sIG5vdCBGUk9OVF9MRUZULCBpZiB3ZSdyZSBub3QgcHJlc2VydmluZyBpbnB1dCBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMTItMTAtMDQgMTU6MTM6MjAgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogdXNlIGdzdF9hdWRpb19jaGFubmVsX3Bvc2l0aW9uc190b19tYXNrIGluc3RlYWQgb2YgYSBsb2NhbCBjb3B5IG9mIGhhbGYgb2YgaXQuIEhhbmRsZXMgc29tZSB2YWx1ZXMgbW9yZSBjb3JyZWN0bHkuCgoyMDEyLTEwLTA0IDIwOjMyOjQ1ICswMjAwICBSYXNtdXMgUm9oZGUgPHJvaGRlQGR1ZmYuZGs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdHJ0cGRlcGF5OiBkb24ndCBsZWFrIGlucHV0IGJ1ZmZlcgoJICBUaGUgcnRwIGJ1ZmZlciBpcyBuZXZlciB1bm1hcHBlZCBpbiB0aGUgbm9ybWFsIGNvZGUgZXhpdCBwYXRoCgkgIG9mIGdzdF9ydHBfZ3N0X2RlcGF5X3Byb2Nlc3MoLi4pIHJlc3VsdGluZyBpbiBhIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NTEyCgoyMDEyLTEwLTA0IDE4OjM3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgTlYxMiBhbmQgTlYyMQoKMjAxMi0xMC0wMSAxNToxMTowNSArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogZG8gbm90IHB1c2ggdW5tYXBwZWQgZGF0YQoJICBBbHNvIGRvIG5vdCB1c2UgYSBHc3RCdWZmZXIgYWZ0ZXIgaXQgaGFzIGJlZW4gcHVzaGVkIGludG8gdGhlIGFkYXB0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTMKCjIwMTItMTAtMDMgMTA6NTE6NDUgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgbWV0YSBpbmZvOiB0aHJlYWRzYWZlIHJlZ2lzdHJhdGlvbiB1c2luZyBnX29uY2UKCjIwMTItMTAtMDEgMTU6NDQ6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBoYW5kbGUgc29tZSBpbml0aWFsIGp1bmsgYmVmb3JlIGhkcmwgbGlzdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MDU5CgoyMDEyLTEwLTAxIDE0OjAzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB0ZXN0czogcG9ydCBnZGtwaXhidWZzaW5rIHRlc3QKCjIwMTItMDktMjkgMTE6NTk6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIFB1cmdlIHJlZmVyZW5jZXMgdG8gbGlib2lsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzMyODUKCjIwMTItMDktMjggMTY6NTE6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9hdmktaWRzLmg6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlY29nbml6ZSBhbGwgeHN1YiBmcmFtZXMgYXMga2V5ZnJhbWVzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NzcKCjIwMTItMDktMjggMTY6NTA6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOiBmaW5kIHRoZSBjb3JyZWN0IGNodW5rIGZvciBzZWdtZW50IGZvbGxvd2luZyBzZWVrCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NzcKCjIwMTItMDktMjcgMjI6MTc6NDkgKzAxMDAgIEFybmF1ZCBWcmFjIDxyYXdvdWxAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZpeCBwYXJzaW5nIGluIHB1c2ggbW9kZSB3aGVuIG1vb3YgYXRvbSBpcyBhdCB0aGUgZW5kCgkgIFdoZW4gcGxheWluZyBhbiBtcDQgZmlsZSB3aXRoIHRoZSBNT09WIGF0b20gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwgcGxheWJhY2sKCSAgZmFpbHMgd2l0aCB0aGUgZXJyb3IgbWVzc2FnZSAibm8gJ21vb3YnIGF0b20gd2l0aGluIHRoZSBmaXJzdCAxMCBNQiIuIFRoaXMgaXMKCSAgZHVlIHRvIGEgbWlzdGFrZSBpbiB0aGUgdXBzdHJlYW1fc2l6ZSB0eXBpbmcsIG1ha2luZyB0aGUgc2VlayB0byB0aGUgZW5kIG9mCgkgIGZpbGUgbmV2ZXIgaGFwcGVuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTcyCgoyMDEyLTA5LTI3IDE1OjUwOjQ5IC0wMzAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiByZW1vdmUgZHVwbGljYXRlIGVudHJpZXMgYXQgZm9ybWF0IGF0IGNhcHMKCSAgQXZvaWRzIGV4dHJhIGNhcHMvc3RydWN0dXJlcyBwcm9jZXNzaW5nCgoyMDEyLTA5LTI3IDE0OjEzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBuZWdvdGlhdGUgcG9vbCB3aXRoIHNyY3BhZCBjYXBzCgoyMDEyLTA5LTI3IDExOjAyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFRoZSBjb252ZXJ0IGFuZCBkdXJhdGlvbiBxdWVyaWVzIGFyZSBub3Qgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBmb3JtYXQKCjIwMTItMDktMjYgMDk6Mjg6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBjbGVhciB2aWRlbyBmcmFtZSBtb3JlIGNvcnJlY3RseQoJICBNYWtlIHN1cmUgbm90IHRvIHRvdWNoIG1lbW9yeSB0aGF0IGRvZXNuJ3QgYmVsb25nIHRvCgkgIG91ciBmcmFtZSwgd2UgbWlnaHQgYmUgb25lIHBhcnQgb2YgYSBzaWRlLWJ5LXNpZGUgM0QKCSAgZnJhbWUsIG9yIGluIGEgcGljdHVyZS1pbi1waWN0dXJlIHNjZW5hcmlvLgoKMjAxMi0wOS0yNiAwMDo0NDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IG1pbm9yIGNsZWFuLXVwCgkgIFVzZSBHc3RCeXRlV3JpdGVyLCBiZWNhdXNlIHdlIGNhbiwgYW5kIGdfdmFsdWVfdGFrZV9ib3hlZC4KCjIwMTItMDktMTAgMTA6Mjc6MjggKzA0MDAgIERtaXRyaXkgU2Ftb25lbmtvIDxkbWl0cml5LnNhbW9uZW5rb0B0ZWxpZ2VudC5ydT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzcGVleCBhdWRpbyBkZWNvZGluZyBieSBjcmVhdGluZyBmYWtlIHN0cmVhbSBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzYyMgoKMjAxMi0wOS0yNSAyMToyMToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCB3YXJuaW5ncyB3aGVuIHVzaW5nIHRyYW5zcGFyZW50IGJhY2tncm91bmQKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIGluY3JlYXNlcyB0aGUgcmVmY291bnQsIHdoaWNoIG1ha2VzCgkgIHRoZSBidWZmZXIgbm90IHdyaXRhYmxlIGFueSBtb3JlIHRlY2huaWNhbGx5LCBzbyBjYWxsaW5nCgkgIGdzdF9idWZmZXJfbWVtc2V0KCkgb24gaXQgd2lsbCBjYXVzZSBuYXN0eSB3YXJuaW5ncy4KCSAgVW5pdCB0ZXN0IGRpc2FibGVkIGJlY2F1c2UgaXQgdmVyeSByYXJlbHkgKGZvciBtZSkKCSAgZmFpbHMsIHBvc3NpYmx5IG5lZ290aWF0aW9uLXJlbGF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzOTgKCjIwMTItMDktMjUgMTA6NDM6MjggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkIHNvbWUgdXNlZnVsIGRlYnVnIGxvZ2dpbmcKCjIwMTItMDktMjUgMTA6NDE6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHRlbGVjaW5lCgkgIFRoaXMgb25seSBhZmZlY3RzIGJlaGF2aW91ciBpbiB0ZWxlY2luZSBjYXNlcyB3aXRoIHBhdHRlcm4gbG9ja2luZwoJICBlbmFibGVkLiBUaGUgZGVmYXVsdCBjYXNlIHNob3VsZCBiZSB1bnRvdWNoZWQuCgkgIFRoaXMgd29ya3Mgd2l0aCB0aGUgb3V0cHV0IGZyb20gZmllbGRhbmFseXNpcyBhdCBsZWFzdCwgYnV0IHRoZSBmaWVsZAoJICBvcmRlciBsb29rcyBzd2FwcGVkIGZvciB0ZWxlY2luZSBtaXhlZCBidWZmZXJzIHdpdGggdGhlCgkgIERhdmlkX3NsaWRlc19TY2hsZWVmIGNsaXAuCgoyMDEyLTA5LTI1IDE0OjQzOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRGlzYWJsZSBHTElCIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgkgIEdWYWx1ZUFycmF5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgMi4zMiAuLi4gYnV0IHRoZXJlJ3Mgbm8gdXNhYmxlCgkgIHJlcGxhY2VtZW50IGZvciBpdC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjgKCjIwMTItMDktMjUgMTQ6MTg6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IGxlYWsKCjIwMTItMDktMjQgMTY6NDY6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjAgPT09CgoyMDEyLTA5LTI0IDE0OjA2OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4wCgoyMDEyLTA5LTI0IDExOjU2OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IHJlbW92ZSBnX3ByaW50ZXJyKCkgdGhhdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlcgoJICBub3cgdGhhdCB0Y2FzZV9za2lwX2Jyb2tlbl90ZXN0KCkgcHJpbnRzIGl0IGFzIHdlbGwuCgoyMDEyLTA5LTIzIDE5OjUwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZGlzYWJsZSBmYWlsaW5nIHJlcGxheWdhaW4gdGVzdHMKCjIwMTItMDktMjMgMTY6MzE6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNjoxMDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydG11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjMgMTY6MDI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZW5kIHN0cmVhbS1zdGFydAoKMjAxMi0wOS0yMyAxNTo1NzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE1OjQ4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IGFkZCBhIGJ1bmNoIG9mIEZJWE1FcwoJICBOZWVkcyBzb21lIG1vcmUgd29yaywgc28gc3RyZWFtLXN0YXJ0LCBjYXBzIGFuZCB0YWdzIGFyZQoJICBzZW50IGluIHRoZSByaWdodCBvcmRlci4KCjIwMTItMDktMjMgMTU6MTg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE1OjE2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMiAxNjowODowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGY5NjJmNyB0byA2YzBiNTJjCgoyMDEyLTA5LTIxIDIxOjU0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYW5zd2VyIFVSSSBxdWVyeQoJICBXaXRob3V0IHRoaXMsIHNvbWV0aGluZyBhbHNvIGFuc3dlcmVkIHRoZSBxdWVyeQoJICB3aXRoIFRSVUUgYnV0IHdpdGhvdXQgc2V0dGluZyBhIHVyaSwgbm90IHN1cmUKCSAgd2hhdCB0aGF0IHdhcy4uCgoyMDEyLTA5LTIwIDE3OjI4OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IE1ha2Ugc3VyZSB0aGUgY2FwcyBkb24ndCBoYXZlIGR1cGxpY2F0ZWQgc3BzL3BwcwoKMjAxMi0wOS0yMCAxOTo1ODoxMiArMDIwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IE11dGUgc3RyZWFtIHBvc3QtY29ubmVjdGlvbiBpZiByZXF1aXJlZAoJICBBIGJ1ZyBpbiBQdWxzZUF1ZGlvIGNhdXNlcyBQQV9TVFJFQU1fU1RBUlRfTVVURUQgdG8gYmUgcmVqZWN0ZWQgb24KCSAgcmVjb3JkIHN0cmVhbXMuIFVudGlsIHRoaXMgaXMgZml4ZWQgdXBzdHJlYW0sIHdlIG11dGUgdGhlIHN0cmVhbQoJICBtYW51YWxseSBhdCBzdGFydHVwLiBCYXNlZCBvbiBhIHBhdGNoIGJ5IEFsYmFuIEJyb3dhZXlzCgkgIDxwcmFoYWxAeWFob28uY29tPi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDQ2OQoKMjAxMi0wOS0yMCAxODowMDo1OSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IDI0IGJpdCBhdWRpbyBoZXJlIGlzIFMyNExFLCBub3QgUzI0XzNMRS4KCjIwMTItMDktMjAgMTA6MDc6MjQgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogaGFuZGxlIGxhdGVuY3kgcXVlcnkgYmVmb3JlIHNldHRpbmcgdXAgdGhlIGJ1ZmZlcnBvb2wKCSAgRml4ZXMgY3Jhc2ggaWYgbm8gYnVmZmVycG9vbCBpcyBzZXQgdXAgeWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NDMwCgoyMDEyLTA5LTE5IDA5OjE3OjAzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBTcGVjaWZ5IGVuZGlhbm5lc3MgaW4gSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgQ29ycmVzcG9uZHMgdG8gYW4gQVBJIGNoYW5nZSBpbiBnc3QtcGx1Z2lucy1iYXNlLiBUaGlzIG5lZWRzIHRvIGJlIGZpeGVkCgkgIHRvIHF1ZXJ5IHRoZSBleHBlY3RlZCBieXRlIG9yZGVyIHVzaW5nIGFwcHJvcHJpYXRlIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODAyMQoKMjAxMi0wOS0xOSAwOToxNTo1MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogU3BlY2lmeSBlbmRpYW5uZXNzIGluIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIERpcmVjdFNvdW5kIGV4cGVjdHMgbmF0aXZlIGVuZGlhbiBieXRlIG9yZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MDIxCgoyMDEyLTA5LTE5IDA5OjEzOjExICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBTcGVjaWZ5IGVuZGlhbm5lc3MgaW4gSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgQ29ycmVzcG9uZHMgdG8gYW4gQVBJIGNoYW5nZSBpbiBnc3QtcGx1Z2lucy1iYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MDIxCgoyMDEyLTA5LTE5IDAwOjM5OjAxICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJlbW92ZSBpbmNvcnJlY3QgbG9naWMKCSAgSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB0aGVzZSBsaW5lcyB3ZXJlIGFkZGVkLCB0aGV5IGRvbid0IG1ha2Ugc2Vuc2UgdG8KCSAgbWUgbm93IGFuZCBib3RoIERhdmlkIGFuZCBJIGFncmVlIHRoYXQgcmVtb3ZpbmcgdGhlbSBtb3ZlcyBjbG9zZXIgdG8KCSAgcmVsYXRlZCBsb2dpYyBiZWluZyBjb3JyZWN0LCB0aGVyZWZvcmUsIHRoZXkncmUgYmVpbmcgcmVtb3ZlZC4KCSAgSSd2ZSB0ZXN0ZWQgYSBmZXcgcHJvZ3Jlc3NpdmUsIGludGVybGFjZWQgYW5kIHRlbGVjaW5lIGNsaXBzIGFuZCB0aGV5CgkgIGFsbCBiZWhhdmUgcHJvcGVybHkgdGltZXN0YW1wLXdpc2UgYW5kIHZpc3VhbGx5IGFmdGVyIHRoZXNlIGNoYW5nZXMuCgoyMDEyLTA5LTE5IDAwOjE3OjQ5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBmaWVsZCBkdXJhdGlvbgoJICBUaGUgZnJhbWUgcmF0ZSBmcmFjdGlvbiBpcyBjb3JyZWN0bHkgYWRqdXN0ZWQgaW4gdGhlIGNhc2VzIHByZWNlZGluZyB0aGUKCSAgZmllbGQgZHVyYXRpb24gY2FsY3VsYXRpb24gYW5kIHNvIHRoZSBmYWN0b3Igb2YgMiBpcyBpbmNvcnJlY3QuCgoyMDEyLTA5LTE4IDEwOjM0OjAzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBVL1Ygc3RyaWRlcyBmb3IgYSBudW1iZXIgb2YgY2FzZXMuCgoyMDEyLTA5LTE4IDEyOjEzOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGluaXQgdmlkZW9pbmZvCgkgIC4uLiB0byBwcmV2ZW50IHJhbmRvbSBib2d1cyBjYXBzIGZpZWxkcy4KCjIwMTItMDktMTggMTI6MTI6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogY2hhaW4gdXAgdG8gY29sbGVjdHBhZHMgcXVlcnkgZnVuY3Rpb24KCjIwMTItMDktMTcgMTM6MTc6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgbGV0IEdzdENvbGxlY3RQYWQgc2hhZG93IGN1c3RvbSBzaW5rIHBhZCBxdWVyeSBmdW5jCgkgIEluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCB0aGUgY3VzdG9tIHBhZCBxdWVyeSBmdW5jdGlvbiBpcyBub3QgY2FsbGVkLgoJICBUaGlzIHBhdGNoLCBzZXQgdGhhdCBxdWVyeSBmdW5jdGlvbiBvbiB0aGUgR3N0Q29sbGVjdFBhZHMgdG8gYXZvaWQgdGhpcwoJICBzaGFkb3dpbmcuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEyLTA5LTE3IDE4OjIzOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGlzdCBpbWFnZS5qcGcgZm9yIGpwZWcgdGVzdAoKPT09IHJlbGVhc2UgMC4xMS45OSA9PT0KCjIwMTItMDktMTcgMTc6NTc6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjk5CgoyMDEyLTA5LTE3IDE2OjUzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTE3IDEzOjMwOjE1ICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEZpeCBzcGVjIGZpbGUgZm9yIHZwOCBtb3ZlCgoyMDEyLTA5LTE3IDEzOjIzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBhbm5vZGV4OiBBZGQgdG8gdGhlIENSVUZUX0RJUlMKCjIwMTItMDktMTcgMTI6MTQ6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTE3IDA5OjQ4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IGZpbmlzaCBmcmFtZXMKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBhbHdheXMgZ2V0IHRoZSBzYW1lIGZyYW1lIGlmIG11bHRpcGxlIGZyYW1lcyBhcmUgcGVuZGluZywKCSAgbGVha2luZyBtZW1vcnkgb2YgdGhlIHByZXZpb3VzIGZyYW1lcyBhbmQgYnJlYWtpbmcgdGltZXN0YW1wcy4KCjIwMTItMDktMTcgMDk6NDA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbGxvdyBjaGFuZ2luZyBiaXRyYXRlIGFuZCBvdGhlciBwYXJhbWV0ZXJzIGR1cmluZyBwbGF5YmFjawoJICBGaXhlcyBidWcgIzY0ODI3Ni4KCjIwMTItMDktMTcgMDk6MTY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBTdG9yZSBjb25maWd1cmF0aW9uIGluIHRoZSB2cHhfY29kZWNfZW5jX2NmZ190IHN0cnVjdCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGFsbCB2YXJpYWJsZXMKCSAgQWxzbyBwcm90ZWN0IGVuY29kZXIgd2l0aCBhIG11dGV4LgoKMjAxMi0wOS0xNiAxNjowMzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIHRvIHJlZmxlY3QgbmV3IHByb3BlcnR5IG5hbWVzCgkgIC4uLmFuZCBhbHNvIGxpbmsgdG8gdGhlIFdlYk0gZW5jb2RlciBwYXJhbWV0ZXJzIHdlYnNpdGUuCgoyMDEyLTA5LTE2IDE1OjU3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTWFrZSBzb21lIHByb3BlcnR5IG5hbWVzIG1vcmUgcmVhZGFibGUKCjIwMTItMDktMTYgMTU6NDc6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdnA4OiBBZGQgdGVzdHMgdG8gLmdpdGlnbm9yZQoKMjAxMi0wOS0xNiAxNTo0NjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgcGF0Y2ggdG8gdGhlIG5ldyBwcm9wZXJ0eSBuYW1lcwoKMjAxMi0wOS0xNiAxNTo0NjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdnB4OiBJbnRlZ3JhdGUgdGVzdCBpbnRvIHRoZSBidWlsZCBzeXN0ZW0gdG9vCgoyMDEyLTAyLTA3IDE3OjAwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNi82XSB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0xMS0yNCAyMTo0MjozOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDUvNl0gdGVzdHM6IHVwZGF0ZSBmb3IgZ3N0Y2hlY2sgQVBJIGNoYW5nZQoKMjAxMC0wNy0xMCAxNTo0Njo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDQvNl0gdnA4ZGVjOiBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdnA4ZGVjCgoyMDEwLTA3LTEwIDE1OjQ2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMy82XSB2cDhlbmM6IEltcHJvdmUgdW5pdCB0ZXN0IGEgYml0CgoyMDEwLTA3LTEwIDE1OjMyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMi82XSB2cDhlbmM6IEFsc28gY2hlY2sgdGhlIG91dHB1dCBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMDctMTAgMTU6Mjk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxLzZdIHZwOGVuYzogQWRkIHNpbXBsZSB1bml0IHRlc3QKCjIwMTItMDktMTYgMTU6NDM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJICB2cHg6IEludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTItMDktMTYgMTU6MzM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSogZXh0L3ZweC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZweC9wbHVnaW4uYzoKCSAgdnB4OiBSZW5hbWUgdnA4IHBsdWdpbiB0byB2cHgKCSAgVGhpcyBpcyB1c2luZyBsaWJ2cHgsIHdoaWNoIGNhbiBzdXBwb3J0IG1vcmUgY29kZWNzIHRoYW4ganVzdCBWUDgKCSAgYW5kIHdpbGwgbGlrZWx5IHN1cHBvcnQgZnV0dXJlIGNvZGVjcy4KCjIwMTItMDktMTYgMTU6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBBcHBseSByZW1haW5pbmcgY2hhbmdlcyB0aGF0IGdvdCBsb3N0IHdoaWxlIG1vdmluZyB0aGUgcGx1Z2luIHZpYSBnaXQgYW0gdGhhbmtzIHRvIG1lcmdlcwoKMjAxMi0wOS0xNiAxNToyNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTM0LzEzNF0gdnA4ZGVjOiBVbnJlZiBpbnB1dC9vdXRwdXQgc3RhdGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRlY29kZXIKCjIwMTItMDktMTYgMTU6MTg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMzLzEzNF0gdnA4ZW5jOiBVcGRhdGUgcmVhbHRpbWUgcHJvZmlsZSB0byB0aGUgbmV3IHByb3BlcnRpZXMKCjIwMTItMDktMTYgMTA6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzMi8xMzRdIHZwODogUmVxdWlyZSBsYXRlc3QgbGlidnB4IHJlbGVhc2UgKDEuMS4wIGZyb20gTWF5IDIwMTIpCgkgIEZpeGVzIGJ1ZyAjNjg0MTE2IGFuZCBzaW1wbGlmaWVzIGNvbmZpZ3VyZSBjaGVja3MuCgoyMDEyLTA5LTE1IDIwOjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzEvMTM0XSB2cDhlbmM6IFVzZSBhIHN0cmluZyBmaWVsZCBmb3IgdGhlIHByb2ZpbGUgaW4gdGhlIGNhcHMKCSAgSnVzdCBmb3IgY29uc2lzdGVuY3kgd2l0aCBhbGwgdGhlIG90aGVyIGNvZGVjcy4KCjIwMTItMDktMTUgMDA6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzMC8xMzRdIHZwOGVuYzogQ29ycmVjdGx5IHNldCBwcm9maWxlIGluIGNhcHMKCjIwMTItMDktMTQgMjM6NDE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyOS8xMzRdIHZwODogVXBkYXRlIGNvcHlyaWdodCBhbmQgYXV0aG9ycwoKMjAxMi0wOS0wOCAxNTozODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI4LzEzNF0gdnA4ZW5jOiBSZXdvcmsgZW5jb2RlciBwcm9wZXJ0aWVzIHRvIGJlIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBsaWJ2cHggdG9vbHMgYW5kIEFQSQoJICBBbHNvIGFkZCBhbGwgYXZhaWxhYmxlIHByb3BlcnRpZXMuCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjcvMTM0XSByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wNy0xOSAwOTowNToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI2LzEzNF0gdnA4ZGVjOiBDYWxsIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA4LTE0IDExOjE3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjUvMTM0XSB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBkZWNvZGluZyB0aHJlYWRzCgoyMDEyLTA4LTE0IDExOjA5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjQvMTM0XSB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciB0aGUgTUZRRSBwb3N0cHJvY2Vzc2luZyBmbGFnCgkgIFdoaWNoIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBpZiBwb3N0cHJvY2Vzc2luZyBpcyBlbmFibGVkLgoKMjAxMi0wOC0wOSAxMzozNzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIzLzEzNF0gdnA4OiBVc2UgcGtnLWNvbmZpZyBmaWxlIGZvciBnZXR0aW5nIHRoZSBMSUJTIGFuZCBDRkxBR1MKCjIwMTItMDgtMDggMTc6MDY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyMi8xMzRdIHZwOGVuYzogVXBkYXRlIHRoZSBwZXItY29tcG9uZW50IHN0cmlkZXMgZm9yIGV2ZXJ5IGZyYW1lIHRvbwoJICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIG9mIEdzdFZpZGVvQWxpZ25tZW50CgoyMDEyLTA3LTI2IDE5OjMxOjE0ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyMS8xMzRdIHZwOGVuYzogaW5pdGlhdGUgZW5jb2RlciB0byBmaXggYSBjcmFzaC4KCSAgV2l0aG91dCB0aGlzIHBhdGNoIHZwOGVuYyBzZW5kIGhlYWRlciBiZWZvcmUgYW5kIGFmdGVyIGZpcnN0CgkgIGtleSBmcmFtZS4gT24gc2Vjb25kIGtleWZyYW1lIHZwOGRlYyB3aWxsIGNyYXNoIHdpdGhvdXQgZ2V0dGluZwoJICBkZWNvZGVkIGZyYW1lLiBXaXRoIHRoaXMgcGlwZSBpdCBpcyBlYXN5IHRvIHJlcHJvZHVjZSB0aGlzIGlzc3VlOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISB2cDhlbmMgISB2cDhkZWMgISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjY3CgoyMDEyLTA3LTI4IDAwOjMyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjAvMTM0XSB0YWc6IFVwZGF0ZSBmb3IgdGFnbGlzdC90YWcgZXZlbnQgQVBJIGNoYW5nZXMKCjIwMTItMDctMjMgMTA6MzU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExOS8xMzRdIGV4dDogVXBkYXRlIGZvciB2aWRlbyBiYXNlIGNsYXNzZXMgQVBJIGNoYW5nZXMKCjIwMTItMDctMjEgMTk6NTk6MjEgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE4LzEzNF0gdnA4ZW5jOiBmaXggbWVtb3J5IGxlYWsKCSAgdW5yZWYgZnJhbWUuIGkgaG9wZSBpdCBpcyBjb3JyZWN0IHBsYWNlIHRvIGRvIGl0LgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wNy0wNiAxMTo1MDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTcvMTM0XSB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjI2OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNi8xMzRdIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MDM6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE1LzEzNF0gdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDYtMDcgMTI6MzM6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNC8xMzRdIHZwODogZml4IGNvZGVjIHN0YXRlIGxlYWtzCgkgIEkgb25seSB0ZXN0ZWQgdGhhdCB2cDhlbmMgISB2cDhkZWMgZG9lcyBub3QgY3Jhc2gsIGFzIHZhbGdyaW5kIGRvZXMgbm90IGdyb2sKCSAgYXQgbGVhc3Qgb25lIG9mIHRoZSBpbnN0cnVjdGlvbnMgdXNlZCBieSB2cDhlbmMsIHByZXZlbnRpbmcgbWUgZnJvbSBjaGVja2luZwoJICBhIGxlYWssIGFuZCB0aGUgbGFjayBvZiBvbmUgYWZ0ZXIgdGhlIHBhdGNoLgoKMjAxMi0wNi0wNiAxMzowMjo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTMvMTM0XSB1cGRhdGUgZm9yIHRhZyBldmVudCBjaGFuZ2UKCjIwMTItMDUtMjggMTY6MDU6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDExMi8xMzRdIHZwODogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTEvMTM0XSB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDUtMTYgMTQ6MDQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExMC8xMzRdIHZwOGVuYzogVXBkYXRlIGZvciBHc3RWaWRlb0NvZGVjRnJhbWUgQVBJIGNoYW5nZXMKCjIwMTItMDQtMjcgMTg6MjI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDkvMTM0XSB2cDhkZWM6IEltcHJvdmUgb3V0cHV0X3N0YXRlIGhhbmRsaW5nCgkgIEF2b2lkIGdldHRpbmcgb3V0cHV0X3N0YXRlIGZvciBldmVyeSBidWZmZXIgYXMgdGhhdCByZXF1aXJlcwoJICBnZXR0aW5nIHRoZSBvYmplY3Rsb2NrIGFuZCBkb2luZyByZWZlcmVuY2UgY291bnRpbmcuIFN0b3JlIGl0IGxvY2FsbHkKCSAgd2hlbiBpdCBpcyBjcmVhdGVkIGFuZCB1c2UgaXQuCgoyMDEyLTA0LTI3IDA5OjA1OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA4LzEzNF0gdnA4ZGVjOiBVc2Ugb3V0cHV0c3RhdGUgd2hlbiBjb3B5aW5nIG91dHB1dCBidWZmZXIgZGF0YQoJICBVc2luZyB0aGUgaW5wdXQgc3RhdGUgd2FzIGNhdXNpbmcgYSBjcmFzaCBiZWNhdXNlIHRoZSBzdHJpZGVzL29mZnNldHMKCSAgd291bGQgYmUgd3JvbmcuIEZpeCBpdCBieSB1c2luZyB0aGUgb3V0cHV0IGFzIHdlIGFyZSBkZWFsaW5nIHdpdGgKCSAgdGhlIGRlY29kZWQgZnJhbWUuCgoyMDEyLTA0LTI0IDExOjA4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDcvMTM0XSB2cDg6IFBvcnQgdG8gLWJhc2UgdmlkZW8gYmFzZSBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L3ZwOC9NYWtlZmlsZS5hbQoJICBleHQvdnA4L2dzdHZwOGRlYy5jCgkgIGV4dC92cDgvZ3N0dnA4ZW5jLmMKCSAgQmFjayB0byAwLjEwIHN0YXRlIGZvciBub3csIG5lZWQgdG8gYmUgcG9ydGVkIGFnYWluLgoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA2LzEzNF0gdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDUvMTM0XSBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNCAxNDo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA0LzEzNF0gZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wMy0wNiAxNToyMToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAzLzEzNF0gdnA4ZW5jOiBGaXggJ2FyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1zZXQnIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgZGVzdGluYXRpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDEtMzAgMTc6MTc6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAyLzEzNF0gdXBkYXRlIGZvciBIRUFERVIgZmxhZwoKMjAxMi0wMS0yNSAxODo0OTo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAxLzEzNF0gcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCSAgRml4ZXMgIzY2ODY3Ny4KCjIwMTItMDEtMjQgMTE6MjI6NDYgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwMC8xMzRdIHZwOGVuYzogdHJhY2Ugb3V0Z29pbmcgdGltZXN0YW1wcwoJICBhZGQgaW5mbyBsZXZlbCBwcmludHMgZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wNCAxMTowNTo0OCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk5LzEzNF0gdnA4ZGVjOiB1c2UgaXNfYWx0X2RhdGEgb3B0aW9uIHRvIHByZXZlbnQgdGltZXN0YW1wIGNvbGxpc2lvbnMKCSAgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgdXN1YWxseSBzdG9yZWQgaW4gY29udGFpbmVyIHdpdGggc2FtZSB0aW1lc3RhbXAgYXMKCSAgZGVwZW5kZXQgZnJhbWUuIFRoaXMgbWFrZSBiYXNldmlkZW9kZWNvZGVyIHRvIHVwZGF0ZSB0aW1lc3RhbXAgZm9yIGRlcGVuZGV0CgkgIGZyYW1lIGFuZCBjb3VzZSBUUyBjb2xpc2lvbiBvbiBuZXh0IGZyYW1lOgoJICBeLSBoZXJlIGlzIGFsdHJlZgoJICB0aW1lICAgICA6IDEgMiAzIDQgNSA2IDcgOCA5CgkgIHdlYm0gdHMgIDogMSAgIDMgNSA1ICAgNyAgIDkKCSAgdnA4ZGVjIHRzOiAxICAgMyAgIDcgICA3ICAgOQoJICBGaXggYnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MjQ1CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wMiAwODoyODoxMyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTgvMTM0XSB2cDg6IGFkZCBpbml0aWFsIHByZXNldCBmaWxlCgkgIFRoaXMgaXMgaW5pdGlhbCBwcmVzZXQgZmlsZSwgY3VycmVudGx5IHdpdGggb25seSBvbmUgcHJvZmlsZQoJICBmb3IgcmVhbHRpbWUgZW5jb2RpbmcuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0xMS0yOCAxMzowODoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk3LzEzNF0gdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMS0yNSAxMTozNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk2LzEzNF0gdnA4ZGVjOiB1c2UgbmV3IGJhc2V2aWRlb2RlY29kZXIgQVBJIHRvIGRyb3AgZnJhbWVzIGFuZCBnZXQgUW9TIG1lc3NhZ2VzIHBvc3RlZAoKMjAxMS0xMS0xMCAxNToxMzozNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA5NS8xMzRdIG1pbWljLCBvcGVuY3YsIHZwOCwgYWNtbXAzZGVjLCBsaW5zeXM6IERvbid0IGJ1aWxkIHN0YXRpYyBwbHVnaW5zCgkgIFBhc3MgLS10YWc9ZGlzYWJsZS1zdGF0aWMgdG8gbGlidG9vbCBldmVyeXdoZXJlIHdoZXJlIGl0J3MgYmVlbiBmb3Jnb3R0ZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc2OAoKMjAxMS0xMS0wMyAxNDowMTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk0LzEzNF0gdnA4OiBQb3J0IHRvIDAuMTEKCjIwMTEtMDgtMjEgMjA6MTU6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5My8xMzRdIHZwOGVuYzogZml4IGRyb3AtZnJhbWUgcHJvcGVydHkKCSAgRml4ZXMgIzY1NjkyOS4KCjIwMTEtMDgtMTkgMTk6MTc6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA5Mi8xMzRdIHZwODogcHJvYmUgZm9yIHRoZSBuZXcgdHVuaW5nIEFQSSB0byBrZWVwIGJ1aWxkaW5nIHdpdGggb2xkZXIgbGlidnB4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjgKCjIwMTEtMDgtMTggMTA6Mzk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5MS8xMzRdIHZwOGVuYzogUmVtb3ZlIHVudXNlZCBhbmQgdXNlbGVzcyB2YXJpYWJsZSBpbiB0YWdzIGhhbmRsaW5nCgoyMDExLTA4LTEyIDEyOjA4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTAvMTM0XSB2cDhlbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wNy0wOSAxODo1MzoyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg5LzEzNF0gdnA4ZW5jOiBBZGQgbW9yZSBwcm9wZXJ0aWVzCgoyMDExLTA2LTE5IDE2OjA2OjQ2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg4LzEzNF0gdnA4ZW5jOiBhZGQgbWluL21heHNlY3Rpb24tcGN0IG9wdGlvbgoJICBUaGlzIG9wdGlvbnMgc2hvdWxkIGJlIGdvb2QgdG8gcmVkZXVjZSBkZWNvZGUgQ1BVIGxvYWQuCgkgIGZvciBsb3dlbmQgaGFyZHdhcmU6CgkgIG1pbnNlY3Rpb24tcGN0PTE1IG1heHNlY3Rpb24tcGN0PTQwMAoJICBmb3IgaGllbmQgaHc6CgkgIG1pbnNlY3Rpb24tcGN0PTUgbWF4c2VjdGlvbi1wY3Q9ODAwCgkgIHNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc192YnJfZW5jb2RpbmdfZm9yX3Ntb290aF9wbGF5YmFja19vbl9sb3ctZW5kX2hhcmR3YXJlCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDExOjA1OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg3LzEzNF0gdnA4ZW5jOiBhZGQgbGFnLWluLWZyYW1lcyBvcHRpb24uCgkgIFRoaXMgb3B0aW9uIHNldCBtYXhpbXVtIG9mIGZyYW1lcyBjb2RlYyBzaG91bGQgcmVtZW1iZXIsCgkgIHRvIG1ha2UgYmV0dGVyIHByZWRpa3Rpb24gZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBTZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfYmVzdF9xdWFsaXR5X3Zicl9lbmNvZGluZwoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAwNzoxNjo1NyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4Ni8xMzRdIHZwOGVuYzogdXNlIG11bHRpcGFzcy5jYWNoZSBmaWxlIG5hbWUgYXMgZGVmYXVsdCBmb3IgbXVsdGlwYXNzIG1vZGUuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTIxIDA4OjAzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODUvMTM0XSB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0xMiAxODowNToyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODQvMTM0XSB2cDg6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0wOSAxMTozMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgzLzEzNF0gdnA4ZW5jOiBVc2UgZGVzdHJveSBub3RpZnkgdG8gZnJlZSB0aGUgY29kZXIgaG9vawoKMjAxMS0wNi0xOCAxNTo1Njo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgyLzEzNF0gdnA4ZW5jOiB1cGRhdGUgZm9yIG5ldyBsaWJ2cHggYXBpCgoyMDExLTA2LTI2IDE1OjE1OjU0ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgxLzEzNF0gdnA4ZW5jOiBnZW5lcmF0ZSBhIHRpbWVzdGFtcCBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIEl0IHdpbGwgZml4IGhhbmRsaW5nIG9mIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHNpbmNlIG1hdHJvc2thLW11eAoJICBkcm9wIGFueSBmcmFtIHdpdGggbm8gdGltZXN0YW1wLgoJICBzZWUgYWxzbzoKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9jb250YWluZXIvCgkgIFRoZSBlbmNvZGVyIHdpbGwgY3VycmVudGx5IHNldCB0aGUgQVIncyB0aW1lc3RhbXAgYXMgY2xvc2UgYXMgcG9zc2libGUKCSAgdG8gdGhlIHByZXZpb3VzIGZyYW1lIHdoaWxlIGF0dGVtcHRpbmcgdG8gcHJvdmlkZSBhIHRpbWVzdGFtcCB0aGF0IGlzCgkgIHN0cmljdGx5IGluY3JlYXNpbmcuIEluIGNhc2VzIHdoZXJlIHRoZSB0aW1lIGJhc2UgZ2l2ZW4gdG8gdGhlIGVuY29kZXIKCSAgYXQgY29uZmlndXJlIHRpbWUgaXMgbm90IGdyYW51bGFyIGVub3VnaCB0byBhbGxvdyBmb3IgdGhpcyB0aGUgQVIKCSAgd2lsbCBzaGFyZSB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgRCwgYnV0IHNob3VsZCBiZQoJICB0cmVhdGVkIGFzIGhhdmluZyBubyBkdXJhdGlvbi4KCSAgRml4ZXMgYnVnICM2NTI5NTEKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0xOCAxNzo0NzozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4MC8xMzRdIHZwOGRlYzogYWRkIGNoZWNrIGlmIHdlIGhhdmUgbGVnYWwgYXNwZWN0LXJhdGlvIGJlZm9yZSByZXNldCBpdC4KCSAgdGhlIGNvbW1pdCBmOWI1NTJmMDQ5NGUgKHZwOGRlYzogc2V0IHBhciB0byAxLzEpCgkgIHdpbGwgZml4IHNpdHVhdGlvbiB3aGVyZSBubyBhc3BlY3QtcmF0aW8gaXMgc2V0LCBidXQgaXQgYnJha2UKCSAgc3RyZWFtIHdpdGggYXZhaWxhYmxlIGFzcGVjdC1yYXRpby4gVGhpcyBwYXRjaCBmaXggaXQuCgkgIEZpeGVzOiAjNjUyOTAyLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTAzIDE5OjM2OjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzkvMTM0XSB2cDhkZWM6IHNldCBwYXIgdG8gMS8xCgoyMDExLTA1LTE4IDEzOjI3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzgvMTM0XSB2cDhlbmM6IE5hbWUgbWF4L21pbiBxdWFudGl6ZXIgcHJvcGVydGllcyB7bWF4LG1pbn0tcXVhbnRpemVyCgkgIEFsc28gaW1wcm92ZSBxdWFsaXR5IHByb3BlcnR5IGRlc2NyaXB0aW9uLgoKMjAxMS0wNS0xOCAxMzoyNjoyMyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA3Ny8xMzRdIHZwOGVuYzogQWRkIHByb3BlcnRpZXMgdG8gc2VsZWN0IGEgbWF4aW11bSBhbmQgbWluaW11bSBxdWFudGl6ZXIKCSAgRml4ZXMgYnVnICM2NDE0MDUuCgoyMDExLTA1LTE4IDEzOjE4OjU4ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc2LzEzNF0gdnA4ZW5jOiBGaXggcXVhbGl0eSB0byAoY29uc3RhbnQpIHF1YW50aXplciBtYXBwaW5nCgkgIFRoaXMgbm93IGFsbG93cyB0byBzZWxlY3QgYWxsIHBvc3NpYmxlIHF1YW50aXplcnMgYmV0d2VlbgoJICAwIGFuZCA2My4KCSAgU2VlIGJ1ZyAjNjQxNDA1LgoKMjAxMS0wNC0wMSAyMjoxMzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc1LzEzNF0gdnA4ZGVjOiBkZWJ1ZyBjb2RlIHN0eWxlIGZpeGVzCgoyMDExLTA0LTAxIDIyOjEzOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzQvMTM0XSB2cDhkZWM6IHByb3BhZ2F0ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuIHRvIHVwc3RyZWFtCgoyMDExLTAzLTMwIDEwOjE4OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzMvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiByZWFsbHkgYW5kIG9ubHkgc2V0IHNyYyBwYWQgY2FwcyB3aGVuZXZlciByZXF1ZXN0ZWQKCSAgLi4uIHNpbmNlIHN1YmNsYXNzIGlzIGV4cGVjdGVkIHRvIGJlIHdpc2UgZW5vdWdoIHRvIGtub3cgd2hlbiB0byBkbyBzby4KCjIwMTEtMDMtMjkgMTA6NDE6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3Mi8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IGludm9rZSBzdWJjbGFzcyBzdGFydCBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIGFuZCB1c2Ugc2V0X2Zvcm1hdAoJICBXaGlsZSB0aGlzIGNoYW5nZXMgQVBJIHNsaWdodGx5IChlLmcuIGFjdHVhbGx5IHVzZXMgc2V0X2Zvcm1hdCBub3cpLCB3aGljaCBpcyBPSwoJICBmb3IgdW5zdGFibGUgQVBJLCBpdCBoYXMgZm9sbG93aW5nIG1lcml0czoKCSAgKiBzeW1tZXRyaWMgdy5yLnQuIHN0b3AgYXQgc3RhdGUgY2hhbmdlCgkgICogaW4gbGluZSB3aXRoIG90aGVyIGJhc2UgY2xhc3MgcHJhY3RpY2UKCSAgKiBvdGhlcndpc2Ugbm8gc3ViY2xhc3MgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSAoZ2xvYmFsIGFjdGl2YXRpb24gdGltZSkKCSAgTW9yZW92ZXIsIHN1YmNsYXNzZXNlIGFyZSBlaXRoZXIgdW5hZmZlY3RlZCBvciB0cml2aWFsbHkgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCgoyMDExLTAzLTI4IDA4OjU5OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzEvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBzdWJzdW1lIHNraXBfZnJhbWUgaW50byBmaW5pc2hfZnJhbWUKCjIwMTEtMDMtMjQgMTQ6MTA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3MC8xMzRdIGJhc2V2aWRlb2VuY29kZXI6IHByb3ZpZGUgcHJvcGVyIHVwc3RyZWFtIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgoyMDExLTAzLTI0IDEzOjU5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjkvMTM0XSB2cDhlbmM6IG1pbm9yIG9wdGltaXphdGlvbiBpbiBzZXR0aW5nIHVwIGltYWdlIGJ1ZmZlcgoKMjAxMS0wMy0yNCAxMjo1MDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY4LzEzNF0gdnA4ZW5jOiByZWZhY3RvciBmcmFtZSBwcm9jZXNzaW5nCgoyMDExLTAzLTI0IDExOjU1OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjcvMTM0XSB2cDhlbmM6IGRvIGluaXQgYXQgc2V0X2Zvcm1hdCB0aW1lCgoyMDExLTAzLTI0IDEwOjE1OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjYvMTM0XSB2cDhlbmM6IGZpeCBrZXlmcmFtZSBmb3JjaW5nCgoyMDExLTAzLTIzIDA5OjQ1OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjUvMTM0XSBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHJlZHVuZGFudCBjYXBzIGZpZWxkCgkgIC4uLiBhcyBpdCBpcyBhbHJlYWR5IGF0IGhhbmQgYXMgdGhlIHNyYyBwYWQncyBuZWdvdGlhdGVkIGNhcHMuCgoyMDExLTAzLTIzIDA4OjUwOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjQvMTM0XSB2cDhlbmM6IHVzZSBiYXNlY2xhc3MgZXZlbnQgdmlydHVhbCBoYW5kbGVyCgoyMDExLTAyLTIwIDE0OjE2OjE4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjMvMTM0XSBiYXNldmlkZW86IG1lcmdlIHV0aWxzIGhlYWRlciBpbnRvIGJhc2V2aWRlb2NvZGVjCgoyMDExLTAzLTE3IDE2OjM0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjIvMTM0XSB2cDg6IGZpeCBMSUJBREQgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDItMDQgMDk6MDg6MjYgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjEvMTM0XSB2cDhlbmM6IEFkZCBkZXNjcmlwdGlvbiBmb3IgYml0cmF0ZSB1bml0cy4KCjIwMTAtMTEtMzAgMTg6NDM6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2MC8xMzRdIHZwOGVuYzogUmVhZGQgc2V0dGluZyBvZiBncmFudWxlcG9zCgkgIFJldmVydCBwYXJ0cyBvZiBsYXN0IHBhdGNoIHRoYXQgcmVtb3ZlZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MuCgkgIG9nZ211eCBzdGlsbCByZXF1aXJlcyBjb3JyZWN0IGdyYW51bGVwb3MgaW4gaW5jb21pbmcgcGFja2V0LgoKMjAxMC0xMS0yOSAyMDoyMTozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU5LzEzNF0gdnA4ZW5jOiBEb24ndCBvdmVycmlkZSB0aW1lc3RhbXBzIHNldCBieSBiYXNlIGNsYXNzCgkgIEJlY2F1c2UgdGhlIGJhc2UgY2xhc3MgZG9lcyBpdCBjb3JyZWN0bHkuCgkgIEZpeGVzOiAjNjM1NzIwLCAjNjI1NTU4LgoKMjAxMC0xMS0yNSAxODo1Mjo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTgvMTM0XSB2cDg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTEwLTA5IDE3OjM2OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTcvMTM0XSBiYXNldmlkZW86IE1vdmUgY29tbW9uIGZpZWxkcy9mdW5jdGlvbnMgdG8gYmFzZWNvZGVjCgoyMDEwLTA5LTE4IDE3OjI4OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTYvMTM0XSBiYXNldmlkZW86IE1vdmUgZGVhZGxpbmUgdG8gZnJhbWUgc3RydWN0dXJlCgoyMDEwLTA4LTEzIDE0OjM0OjIxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1NS8xMzRdIHZwOGRlYzogU2V0IEdzdEJhc2VWaWRlb0RlY29kZXI6OnBhY2tldGl6ZWQgdG8gVFJVRSBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIFRoaXMgZml4ZXMgYW4gaW5maW5pdGUgbG9vcCBpZiBhbiBFT1MgZXZlbnQgaXMgcmVjZWl2ZWQgYmVmb3JlCgkgIEdzdEJhc2VWaWRlb0RlY29kZXI6OnN0YXJ0KCkgaXMgY2FsbGVkLCBlLmcuIGltbWVkaWF0ZWx5IHdoZW4gdGhlCgkgIHBhZHMgYXJlIGFjdGl2YXRlZC4KCSAgRml4ZXMgYnVnICM2MjY4MTUuCgoyMDEwLTA3LTEwIDE2OjUyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTQvMTM0XSB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBlbmFibGluZyBhdXRvbWF0aWMgaW5zZXJ0aW9uIG9mIGFsdC1yZWYgZnJhbWVzIGJ5IHRoZSBlbmNvZGVyCgoyMDEwLTA3LTEwIDE2OjUxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTMvMTM0XSB2cDhlbmM6IEZpeCBoYW5kbGluZyBvZiBpbnZpc2libGUvYWx0IHJlZiBmcmFtZXMKCjIwMTAtMDctMDMgMTc6NDc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA1Mi8xMzRdIHZwODogQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiwgYmFzZWQgb24gdGhlIHRoZW9yYWRlYy90aGVvcmFlbmMgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNy0wMyAxNzozNDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUxLzEzNF0gdnA4OiBNb3ZlIHN0cnVjdHVyZSBkZWZpbml0aW9ucywgZXRjIHRvIHB1YmxpYyBoZWFkZXIgZmlsZXMgZm9yIGd0ay1kb2MKCjIwMTAtMDYtMTIgMDk6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1MC8xMzRdIHZwOGVuYzogSW1wbGVtZW50IG11bHRpcGFzcyBlbmNvZGluZwoJICBGaXhlcyBidWcgIzYyMTM0OC4KCjIwMTAtMDYtMTQgMTU6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0OS8xMzRdIHZwOGVuYzogU2V0IFZQOEVfU0VUX0NQVVVTRUQgdG8gMAoJICBUaGlzIHNldHRpbmcgY29udHJvbHMgaG93IG11Y2ggQ1BVIGNhbiBiZSB1c2VkIGJ5IHRoZSBlbmNvZGVyLCBzcGVjaWZpZWQKCSAgaW4gZnJhY3Rpb25zIG9mIDE2LiBOZWdhdGl2ZSB2YWx1ZXMgbWVhbiBzdHJpY3QgZW5mb3JjZW1lbnQgb2YgdGhpcwoJICB3aGlsZSBwb3NpdGl2ZSB2YWx1ZXMgYXJlIGFkYXB0aXZlLgoJICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtNCwgd2hpY2ggbWVhbnMgdGhhdCB3ZSdyZSBub3QgcnVubmluZyBhcyBmYXN0CgkgIGFzIHBvc3NpYmxlIGFuZCBwcm9iYWJseSBhcmUgd2FzdGluZyBzb21lIHF1YWxpdHkuIDAgaXMgdGhlIHJlY29tbWVuZGVkCgkgIGRlZmF1bHQgYnkgbGlidnB4IHVwc3RyZWFtLgoKMjAxMC0wNi0xNCAxNTo1MTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ4LzEzNF0gdnA4ZW5jOiBVc2UgVlBYIGRlZmluZXMgZm9yIFJFQUxUSU1FLCBHT09EL0JFU1QgcXVhbGl0eSBkZWFkbGluZXMgaW5zdGVhZCBvZiBvdXIgb3duCgkgIFRoZXNlIGFyZSB0aGUgdmFsdWVzIHVzZWQgZm9yIHRoZSBzcGVlZCBwcm9wZXJ0eS4KCjIwMTAtMDYtMDMgMTA6NDk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0Ny8xMzRdIHZwOGVuYzogZml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBpbiBsb2cgbWVzc2FnZQoJICBnc3R2cDhlbmMuYzo1NjQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgkgIGdzdHZwOGVuYy5jOjc0NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCjIwMDktMDctMDMgMTY6MDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA0Ni8xMzRdIGJhc2V2aWRlbywgdnA4OiBndWFyZCB1bnN0YWJsZSBBUEkgd2l0aCBHU1RfVVNFX1VOU1RBQkxFX0FQSQoJICBBZGQgc29tZSBndWFyZHMgYW5kIGZhdCB3YXJuaW5ncyB0byB0aGUgaGVhZGVyIGZpbGVzIHdpdGggc3RpbGwgdW5zdGFibGUKCSAgQVBJLCBzbyBwZW9wbGUgd2hvIGp1c3QgbG9vayBhdCB0aGUgaW5zdGFsbGVkIGhlYWRlcnMga25vdyB0aGF0IGl0CgkgIGFjdHVhbGx5IGlzIHVuc3RhYmxlIEFQSS4KCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAxMC0wNi0wMSAxNTo1NDo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDUvMTM0XSBiYXNldmlkZW86IE1vdmUgYmFzZSB2aWRlbyBmcm9tIHZwOCB0byBnc3QtbGlicwoKMjAxMC0wNS0yNiAwNjo1MjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDQvMTM0XSB2cDg6IFVzZSBWUFhfUExBTkVfKiBpbnN0ZWFkIG9mIFBMQU5FXyoKCjIwMTAtMDUtMjQgMTE6MDQ6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQzLzEzNF0gdnA4OiBBZGQgY29tcGF0aWxpYml0eSBkZWZpbmVzIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBsaWJ2cHggdG9vCgoyMDEwLTA1LTIzIDA5OjI4OjEzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0Mi8xMzRdIHZwOGRlYzogcy9JTUdfRk1UX0k0MjAvVlBYX0lNR19GTVRfSTQyMC8KCSAgVGhpcyBjb3JyZXNwb25kcyB0byB1cHN0cmVhbSBsaWJ2cHggY29tbWl0IDZjZDRhMTBlMTY3MjAzZDFkZWI3OWFiZjYwZWU3MjU5OWU5Nzg5MWIKCjIwMTAtMDUtMjIgMTI6NTU6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0MS8xMzRdIHZwOGVuYzogQWxsb3cgYSBtYXhpbXVtIGtleWZyYW1lIGRpc3RhbmNlIG9mIDAsIGkuZS4gYWxsIGZyYW1lcyBhcmUga2V5ZnJhbWVzCgoyMDEwLTA1LTIyIDA4OjQ1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDAvMTM0XSB2cDhkZWM6IFNldCBkZWNvZGVyIGRlYWRsaW5lIGZyb20gdGhlIFFvUyBpbmZvcm1hdGlvbgoKMjAxMC0wNS0yOCAxNjozNToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM5LzEzNF0gdnA4ZW5jOiBNb3ZlIGRlYnVnIG91dHB1dCBvbmUgbGluZSBhYm92ZSB3aGVyZSB0aGUgcGFja2V0IGlzIHN0aWxsIHZhbGlkCgoyMDEwLTA1LTI4IDE1OjUzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzgvMTM0XSB2cDhlbmM6IENvcnJlY3RseSBpZ25vcmUgbm9uLWZyYW1lIHBhY2tldHMgZnJvbSB0aGUgZW5jb2RlcgoJICBGaXhlcyBidWcgIzYxOTkxNi4KCjIwMTAtMDUtMjIgMDc6NDQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM3LzEzNF0gYmFzZXZpZGVvZGVjb2RlcjogVGFrZSB0aGUgZnJhbWUgZHVyYXRpb24gaW50byBhY2NvdW50IHdoZW4gY2FsY3VsYXRpbmcgdGhlIGVhcmxpZXN0IHRpbWUKCSAgVGhpcyBmb3JtdWxhIGlzIHVzZWQgaW4gbWFueSBvdGhlciBlbGVtZW50cyB0b28uCgkgIEZpeGVzIGJ1ZyAjNjE5MzE4LgoKMjAxMC0wNS0yMiAwNzozNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzYvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBSZXNldCBRb1MgdmFsdWVzIHdoZW4gbmVjZXNzYXJ5CgoyMDEwLTA1LTIyIDA5OjM1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzUvMTM0XSB2cDhlbmM6IFVzZSBHU1RfVklERU9fQ0FQU19ZVVYoSTQyMCkgaW5zdGVhZCBvZiBoYW5kd3JpdHRlbiBJNDIwIGNhcHMgZm9yIHRoZSBwYWQgdGVtcGxhdGUKCSAgRml4ZXMgYnVnICM2MTkzNDQuCgoyMDEwLTA1LTIxIDIwOjUzOjM2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzQvMTM0XSB2cDhkZWM6IGRyb3AgbGF0ZSBmcmFtZXMgYWZ0ZXIgZGVjb2RpbmcgdGhlbQoJICBUaGlzIHNhdmVzIGEgbWVtY3B5LCB3aGljaCBpcyBhbHdheXMgc29tZXRoaW5nLgoKMjAxMC0wNS0yMSAyMToyODoyOSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzMvMTM0XSB2cDhlbmM6IHRocmVhZHMgcHJvcGVydHkKCSAgSW5jcmVhc2luZyBmcm9tIDEgdG8gMiB0aHJlYWRzIG9uIGFuIFRoaW5rcGFkIFg2MHMgZGVjcmVhc2VkIGVuY29kZSB0aW1lCgkgIGluIGEgdGVzdCBmcm9tIH4yNCBzIHRvIH4xOSBzLCBzbyB0aGlzIGlzIHF1aXRlIHVzZWZ1bC4KCSAgSWRlYWxseSB3ZSBzaG91bGQgbGV0IDAgYmUgdGhlIGRlZmF1bHQgYW5kIGF1dG9tYXRpY2FsbHkgbWF0Y2ggdGhlIG51bWJlcgoJICBvZiBDUFUgY29yZXMgKG9yIHNvbWV0aGluZykuCgoyMDEwLTA1LTIxIDE1OjE3OjQ2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMi8xMzRdIHZwOGVuYzogYWRkIG1vZGUgcHJvcGVydHkgdG8gc3dpdGNoIGJldHdlZW4gQ0JSL1ZCUgoJICBBbHdheXMgdXNpbmcgQ0JSIHdoZW4gYml0cmF0ZSBpcyB1c2VkIGlzbid0IHRoYXQgZ3JlYXQsIFZCUiBtb2RlCgkgIGNhbiBwcm9kdWNlIG1lYW5pbmdmdWwgcmVzdWx0cyB0b28uCgoyMDEwLTA1LTIxIDEwOjU0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzEvMTM0XSB2cDhkZWM6IE9ubHkgZW5hYmxlIHBvc3Rwcm9jZXNzaW5nIGlmIHRoZSBkZWNvZGVyIHN1cHBvcnRzIGl0CgoyMDEwLTA1LTIxIDA4OjIzOjU4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMC8xMzRdIHZwODogdHlwbzogcy9IQVZFX1ZQOF9ERUNPREVSL0hBVkVfVlA4X0VOQ09ERVIvCgkgIEZpeHVwIGZvciBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjEgMDg6MTM6MDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI5LzEzNF0gdnA4OiBtb3ZlICNpZmRlZiBIQVZFX1ZQOF9FTkNPREVSL0RFQ09ERVIKCSAgT3RoZXJ3aXNlIHdlJ2xsIHRyeSBpbmNsdWRpbmcgZS5nLiA8dnB4L3ZwOGN4Lmg+IHdoaWNoIGRvZXNuJ3QgZXhpc3QuCgoyMDEwLTA1LTIwIDIwOjA2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjgvMTM0XSB2cDhlbmM6IFdyaXRlIEdTdHJlYW1lciBlbGVtZW50IGFuZCB2ZXJzaW9uIGluIHRoZSB2b3JiaXNjb21tZW50IHZlbmRvciBzdHJpbmcKCjIwMTAtMDUtMjAgMTY6NDk6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNy8xMzRdIHZwODogT25seSBlbmFibGUgdGhlIGVuY29kZXIgb3IgZGVjb2RlciBpZiBpdCdzIGF2YWlsYWJsZSBpbiBsaWJ2cHgKCSAgRml4ZXMgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIwIDEwOjE5OjU0ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNi8xMzRdIHZwODogZXhsY3VkZSBkZWMvZW5jIGJhc2VkIG9uIENPTkZJR19WUDhfREVDT0RFUi9FTkNPREVSCgkgIFRoaXMgbWF5IG5vdCBiZSB2ZXJ5IGF1dG90b29saXNoLCBidXQgd29ya3Mgd2l0aCBsaWJ2cHggaW4gdGhlIHN0YXRlCgkgIHRoYXQgbGlidnB4IGlzIGFjdHVhbGx5IGluLiBNb3ZlZCB0aGUgZGVidWcgaW5pdCB0byB0aGUgZWxlbWVudHMKCSAgdGhlbXNlbHZlcyB0byBtaW5pbWl6ZSBhbW91bnQgb2YgI2lmZGVmcwoKMjAxMC0wNS0yMCAwOToyNDo1MyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjUvMTM0XSB2cDhlbmM6IExpbWl0IG1heC1sYXRlbmN5IHRvIDI1IHRvIG1hdGNoIGxpYnZweAoJICBGcm9tIGxpYnZweC92cDgvZW5jb2Rlci9vbnl4X2ludC5oOgoJICAjZGVmaW5lIE1BWF9MQUdfQlVGRkVSUyAoQ09ORklHX1JFQUxUSU1FX09OTFk/IDEgOiAyNSkKCSAgV2hpbGUgd2UgZG9uJ3QgbmVlZCB0byBiZSB0aWVkIHRvIHdoYXQgbGlidnB4IGRvZXMgaW50ZXJuYWxseSwgaXQKCSAgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHByZXRlbmQgdG8gc3VwcG9ydCBsb25nZXIgZnJhbWUgbGFncyB0aGFuIGFyZQoJICBhY3R1YWxseSBwb3NzaWJsZS4KCjIwMTAtMDUtMjAgMDk6NTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI0LzEzNF0gdnA4OiBVbmRlZiBIQVZFX0NPTkZJR19IIGJlZm9yZSBpbmNsdWRpbmcgbGlidnB4IGhlYWRlcnMKCSAgQSBwdWJsaWMgbGlidnB4IGhlYWRlciBpbmNsdWRlcyBwcml2YXRlIGhlYWRlcnMgaWYgdGhpcyBpcwoJICBkZWZpbmVkLCBjYXVzaW5nIGNvbXBpbGF0aW9uIGZhaWx1cmVzIGJlY2F1c2UgdGhlIHByaXZhdGUgaGVhZGVycwoJICBhcmUgbm90IGluc3RhbGxlZCBvZiBjb3Vyc2UuCgoyMDEwLTA1LTIwIDA4OjUzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjMvMTM0XSB2cDhlbmM6IFNvbWUgbW9yZSBtaW5vciBhZGp1c3RtZW50cyBmb3IgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE5IDIzOjAyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjIvMTM0XSB2cDhkZWM6IEZpeCBtZW1vcnkgbGVhawoKMjAxMC0wNS0xOSAyMTozNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIxLzEzNF0gdnA4ZW5jOiBBZGp1c3QgT2dnIG1hcHBpbmcgZm9yIHRoZSBjaGFuZ2VzCgoyMDEwLTA1LTE5IDE4OjEyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjAvMTM0XSB2cDhkZWM6IEFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIFZQOCBkZWNvZGVyIHBvc3QgcHJvY2Vzc2luZyBmZWF0dXJlCgkgIFRoaXMgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3Igbm93LgoKMjAxMC0wNS0xOSAxNzoxNjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE5LzEzNF0gdnA4ZW5jOiBSZW5hbWUga2V5ZnJhbWUtaW50ZXJ2YWwgdG8gbWF4LWtleWZyYW1lLWRpc3RhbmNlCgkgIEFuZCB1c2UgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYnVmZmVyIHNpemVzIHVudGlsIHdlIGV4cG9zZSB0aGlzCgkgIHNvbWVob3cuCgoyMDEwLTA1LTE5IDE3OjEzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE4LzEzNF0gdnA4OiBJbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDUtMTkgMTQ6NDY6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxNy8xMzRdIHZwODogVXNlIGNvcnJlY3Qgc3RyaWRlcyBhbmQgcGxhbmUgb2Zmc2V0cyBmb3IgR1N0cmVhbWVyCgoyMDEwLTA1LTE4IDE0OjQ3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTYvMTM0XSB2cDhlbmM6IEltcGxlbWVudCBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlCgoyMDEwLTA1LTE4IDE0OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTUvMTM0XSB2cDhlbmM6IEZpeCBzZXR0aW5nIG9mIHRoZSBrZXlmcmFtZSBmbGFnIG9uIGVuY29kZWQgZnJhbWVzCgoyMDEwLTA1LTE4IDE0OjMwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTQvMTM0XSB2cDhlbmM6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIGVuY29kZXIgaW5pdGlhbGl6YXRpb24gZmFpbHMKCjIwMTAtMDUtMTggMTQ6Mjg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMy8xMzRdIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrcyBhbmQgZmFpbCBpZiBpbml0aWFsaXppbmcgdGhlIGRlY29kZXIgZmFpbHMKCjIwMTAtMDUtMTggMDI6NDQ6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMi8xMzRdIHZwOGVuYzogU2V0IHRpbWViYXNlCgkgIEFsc28gbWlzYyBjbGVhbnVwLgoKMjAxMC0wNS0xNiAxMDozNjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDExLzEzNF0gdnA4ZGVjOiBGaXggZGVjb2Rpbmcgb2YgaW52aXNpYmxlIGZyYW1lcwoKMjAxMC0wNS0xNCAxNDoyNjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDEwLzEzNF0gdnA4ZW5jOiBVcGRhdGUgdGhlIGxhdGVuY3kgd2hlbiBpbml0aWFsaXppbmcgdGhlIGVuY29kZXIKCjIwMTAtMDUtMTQgMTQ6MDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwOS8xMzRdIHZwOGRlYzogQ29ycmVjdGx5IGluaXRpYWxpemUgc3RyZWFtIGluZm8gYmVmb3JlIHBlZWtpbmcgYXQgdGhlIHN0cmVhbQoJICBPdGhlcndpc2UgcGVla2luZyB3aWxsIGZhaWwgYW5kIHdlJ2xsIGdldCBpbnZhbGlkIHZhbHVlcwoKMjAxMC0wNS0xNCAxMTowMToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA4LzEzNF0gdnA4ZGVjOiBNYWtlIHN1cmUgdG8gcGFzcyBhIGtleWZyYW1lIGFzIGZpcnN0IGZyYW1lIHRvIHRoZSBkZWNvZGVyLCBjb3B5IG91dHB1dCBmcmFtZXMgb25seSBvbmNlIGFuZCByZXF1aXJlIHdpZHRoL2hlaWdodC9ldGMgb24gdGhlIGlucHV0IGNhcHMKCjIwMTAtMDUtMTQgMTA6MzA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwNy8xMzRdIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGludmlzaWJsZSBmcmFtZXMgYW5kIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xNCAwMToxNDo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA2LzEzNF0gdnA4ZGVjOiBGaXggcmVzZXQgYWZ0ZXIgc2Vla2luZwoJICBBbHNvIHJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoKMjAxMC0wNS0xMyAyMToxOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA1LzEzNF0gdnA4ZW5jOiBTZXQgZnJhbWUgbnVtYmVycyBhcyBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wNS0xMyAyMToxODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA0LzEzNF0gdnA4ZW5jOiBBbHdheXMgZ2V0IGFzIG1hbnkgZnJhbWVzIGFzIHBvc3NpYmxlIGZyb20gdGhlIGVuY29kZXIKCjIwMTAtMDUtMTMgMjE6MDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwMy8xMzRdIHZwOGVuYzogRmlsbCB0aGUgb2xkZXN0IHBlbmRpbmcgZnJhbWUgaW5zdGVhZCBvZiB0aGUgbmV3ZXN0CgoyMDEwLTA1LTEzIDIwOjIwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDIvMTM0XSB2cDhlbmM6IENvcnJlY3RseSBzZXQgZGVsdGEgdW5pdCBmbGFnIGZvciBub24ta2V5ZnJhbWVzCgoyMDEwLTA1LTEzIDAxOjA0OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAwMS8xMzRdIHZwODogQWRkIGVuY29kZXIvZGVjb2RlcgoKMjAxMi0wOS0xNSAyMjoxNjo1MiArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggRjE4IG5hbWUgY2hhbmdlIGFuZCBhZGQgZGVpbnRlcmxhY2VyCgoyMDEyLTA5LTE1IDE5OjA2OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIHVzZSBnc3RfZWxlbWVudF9mYWN0b3J5X2dldF9tZXRhZGF0YSB0byByZXBsYWNlIG9ic29sZXRlIEFQSQoKMjAxMi0wOS0xNCAxNzo1NToxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIHJlcGxhY2UgX2dldF9jYXBzX3JlZmZlZCB3aXRoIF9nZXRfY2FwcwoKMjAxMi0wOS0xNCAxNzowNzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTM6MzA6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIGZpeCBtb3JlIGNhcHMKCjIwMTItMDktMTQgMDI6NTc6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTQgPT09CgoyMDEyLTA5LTE0IDAyOjQ4OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTQKCjIwMTItMDktMTQgMDE6NTA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTItMDktMTQgMDE6NDY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDEyLTA5LTE0IDAwOjQ3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJICB0ZXN0czogcHVzaCBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnRzIGluIHdhdnBhY2tlbmMgdGVzdAoKMjAxMi0wOS0xMyAxMDo1NjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgcHJvcGVydGllcwoKMjAxMi0wOS0xMyAxMDoxNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZGlzYWJsZSByZWNvbmZpZ3VyZQoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzkwMgoKMjAxMi0wOS0xMCAyMjowOTo1OSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCB0cmVhdCBldmVyeSBjdXN0b20tZG93bnN0cmVhbSBldmVudCBhcyBFT1MKCSAgRG9uJ3QgZmFsbCB0aHJvdWdoIHRvIHRoZSBFT1MgaGFuZGxpbmcgYWZ0ZXIgcmVjZWl2aW5nIGEKCSAgY3VzdG9tLWRvd25zdHJlYW0gZXZlbnQuCgoyMDEyLTA5LTEyIDIxOjA1OjQ0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBjb2xsZWN0cGFkczogcmVtb3ZlIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsCgkgIFJlbmFtZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbCgpIHRvIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZCgpIGFuZCBmaXggYWxsCgkgIGludm9jYXRpb25zLgoKMjAxMi0wOS0xMiAxNzoxNDo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IGFkZCBpbmNsdWRlIGZvciBJUFBST1RPXyoKCjIwMTItMDktMTIgMTY6Mzk6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBwcm9wZXJseSBtYXRjaCBicmFjZXMgYW5kIGNwcCBkaXJlY3RpdmVzCgkgIEZpeGVzIGNvbXBpbGF0aW9uIHdoZXJlIElQVjZfVENMQVNTIG5vdCBkZWZpbmVkLgoKMjAxMi0wOS0xMiAxNDo0MjowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFVzZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgd2hlcmUgbmVlZGVkCgkgIEFuZCBjbGVhbiB1cCBnZXRfY2FwcyBjb2RlIHdoaWxlIEknbSBhdCBpdAoKMjAxMi0wOS0xMiAxMzoyODowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogaW1wcm92ZSBmcmFtZXJhdGUgdHJhbnNmb3JtCgkgIEhhbmRsZSBHX01BWElOVCBpbiB0aGUgZnJhbWVyYXRlcyBiZXR0ZXIuIElmIHdlIGNhbm5vdCBkb3VibGUgb3IgZGl2aWRlIHRoZQoJICBmcmFtZXJhdGUsIGNsYW1wIHRvIHRoZSBzbWFsbGVzdC9sYXJnZXN0IHBvc3NpYmxlIHZhbHVlIHdlIGNhbiBleHByZXNzIGluc3RlYWQKCSAgb2YgZmFpbGluZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg2MQoKMjAxMi0wOS0xMiAxMzoxNzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc21hbGwgY2xlYW51cAoKMjAxMi0wOS0wNyAxNzoyMDo1NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBBZGRpbmcgbnYxMiBhbmQgbnYyMSBzdXBwb3J0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NDEKCjIwMTItMDktMTIgMTA6MTg6NTMgKzAyMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBwcm9yZXMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzgzOQoKMjAxMi0wOS0xMiAwMDoxNjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGZpeCBtb3N0IG9mIHRoZSByZ2FuYWx5c2lzIHVuaXQgdGVzdHMKCSAgQmVmb3JlIHRoZSBlbGVtZW50IHdvdWxkIHBvc3QgbWVzc2FnZXMgb24gdGhlIGJ1cyBpdHNlbGYsIG5vdwoJICB0aGUgc2lua3MgZG8gdGhhdCBiYXNlZCBvbiB0aGUgdGFnIGV2ZW50cyB0aGV5IHJlY2VpdmUuIEJ1dAoJICBzaW5jZSB3ZSBkb24ndCBoYXZlIHByb3BlciBzaW5rIGVsZW1lbnRzIGluIHRoZXNlIHVuaXQgdGVzdHMsCgkgIGJ1dCBqdXN0IGRhbmdsaW5nIHBhZHMsIHdlIGhhdmUgdG8gcG9zdCB0aGUgdGFnIG1lc3NhZ2VzIHRoZQoJICB0ZXN0IGNoZWNrcyBmb3Igb3Vyc2VsdmVzLgoJICBEb3duIGZyb20gNTIvNTUgZmFpbGluZyB0byA3LzUyIGZhaWxpbmcuCgoyMDEyLTA5LTExIDE3OjM2OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGV4dCwgZ3N0OiBvbmx5IGFjdGl2YXRlIGluIHB1bGwgbW9kZSBpZiB1cHN0cmVhbSBpcyBzZWVrYWJsZQoKMjAxMi0wOS0xMSAxNTozODoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogZGlzYWJsZSByZW5lZ290aWF0aW9uCgkgIFdlIGNhbid0IHlldCB3YWl0IGZvciB0aGUgYnVmZmVycG9vbCB0byBEUkFJTiBiZWZvcmUgc3RhcnRpbmcgcmVuZWdvdGlhdGlvbiBzbwoJICBkaXNhYmxlIGl0IGZvciBub3cuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzAKCjIwMTItMDktMTEgMTI6NDg6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBydHBiaW46IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTI6MzY6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxMTo1OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCByZXNldCBzZWdtZW50CgkgIERvbid0IHJlc2V0IHRoZSBzZWdtZW50IGJlY2F1c2Ugd2UgbmVlZCB0aGUgdmFsdWVzIGZvciBhY2N1bXVsYXRpb24uIHRoZSBzZWdtZW50CgkgIGlzIHJlc2V0IGF0IHN0YXJ0IGFuZCBhZnRlciBhIGZsdXNoaW5nIHNlZWsuIEZpeGVzIHNvbWUgcHJvYmxlbXMgd2l0aCBmaWxlcyB3aXRoCgkgIHF1aWNrdGltZSBzZWdtZW50cy4KCjIwMTItMDktMTAgMTc6MTQ6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB0ZXN0czogZml4IGlkM2RlbXV4IHRlc3QKCjIwMTItMDktMTAgMTQ6MzE6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9hbWZkZWZzLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBnc3Q6IGFkanVzdCBjb21tZW50IHN0eWxlCgoyMDEyLTA5LTEwIDE0OjMwOjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlbW92ZSBkZWZ1bmN0IGNvbW1lbnRlZCBjb2RlCgoyMDEyLTA5LTEwIDEzOjM1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBjb25zaWRlciBzdHJlYW0gYWxpdmUgd2hlbiBub3QgY29ubmVjdGVkIHlldAoJICBXaGVuIHdlIHN0YXJ0IGFuZCByZW5lZ290aWF0ZSwgdGhlcmUgaXMgYSBtb21lbnQgd2hlcmUgdGhlIHN0cmVhbSBpcyBjcmVhdGVkIGJ1dAoJICBub3QgeWV0IGNvbm5lY3RlZC4gTWFrZSBzdXJlIGFsbCBmdW5jdGlvbnMgZGVhbCB3aXRoIHRoaXMgc2l0dWF0aW9uIGNvcnJlY3RseQoJICBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTI0NwoKMjAxMi0wOS0xMCAxMjoxNToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZG9uJ3QgZmFpbCB3aGVuIG5vdCBuZWdvdGlhdGVkIHlldAoJICBXaGVuIGdldF90aW1lIGlzIGNhbGxlZCBidXQgd2UgYXJlIG5vdCB5ZXQgbmVnb3RpYXRlZCwgcmV0dXJuIDAgaW5zdGVhZCBvZgoJICBwb3N0aW5nIGFuIGVycm9yLiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGJhc2UgY2xhc3MgaXMgc3RpbGwgbmVnb3RpYXRpbmcgd2hlbgoJICBvdXIgZ2V0X3RpbWUgaXMgY2FsbGVkLgoKMjAxMi0wOS0xMCAxMTozMjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICB1cGRhdGUgZm9yIGF1ZGlvIGJhc2Ugc3JjIGFwaSBjaGFuZ2UKCjIwMTItMDktMTAgMDA6NDI6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgdmlkZW8veC0zaXZ4IGFuZCB2aWRlby94LXh2aWQgLT4gdmlkZW8vbXBlZyxtcGVndmVyc2lvbj00CgkgIElmIGl0IGV2ZXIgdHVybnMgb3V0IHRoYXQgd2UgcmVhbGx5IG11c3QgdXNlIHRob2Ugc3BlY2lmaWMKCSAgZm91cmNjcyBhbmQgbm90IHRoZSBnZW5lcmljIG9uZSwgd2UgY2FuIHN0aWxsIGFkZCBhIGZsYXZvcgoJICBmaWVsZCB0byB0aGUgY2FwcyBsYXRlci4KCjIwMTItMDktMDcgMTY6MTU6NDIgKzAyMDAgIERhbmllbGEgPGRhbmllbGEubXV6enVAc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIGxlYWsKCSAgV2hlbiBzZXR1cCBmYWlscywgbWFrZSBzdXJlIHRvIGNsZWFudXAgYWZ0ZXJ3YXJkcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzUwOQoKMjAxMi0wOS0wNyAxNToyMzo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgIHJ0cGFtcmRlcGF5OiB1bm1hcCBydHAgYnVmZmVyCgkgIC4uLiB0aGVyZWJ5IHBsdWdnaW5nIGEgbWVtbGVhay4KCjIwMTItMDktMDcgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cC1wYXlsb2FkaW5nOiBhZGp1c3QgdG8gbW9kaWZpZWQgYnVmZmVybGlzdCBzZW1hbnRpY3MKCSAgLi4uIG5vdyBpbXBsZW1lbnRlZCBieSBidWZmZXIgbWVtb3J5IGJsb2Nrcy4KCjIwMTItMDktMDcgMTQ6MTE6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIGNyYXNoaW5nIG9uIE5VTEwgYWNjZXNzIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTItMDktMDcgMTQ6MTE6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogcGx1ZyBjYXBzIGxlYWsKCjIwMTItMDktMDYgMTc6MDk6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSByZWR1bmRhbnQgX3NldF9hbGxvY2F0aW9uIGNhbGwKCjIwMTItMDktMDYgMTc6MDU6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgdGVzdHM6IGRlaW50ZXJsYWNlOiBkbyBub3QgbGVhayBkZWludGVybGFjZSBwYWRzCgoyMDEyLTA5LTA2IDE3OjA0OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcGx1ZyBzb21lIGxlYWtzCgoyMDEyLTA5LTA2IDE2OjQ5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZXVzZSBjb3JlIGZ1bmN0aW9uIGZvciBHQ0QKCjIwMTItMDktMDYgMTY6MzE6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzdXBwb3J0IGZpbHRlciBpbiBnZXRjYXBzCgoyMDEyLTA5LTA2IDE2OjMwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZG8gbm90IGxlYWsgZ2V0Y2FwcyByZXN1bHQKCjIwMTItMDktMDYgMTY6MjM6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVycG9vbAoJICBBZGQgYnVmZmVycG9vbCBzdXBwb3J0IHRvIGF2b2lkIGEgbWVtY3B5IGluIHRoZSB2aWRlb3Npbmsgd2hlbiBhY3RpdmVseQoJICBpbnRlcmxhY2luZy4KCSAgUmVtb3ZlIHNvbWUgY29tbWVudGVkIG9ic29sZXRlIGNvZGUuCgoyMDEyLTA5LTA2IDEzOjM4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBwcm94eSBhbGxvY2F0aW9uIHF1ZXJ5IGluIHBhc3N0aHJvdWdoCgkgIFdlIGNhbiBsZXQgdGhlIGFsbG9jYXRpb24gcXVlcnkgcGFzcyB3aGVuIHdlIGFyZSBvcGVyYXRpbmcgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMTItMDktMDYgMTM6MjM6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVzZSBkZWZhdWx0IGV2ZW50IGZ1bmN0aW9ucwoJICBpbnN0ZWFkIG9mIGJsaW5kbHkgZm9yd2FyZGluZyB1bmtub3duIGV2ZW50cy4KCjIwMTItMDktMDYgMTM6MjM6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNtYWxsIGNsZWFudXBzCgoyMDEyLTA5LTA2IDEyOjU2OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBjYWxsIGRlZmF1bHQgcXVlcnkgaGFuZGxlcnMKCSAgQ2FsbCB0aGUgZGVmYXVsdCBxdWVyeSBoYW5kbGVyIGluc3RlYWQgb2YgZm9yd2FyZGluZyB0aGUgcXVlcnkgYmxpbmRseS4gRml4ZXMKCSAgaXNzdWVzIG9mIHN0cmlkZXMgYmVjYXVzZSBvZiBwcm94eWluZyB0aGUgYWxsb2NhdGlvbiBxdWVyeSB3cm9uZ2x5LgoKMjAxMi0wOS0wNiAxMDo0MjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAxMi0wOS0wNiAxMDo0MjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IGltcHJvdmUgZGVidWcKCjIwMTItMDktMDUgMTE6NTA6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogcmVtb3ZlIG9ic29sZXRlIHVwZGF0ZSBuZXdzZWdtZW50IGhhbmRsaW5nIGNvZGUKCjIwMTItMDktMDQgMTI6MzU6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogYXZvaWQgZGVhZGxvY2sKCSAgX3VwZGF0ZV9wcm9wZXJ0aWVzIHRha2VzIHRoZSBvYmplY3QgbG9jayBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgd2hlbiB0aGUKCSAgb2JqZWN0IGxvY2sgaXMgYWxyZWFkeSB0YWtlbi4KCjIwMTItMDktMDMgMTI6NDY6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBleHRyYWN0IGludGVybGFjZWQtbmVzcyBvZiB2aWRlbyB0cmFjayBmcm9tIGludGVybGFjZS1tb2RlIGZpZWxkCgkgIGluc3RlYWQgb2YgdGhlIG9sZCBib29sZWFuICJpbnRlcmxhY2VkIiBmaWVsZC4KCjIwMTItMDktMDMgMDI6NTE6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgIHZpZGVvL3gteHZpZCAtPiB2aWRlby9tcGVnLG1wZWd2ZXJzaW9uPTQKCjIwMTItMDktMDIgMDI6NTA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgdGV4dC9wbGFpbiArIHRleHQveC1wYW5nby1tYXJrdXAgLT4gdGV4dC94LXJhdwoKMjAxMi0wOS0wMiAwMTozMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb24gLT4gZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uX2NoYW5nZWQKCjIwMTItMDgtMzAgMjI6MDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFsc28gc3RvcCBwcm9iYXRhdGlvbiBvbiBleGlzdGluZyBzb3VyY2VzCgkgIFJlY2VpdmluZyBhbiBSVENQIHBhY2tldCBzaG91bGQgYWxzbyBzdG9wIHByb2JhdGlvbiBvbiBzb3VyY2VzIHdlIGhhdmUgc2VlbgoJICBiZWZvcmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMwNjUKCjIwMTItMDgtMjIgMTY6MzY6MjEgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHA6IG1ha2UgcnRwIHBhY2tldCBwcm9iYXRpb24gY29uZmlndXJhYmxlIChidWcgIzY4MjUxMikKCjIwMTItMDgtMzAgMTI6MjE6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWY6IGFkanVzdCB0byBtb2RpZmllZCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIEFQSQoKMjAxMi0wOC0zMCAxMTozMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeHVwIDAuMTEgcG9ydCBvZiBzdXNwZWN0IGZyYW1lIGNoZWNraW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI5NTkKCjIwMTItMDgtMjggMTg6NTY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgaW52YWxpZCBIMjY0IGJ5dGVzdHJlYW0gY29kZWNfZGF0YQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzY5CgoyMDEyLTA4LTI4IDE5OjAwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwb3J0IHNlZ21lbnQgZXZlbnQgY3JlYXRpb24gdG8gMC4xMQoKMjAxMi0wOC0yOCAxNjoyODoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVsZWFzZSBleHRyYSBldmVudCByZWYgd2hlbiByZXBsYWNpbmcgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50CgoyMDEyLTA3LTAzIDE3OjUwOjI0ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgaXNvbXA0OiBhZGQgREFTSCB0ZmR0IGJveCBzdXBwb3J0CgkgIE1QRUcgREFTSCBoYXMgZGVmaW5lZCBhIHNldCBvZiBuZXcgYm94ZXMgdG8gc3BlY2lmeSBkdXJhdGlvbiwgaW5kZXhlcyBhbmQKCSAgb2Zmc2V0cyBvZiBJU09CTUZGIGZyYWdtZW50cy4KCSAgVGhlIFRyYWNrIEZyYWdtZW50IEJhc2UgTWVkaWEgRGVjb2RlIFRpbWUgKHRmZHQpIEJveCBjYW4gaW4gcGFydGljdWxhciBiZQoJICBpbmNsdWRlZCBpbnNpZGUgYSB0cmFmIGJveCB0byBzcGVjaWZ5IHRoZSBhYnNvbHV0ZSBkZWNvZGUgdGltZSwgbWVhc3VyZWQgb24gdGhlCgkgIG1lZGlhIHRpbWVsaW5lLCBvZiB0aGUgZmlyc3Qgc2FtcGxlIGluIGRlY29kZSBvcmRlciBpbiB0aGUgdHJhY2sgZnJhZ21lbnQuCgkgIFRoaXMgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgYnkgdGhlIGlzb21wNCBkZW11eCB0byBmaW5kIG91dCB0aGUgY3VycmVudCBwb3NpdGlvbiBvZgoJICBhbiBNUDQgZnJhZ21lbnQgaW4gdGhlIHRpbWVsaW5lLgoJICBUaGlzIHBhdGNoIGFkZHMgY29kZSB0byBpc29tcDQgdG86CgkgIC0gcGFyc2UgdGhlIHRmZHQgYm94CgkgIC0gYWRqdXN0IHRoZSB0aW1lL3Bvc2l0aW9uIG1lbWJlciBvZiB0aGUgbmV3IHNlZ21lbnQgc2VudCB3aGVuIHBsYXliYWNrIHN0YXJ0cwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NTM1CgoyMDEyLTA4LTI2IDIyOjM5OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIGRvY3M6IGdzdC1sYXVuY2ggLT4gZ3N0LWxhdW5jaC0xLjAgYW5kIGZmbXBlZ2NvbG9yc3BhY2UgLT4gdmlkZW9jb252ZXJ0CgoyMDEyLTA4LTI2IDIyOjMyOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBkb2NzOiBnc3QtbGF1bmNoLTAuMTEgLT4gZ3N0LWxhdW5jaC0xLjAKCjIwMTItMDgtMjYgMjI6MDg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHRoZSBmaWVsZCBpbiBjYXBzIGlzICJpbnRlcmxhY2UtbW9kZSIgbm90ICJpbnRlcmxhY2UtbWV0aG9kIgoJICBGaXggZGVpbnRlcmxhY2UgdW5pdCB0ZXN0LiBOZWVkIHRvIHNldCByaWdodCBmaWVsZCBvbiBvdXRwdXQgY2Fwcy4KCSAgQWxzbyByZW1vdmUgcmlnaHQgZmllbGQgKG5vdCBvbGQgMC4xMCAiaW50ZXJsYWNlZCIgYm9vbGVhbiBmaWVsZCkKCSAgZnJvbSBjYXBzIGluIHVuaXQgdGVzdCBiZWZvcmUgY29tcGFyaW5nIG9sZCBhbmQgbmV3LgoKMjAxMi0wOC0yNiAyMTo0NTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIHRlc3RzOiBmaXggaWN5ZGVtdXggdW5pdCB0ZXN0CgkgIFdhcyB3YWl0aW5nIGZvciBhIHRhZyBtZXNzYWdlIG9uIHRoZSBidXMsIHdoaWNoIHdvdWxkIG5ldmVyCgkgIGNvbWUsIGJlY2F1c2UgZWxlbWVudHMgZG9uJ3QgcG9zdCB0aG9zZSB0aGVtc2VsdmVzIGFueSBtb3JlCgkgIGJ1dCBsZXQgc2lua3MgcG9zdCB0aGVtIGZyb20gdGFnIGV2ZW50cy4gT25seSB0aGF0IHRoZXJlIGFyZQoJICBubyBzaW5rcyBpbiB0aGlzIHVuaXQgdGVzdC4KCjIwMTItMDgtMjYgMjE6Mjc6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IGZpeCB2aWRlb2Nyb3AgY3JvcF90b18xeDEgdW5pdCB0ZXN0IGZvciBHUkFZOCBmb3JtYXQKCSAgVXBkYXRlIHRhYmxlIHdpdGggcGl4ZWwgdmFsdWVzIHdpdGggdGhlIHZhbHVlIGFjdHVhbGx5IHByb2R1Y2VkCgkgIGJ5IHZpZGVvdGVzdHNyYy4KCjIwMTItMDgtMjcgMDk6MDA6NDUgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogT25seSBwcmludCBjYXBzIGlmIHRoZXkncmUgcHJvdmlkZWQKCjIwMTItMDgtMjQgMTk6NDM6MDggKzAxMDAgIE1pY2hhZWwgUnViaW5zdGVpbiA8bXJ1Ymluc3RlaW5AcmFpLWRldi5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBmaXggZW5kaWFubmVzcyBjaGVjayBvbiBzeXN0ZW1zIHdoZXJlIG5vbi1nbGliIGVuZGlhbm5lc3MgZGVmaW5lcyBhcmUgbm90IHNldAoJICBPbiBXaW5kb3dzIExJVFRMRV9FTkRJQU4gd2l0aG91dCB0aGUgR18gaW4gd2FzIG5vdCBkZWZpbmVkLCAgc28gdGhlCgkgIHRlc3QgY29tZXMgb3V0IHdyb25nLgoKMjAxMi0wOC0yMiAxNzoyMzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGRvbid0IGNyYXNoIG9uIE5VTEwgZXJyb3IKCSAgQ2hlY2sgaWYgdGhlcmUgaXMgYW4gZXJyb3IgYmVmb3JlIHJldHJpZXZpbmcgaXRzIG1lc3NhZ2UuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNDgxCgoyMDEyLTA4LTIyIDEzOjMwOjE5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2NjhhY2VlIHRvIDRmOTYyZjcKCjIwMTItMDgtMjIgMTM6MTg6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBndGstZG9jIHJlcSB0byAxLjEyIChtYXItMjAwOSkKCSAgVGhpcyBhbGxvd3MgdXMgdG8gZS5nLiB1bmNvbmRpdGlvbmFsbHkgdXNlIGd0a2RvYy1yZWJhc2UuCgoyMDEyLTA4LTIyIDExOjIxOjM4ICswMjAwICBNYXJ0aW4gRXJ0c2FhcyA8bWVydHNhc0BjaXNjby5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBNYWtlIG9zeHZpZGVvc2luayB1c2UgdGhlIG5vbi1kZXByZWNhdGVkIHRocmVhZGluZyBhcGkgZnJvbSBnbGliLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNDQ2CgoyMDEyLTA4LTE0IDE1OjQwOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogSGFuZGxlIG5lZ290aWF0aW9uIGV2ZW50cwoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZToKCSAgYSkgRGVzdHJveSBhbiBleGlzdGluZyBzdHJlYW0gaWYgYSBuZWdvdGlhdGUoKSByZXF1ZXN0IGNvbWVzIGluOiB0aGlzIGlzCgkgIHJlcXVpcmVkIHdoZW4gcmVjZWl2aW5nIGEgZG93bnN0cmVhbSByZW5lZ290aWF0aW9uIHJlcXVlc3QgYWZ0ZXIgYQoJICBzdHJlYW0gaGFzIGJlZW4gY3JlYXRlZC4KCSAgYikgQ3JlYXRlIGEgbmV3IHN0cmVhbSBvbiBwcmVwYXJlKCk6IHRoaXMgaXMgcmVxdWlyZWQgc2luY2Ugd2UgZG8gYQoJICBzZXRjYXBzKCkgaW4gbmVnb3RpYXRlKCksIHdoaWNoIGNhdXNlcyB0aGUgc3RyZWFtIHRvIGJlIGRyb3BwZWQgYnkgYQoJICByaW5nYnVmZmVyIHJlbGVhc2UoKSBjYWxsICh0aGlzIGRvZXMgbm90IGhhcHBlbiBkdXJpbmcgZmlyc3QgbmVnb3RpYXRpb24KCSAgc2luY2UgdGhlIHJlbGVhc2UgaXMgb25seSBkb25lIG9uIGEgcnVubmluZyByaW5nYnVmZmVyKS4gVGhlIHN1YnNlcXVlbnQKCSAgY2FsbCB0byByaW5nYnVmZmVyIGFjcXVpcmUoKSBmYWlscyBiZWNhdXNlIHRoZSBzdHJlYW0gd2FzIGxvc3Qgb24KCSAgcmVsZWFzZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMjQ3CgoyMDEyLTA4LTE0IDE1OjM4OjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IENsZWFyIHVucG9zaXRpb25lZCBmbGFnIHdoZW4gc2V0dGluZyBwb3NpdGlvbnMKCSAgSWYgY29udmVydGluZyBhIFBBIGNoYW5uZWwgbWFwIHRvIGdzdCBjaGFubmVsIHBvc2l0aW9ucyByZXN1bHRzIGluIGEKCSAgdmFsaWQgc2V0IG9mIGNoYW5uZWwgcG9zaXRpb25zLCB3ZSBjbGVhciB0aGUgdW5wb3NpdGlvbmVkIGZsYWcgZnJvbSB0aGUKCSAgcmluZ2J1ZmZlciBzcGVjLgoKMjAxMi0wOC0xNCAwOTozNzo0NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IFJlbW92ZSByZWR1bmRhbnQgY2hhbm5lbC1tYXNrIHNldHRpbmcgZm9yIHN0ZXJlbyBjYXNlCgkgIFRoZSBnc3RhdWRpbyBoZWxwZXIgbGlicmFyaWVzIGFscmVhZHkgdGFrZSBjYXJlIG9mIHRoaXMgY2FzZSBmb3IgdXMuCgoyMDEyLTA4LTE0IDA5OjM2OjMwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRG9uJ3QgdXNlIG1lbXNldCB0byBzZXQgaW52YWxpZCBjaGFubmVsIHBvc2l0aW9ucwoJICBUaGlzIGl0ZXJlYXRlcyBvdmVyIHRoZSBHc3RBdWRpb0luZm8gdG8gc2V0IGludmFsaWQgY2hhbm5lbCBwb3NpdGlvbnMKCSAgcmF0aGVyIHRoYW4gdXNlIG1lbXNldCgpIHdoaWNoIHdvcmtzIHJpZ2h0IG5vdyBiZWNhdXNlIGl0IGFzc3VtZXMgdGhhdAoJICBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9JTlZBTElEIGlzIC0xLgoKMjAxMi0wOC0yMiAxMDozMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogbWlub3IgZG9jcyBpbXByb3ZlbWVudAoKMjAxMi0wOC0yMiAxMDoyMzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSAgZ2RrcGl4YnVmOiByZS1lbmFibGUgYWxyZWFkeS1wb3J0ZWQgZ2RrcGl4YnVmc2luawoKMjAxMi0wOC0yMiAxMDowODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkgIGdka3BpeGJ1ZjogcG9ydCBnZGtwaXhidWZvdmVybGF5IGVsZW1lbnQgdG8gMC4xMQoKMjAxMi0wOC0yMiAwMDowMDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSAgZ2RrcGl4YnVmOiByZS1lbmFibGUgYWxyZWFkeS1wb3J0ZWQgZ2RrcGl4YnVmIGVsZW1lbnQgYXMgZ2RrcGl4YnVmZGVjCgkgIE5vdCBzdXJlIHdoeSBpdCBhcyBkaXNhYmxlZCBleGFjdGx5IGdpdmVuIHRoYXQgaXQgaGFkIGFscmVhZHkKCSAgYmVlbiBwb3J0ZWQgKHRob3VnaCB3aXRob3V0IG1ldGFzIG9yIGJhc2VjbGFzcykuCgkgIE1vdmUgcGx1Z2luX2luaXQgYml0cyBpbnRvIHNlcGFyYXRlIHNvdXJjZSBmaWxlLCBhbmQgcmVuYW1lCgkgIGRlY29kZXIgZWxlbWVudCB0byBnZGtwaXhidWZkZWMuCgoyMDEyLTA4LTIxIDIzOjI1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0X2xvYWRlci5jOgoJICBnZGtwaXhidWY6IHJlbW92ZSBvbGQgYW5kIHVudXNlZCBnc3RfbG9hZGVyIHNvdXJjZSBmaWxlCgkgIE9uY2UgdXBvbiBhIHRpbWUgdXNlZCB0byBsb2FkIEdTdHJlYW1lciB2aWRzIHZpYSBHZGtQaXhidWYgQVBJLgoKMjAxMi0wOC0xNiAxNjo1MToxNiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IG1ha2Ugaml0dGVyYnVmZmVyIGRyb3Atb24tbGF0ZW5jeSBhdmFpbGFibGUgKGZpeCAjNjgyMDU1KQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaAoKMjAxMi0wOC0yMSAxOTo0Nzo0NSArMDgwMCAgSHVhY2FpIENoZW4gPGNoZW5oY0BsZW1vdGUuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBtYWtlIGdzdF92NGwyX2ZpbGxfbGlzdHMoKSBhZGFwdCB0byBrZXJuZWwgMy4zKwoJICBXaGVuIGRvIHY0bDJfaW9jdGwoKSB3aXRoIFZJRElPQ19FTlVNSU5QVVQgZmFpbHMgb24gc29tZSBkZXZpY2VzLAoJICBrZXJuZWxzIGJlZm9yZSAzLjMuMCByZXR1cm4gRUlOVkFMLCBidXQgbmV3ZXIga2VybmVscyByZXR1cm4gRU5PVFRZLgoJICBUaGlzIHBhdGNoIG1ha2UgdGhvc2UgZGV2aWNlcyB3b3JrIHdlbGwgb24ga2VybmVsIDMuMysuCgkgIFJlbGF0ZWQga2VybmVsIGNvbW1pdDoKCSAgaHR0cDovL2dpdC5rZXJuZWwub3JnLz9wPWxpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0O2E9Y29tbWl0O2g9MDdkMTA2ZDBhMzNkNjA2M2QyMDYxMzA1OTAzZGViMDI0ODllYmEyMAoJICBTaWduZWQtb2ZmLWJ5OiBIdWFjYWkgQ2hlbiA8Y2hlbmhjQGxlbW90ZS5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IFJ1aSBXYW5nIDx3YW5nckBsZW1vdGUuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBKaWUgQ2hlbiA8Y2hlbmpAbGVtb3RlLmNvbT4KCjIwMTItMDgtMjAgMjM6MzA6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgdmlkZW8veC1kdmQtc3VicGljdHVyZSAtPiBzdWJwaWN0dXJlL3gtZHZkCgoyMDEyLTA4LTE3IDIwOjUyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBmaXggZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzCgoyMDEyLTA4LTE3IDE0OjU5OjU3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGVuYWJsZSBwcmVzZXRzIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplcgoJICBBZGQgYSB0ZXN0IGZvciBzYXZpbmcgYW5kIHJlc3RvcmluZyB0aGUgcHJlc2V0LgoKMjAxMi0wOC0xNCAwMToyMDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IG5vdC1uZWdvdGlhdGVkIGVycm9ycyBvbiB2YXJpYWJsZSBvciBtaXNzaW5nIGZyYW1lcmF0ZSBpbiBpbnB1dCBjYXBzCgkgIFJlbW92ZSBzb21lIGJvZ3VzIGNvZGUgSSBhZGRlZCBkdXJpbmcgcG9ydGluZyB0aGF0IHdvdWxkIGVycm9yIG91dAoJICBvbiBtaXNzaW5nIG9yIHZhcmlhYmxlIGZyYW1lcmF0ZXMgaW4gaW5wdXQgY2Fwcy4gSGFuZGxlIHRoaXMgbGlrZQoJICB3ZSBkbyBpbiAwLjEwCgkgIEZpeGVzIHRlc3RfbW9kZV9kaXNhYmxlZF9wYXNzdGhyb3VnaCB1bml0IHRlc3QgY2hlY2suCgoyMDEyLTA4LTEyIDEzOjE2OjMyICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIGxhdzogRmlsdGVyIGxheW91dCBjYXBzIGZpZWxkCgkgIFRoZSBsYXlvdXQgY2FwcyBmaWVsZCBzaG91bGRuJ3QgYmUgcGFzc2VkIHRocm91Z2ggdG8gdGhlIHNpbmsgcGFkCgkgIG9mIHttdSxhfWxhd2RlYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTY3NwoKMjAxMi0wOC0wOSAxOTo0MTozNCArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhbGxvdyBhIFRPQyB3aXRoIHNpbmdsZSBhbHRlcm5hdGl2ZSB0b3AtbGV2ZWwgZW50cnkKCSAgQWxsb3cgYSBUT0MgdGhhdCBoYXMgYSBzaW5nbGUgYWx0ZXJuYXRpdmUgdG9wLWxldmVsIGVudHJ5CgkgIHdpdGggbXVsdGlwbGUgc2VxdWVuY2Ugc3ViLWVudHJpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDg5MQoKMjAxMi0wOC0wOSAxMDozMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQW5kIGZpeCB0aGUgR1RLIGNoZWNrIHRvIHVzZSB0aGUgY29ycmVjdCBwa2ctY29uZmlnIHBhY2thZ2UgbmFtZQoKMjAxMi0wOC0wOSAxMDoyNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEdUSyByZXF1aXJlZCB2ZXJzaW9uIHZhcmlhYmxlIG5hbWUKCjIwMTItMDgtMDkgMDg6MzU6MjMgKzAxMDAgIE1hdHRoaWFzIENsYXNlbiA8bWNsYXNlbkByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZml4IGJ1aWxkIHdpdGggcmVjZW50IGtlcm5lbHMsIHRoZSB2NGwyX2J1ZmZlciBpbnB1dCBmaWVsZCB3YXMgcmVtb3ZlZAoJICBUaGlzIHdhcyB1bnVzZWQgYXBwYXJlbnRseSBhbmQgcmVtb3ZlZCBpbiB0aGUga2VybmVsIGluIGNvbW1pdDoKCSAgRnJvbSAyYjcxOWQ3YmFmNDkwZTI0Y2U3ZDgxN2M2MzM3YjdjODdmZGE4NGMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQoJICBGcm9tOiBTYWthcmkgQWlsdXMgPHNha2FyaS5haWx1c0Bpa2kuZmk+CgkgIERhdGU6IFdlZCwgMiBNYXkgMjAxMiAwOTo0MDowMyAtMDMwMAoJICBTdWJqZWN0OiBbUEFUQ0hdIFttZWRpYV0gdjRsOiBkcm9wIHY0bDJfYnVmZmVyLmlucHV0IGFuZCBWNEwyX0JVRl9GTEFHX0lOUFVUCgkgIFJlbW92ZSBpbnB1dCBmaWVsZCBpbiBzdHJ1Y3QgdjRsMl9idWZmZXIgYW5kIGZsYWcgVjRMMl9CVUZfRkxBR19JTlBVVCB3aGljaAoJICB0ZWxscyB0aGUgZm9ybWVyIGlzIHZhbGlkLiBUaGUgZmxhZyBpcyB1c2VkIGJ5IG5vIGRyaXZlciBjdXJyZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0OTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCgoyMDEyLTA4LTA4IDE3OjI1OjM2IC0wNzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IE1ha2UgaXQgYWN0dWFsbHkgd29yayBhZnRlciBjbGVhbnVwcwoKMjAxMi0wOC0wOCAxNzozOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBnc3Q6IFNldCBhbGlnbm1lbnQgYXQgdGhlIGNvcnJlY3QgcGxhY2Ugb2YgR3N0QWxsb2NhdGlvblBhcmFtcwoKMjAxMi0wOC0wOCAxNjoyNTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MyA9PT0KCjIwMTItMDgtMDggMTU6MjI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkzCgoyMDEyLTA4LTA4IDE1OjE3OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1tYXJzaGFsLmg6CgkgIHdpbjMyOiBhZGQgZ2VuZXJhdGVkIHR1bmVyLW1hcnNoYWwvZW51bXR5cGVzIGZpbGVzIGZvciB2NGwyc3JjIGFuZCB1cGRhdGUKCSAgQW5kIGdzdC1pbmRlbnQgdGhlIHJpZ2h0IHJ0cCBtYXJzaGFsIGZpbGVzOyBhZGQgbWlzc2luZyBmaWxlcyB0byBNQU5JRkVTVC4KCjIwMTItMDgtMDggMTU6MTA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSAgZ3N0OiB1cGRhdGUgZGlzdGVkIG9yYyBmaWxlcwoKMjAxMi0wOC0wOCAxMTozMTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBTaWxlbmNlIHNvbWUgJ3ZhcmlhYmxlIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgoyMDEyLTA4LTA4IDEwOjU2OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgTm8gY29kZSB3aXRoIHNpZGUtZWZmZWN0cyBpbnNpZGUgZ19hc3NlcnQoKSBwbGVhc2UKCjIwMTItMDgtMDcgMTE6MTQ6MjEgLTA3MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IFJldHVybiBGTFVTSElORyBpbnN0ZWFkIG9mIEVSUk9SIG9uIHVubG9jawoJICBJZiB0aGUgYmFzZSBjbGFzcyBhc2tzIG11bHRpdWRwc2luayB0byB1bmxvY2ssIHRoZW4gaXQgc2hvdWxkIHJldHVybgoJICBGTFVTSElORywgbm90IEVSUk9SCgoyMDEyLTA3LTI2IDE2OjE5OjU3ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogYWRkIFRPQyBzdXBwb3J0CgkgIEFkZCBUT0MgYXMgZW1iZWRkZWQgY3Vlc2hlZXRzIGluIGZsYWMgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OQoKMjAxMi0wOC0wNyAxMjoxMjowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGdlbmVyYXRlIGVtcHR5IHZvcmJpc2NvbW1lbnQgZm9yIGNvbXBsZXRlIHN0cmVhbWhlYWRlcnMgaWYgbmVlZGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzMzUKCjIwMTItMDgtMDYgMTg6MDI6NTAgLTA3MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBCbG9jayBwYWQgd2hpbGUgaXQgaXMgYW5ub3VuY2VkLgoJICBCbG9jayB0aGUgUlRQIHBhZCBhbmQgYXNzb2NpYXRlZCBSVENQIHBhZHMgd2hpbGUgdGhleSBhcmUgYmVpbmcKCSAgYW5ub3VuY2VkLiBUaGlzIGl0IHRvIHByZXZlbnQgYSByYWNlIHdoZXJlIG9uZSBpcyBhbm5vdW5jZWQgYW5kCgkgIGJlZm9yZSB0aGUgY2FsbGJhY2sgaGFzIGNvbm5lY3RlZCBpdCwgdGhlIG90aGVyIG9uZSBnZXRzIGEgYnVmZmVyLgoJICBXZSBjYW4ndCB1c2UgdGhlICJwYWRsb2NrIiBvZiBzc3JjZGVtdXggYmVjYXVzZSBpdCBjYXVzZXMgZGVhZGxvY2tzLgoKMjAxMi0wOC0wNiAxNTowMDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGNvbW1vbjogdW4tZG8gYWNjaWRlbnRhbCBjb21tb24gdXBkYXRlIHJldmVydCBpbiBjb21taXQgN2I1OTI1YjUKCjIwMTItMDgtMDYgMTQ6NTA6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogc2V0IGNvcnJlY3QgZGF0YV9zaXplIGZvciBnZW5lcmF0ZWQgZHVtbXkgZnJhbWUKCSAgLi4uIHdoaWNoIHByZXZlbnRzIGdldHRpbmcgc3R1Y2sgaW4gYSBsb29wIGlmIHN1Y2ggb25lIGlzIG5lZWRlZC4KCjIwMTItMDgtMDYgMTQ6NTA6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogaW1wcm92ZSBhbmQgZml4IGRlYnVnIHN0YXRlbWVudAoJICAuLi4gc28gaXQgcmVhbGx5IGluZm9ybXMgYWJvdXQgbmV4dCByYXRoZXIgdGhhbiBwYXN0IGZyYW1lLgoKMjAxMi0wOC0wNiAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiB1cGRhdGUgYXZhaWxhYmxlIGJ5dGV3cml0ZXIgc3BhY2Ugd2hlbiByZXBvc2l0aW9uaW5nCgkgIC4uLiBhbmQgYWRkIHNvbWUgbW9yZSBhc3NlcnQgdG8gY2F0Y2ggcG90ZW50aWFsIHN1cnByaXNlcyBlYXJseSBvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDU1OAoKMjAxMi0wOC0wNCAxMjo0Nzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdzdDogQWRkIHN0cmVhbS1pZCB0byBzdHJlYW0tc3RhcnQgZXZlbnRzCgoyMDEyLTA4LTA0IDEyOjU0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBxdWVyeSBoYW5kbGVyIGlmIG5vIHBhZCBpcyBwcm92aWRlZAoKMjAxMi0wOC0wMiAwMTo0ODoyOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkZCBhIGJldHRlciBkZXRlY3Rpb24gZm9yIHRoZSBtYWluIHJ1biBsb29wCgoyMDEyLTA3LTI3IDE2OjEzOjQ5ICswMjAwICBYYXZpIEFydGlnYXMgPHhhcnRpZ2FzQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IERvIG5vdCBvdmVyd3JpdGUgdGhlIERTIGJ1ZmZlciB3aGVuIHRlc3RpbmcgZm9yIEFDMyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDYKCSAgQ29uZmxpY3RzOgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmMKCjIwMTItMDgtMDUgMTY6Mzk6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk0Y2NmNGMgdG8gNjY4YWNlZQoKMjAxMi0wOC0wMyAxNjoxMzo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFJlbGVhc2UgbG9jayBiZWZvcmUgc2lnbmFsbGluZyBuZXcgcGFkCgkgIFRoaXMgcHJldmVudHMgYSBkZWFkbG9jayB3aGVyZSBzb21ldGhpbmcgd291bGQgdHJ5IHRvIHB1c2ggYW4gZXZlbnQKCSAgdGhyb3VnaCB0aGUgU1NSQyBkZW11eCBmcm9tIHRoZSBjYWxsYmFjaywgY2F1c2luZyB0aGUgcGFkcyB0byBiZSBpdGVyYXRlZAoJICBhbmQgdGhlIGxvY2sgdGFrZW4uCgoyMDEyLTA4LTA0IDE2OjEwOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBnc3RfdGFnX2xpc3RfZnJlZSAtPiBnc3RfdGFnX2xpc3RfdW5yZWYKCjIwMTItMDgtMDMgMTQ6MTA6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYW5hZ2UgcmFjZSBiZXR3ZWVuIGNvbm5lY3Rpb24gY2xvc2luZyBhbmQgZmx1c2hpbmcKCSAgLi4uIHdoZXJlIHRoZSBmb3JtZXIgY2FuIGhhcHBlbiBpbiB0YXNrIHRocmVhZCBhbmQgdGhlIGxhdHRlciBpbiBtYWlubG9vcAoJICB1cG9uIGRvd253YXJkIHN0YXRlIGNoYW5nZS4KCjIwMTItMDgtMDMgMTQ6MDI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBpbXByb3ZlIGFuZCByZWxheCBhdWRpbyBmcmFtZSBwYXJzaW5nCgkgIC4uLiBzbyBhcyB0byBwcm9wZXJseSByZWNvZ25pemUgZmlyc3QgYXVkaW8gZnJhbWUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEwNzcKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCjIwMTItMDgtMDEgMTI6MTY6NDEgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRvdWJsZSB1bnJlZiBvZiBwcml2YXRlIHRhZyBidWZmZXIKCjIwMTItMDctMzAgMTc6NTQ6NTEgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY3JlYXRlIFRPQyBhcyBuZWVkZWQKCSAgQXZvaWQgY3JlYXRpbmcgdGhlIHRvYyBpZiB0aGUgd2F2IGhhcyBubyBvciBlbXB0eSBjdWUgY2h1bmsuCgkgIEFsc28gYSBzbWFsbCBjb2RlIGNsZWFudXAuCgoyMDEyLTA3LTI4IDExOjI2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB1cGRhdGUgZm9yIFRPQyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yOCAxMToyMjo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBUT0MgQVBJIGNoYW5nZXMKCjIwMTItMDctMjggMTE6MjA6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVwZGF0ZSBmb3IgVE9DIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI4IDAwOjE5OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRhZzogVXBkYXRlIGZvciB0YWdsaXN0L3RhZyBldmVudCBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yNyAxMjowNTo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXQoZGUpbXV4OiBwYXNzIHByaXZhdGUgYmxvYiB0YWdzIGluIGEgc2FtcGxlCgkgIC4uLiByYXRoZXIgdGhhbiBhIGJ1ZmZlciwgYW5kIHRoZSBkZXRhaWxlZCBpbmZvIGluIHRoZSBzYW1wbGUgaW5mbwoJICByYXRoZXIgdGhhbiBjYXBzLgoKMjAxMi0wNy0yNyAxMTozMToxMyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBEb24ndCByZXR1cm4gTlVMTCBmcm9tIF90cmFuc2Zvcm1fY2FwcwoJICBJZiBfdHJhbnNmb3JtX2NhcHMgKCkgcmV0dXJucyBOVUxMLCB0aGUgYmFzZXRyYW5zZm9ybSBfdHJhbnNmb3JtX2NhcHMKCSAgdHJpZXMgdG8gY2FsbCBnc3RfY2Fwc19pc19zdWJzZXQgKCkgd2l0aCBhIE5VTEwgc3Vic2V0IHdoaWNoIGhpdHMgYW4KCSAgYXNzZXJ0aW9uLgoKMjAxMi0wNy0yNyAxMToyNjoxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG9idGFpbiBpbWFnZSB0eXBlIGZyb20gdGhlIHNhbXBsZSBpbmZvCgoyMDEyLTA3LTI3IDExOjI1OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIGV4dHJhbmVvdXMgX3VucmVmCgkgIC4uLiBzaW5jZSB3ZSBkaWQgbm90IG9idGFpbiBhIGJ1ZmZlciByZWYgZnJvbSB0aGUgR3N0U2FtcGxlLgoKMjAxMi0wNy0yNyAxMDoxNDoyMyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBVcGRhdGUgdG8gdXNlIEdzdFNhbXBsZSB0YWcgc2V0dGluZyBBUEkKCjIwMTItMDctMjYgMTY6MzQ6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogbW9kaWZ5IGJ1ZmZlciBkYXRhIHJhdGhlciB0aGFuIGJ1ZmZlciBpdHNlbGYKCjIwMTItMDctMjYgMTY6Mjg6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogYXZvaWQgbGVha2luZyBieXRld3JpdGVyIGluc3RhbmNlCgoyMDEyLTA3LTI2IDE2OjA0OjIzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB0aW1lc3RhbXAgYWRqdXN0bWVudCBhbmQgY2FwcwoKMjAxMi0wNy0yNiAxNjowMzo1NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXgvc2ltcGxpZnkgdGVsZWNpbmUgc3RhdGUgY2hlY2tzCgoyMDEyLTA3LTI2IDEyOjA4OjU4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEyLTA3LTI2IDEyOjA4OjM2ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBsb3ctbGF0ZW5jeSBwYXR0ZXJuIGxvY2tpbmcKCjIwMTItMDctMjQgMTY6MTk6NTMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUkZGIHNob3VsZCBiZSBpZ25vcmVkIGluIGRlaW50ZXJsYWNlCgkgIFJGRiBvbmx5IG9jY3VycyBvbiBwcm9ncmVzc2l2ZSBmcmFtZXMgaW4gdGVsZWNpbmUgc2VxdWVuY2VzLiBGb3IKCSAgZGVpbnRlcmxhY2UsIHdlIGRvbid0IHdhbnQgdGhlc2UgcmVwZWF0ZWQgZmllbGRzIGFzIHdlIHdpbGwgc2ltcGx5IGJlCgkgIHB1c2hpbmcgdGhlIHByb2dyZXNzaXZlIGZyYW1lIGFuZCB0aGVuIG1vdmluZyBvbi4KCSAgSG93ZXZlciwgd2UgbmVlZCB0byBjb25zaWRlciBSRkYgaW4gb3JkZXIgdG8gY29ycmVjdGx5IGlkZW50aWZ5IHBhdHRlcm5zCgkgIGFuZCBhZGp1c3QgdGhlIHRpbWVzdGFtcHMuCgoyMDEyLTA3LTI0IDE0OjU5OjQ3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgcHJvY2VzcyBsb2dpYwoJICBUaGUgbG9naWMgbm93IHdvcmtzIGJldHRlciBpZiB3ZSBmaWx0ZXIgb3JwaGFucywgdGhlbiBwcm9ncmVzc2l2ZSwgdGhlbgoJICB0ZWxlY2luZSBpbnRlcmxhY2VkIGZpZWxkcyB3aGljaCBuZWVkIHRvIGJlIHdvdmVuIGFuZCBmYWxsIHRocm91Z2ggdG8KCSAgaW50ZXJsYWNlLiBUZWxlY2luZSBpbnRlcmxhY2VkIGZpZWxkcyB3aWxsIGJlIHJlZ3VsYXJseSBkZWludGVybGFjZWQgaWYKCSAgdGhlcmUgaXMgbm8gcGF0dGVybiBsb2NrIGZvciB1cyB0byBiZSBzdXJlIHRoYXQgd2UgaGF2ZSBhIHRlbGVjaW5lCgkgIHBhdHRlcm4uCgkgIFRlbGVjaW5lIHNlcXVlbmNlcyB0aGF0IGFyZW4ndCAyNGZwcyBwcm9ncmVzc2l2ZSB3aXRoIFJGRiBmbGFncyBjYW4ndAoJICByZWFsbHkgYmUgdGVzdGVkIHVudGlsIGZpZWxkYW5hbHlzaXMgaXMgcG9ydGVkLgoKMjAxMi0wNy0yNSAxNjowMjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG9ubHkgc2V0IGNvbXBsZXRlIG91dHB1dCBjYXBzIG9uY2UKCSAgLi4uIHNvIGFzIHRvIGF2b2lkIGRvd25zdHJlYW0gY29tcGxhaW50cyBhYm91dCBtaXNzaW5nIHN0cmVhbWhlYWRlcnMuCgoyMDEyLTA3LTI1IDE1OjI5OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYWxzbyBzdXBwb3J0IFMyNF8zMiBvdXRwdXQKCjIwMTItMDctMjUgMTU6Mjg6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBwYXNzIGNvcnJlY3QgcGFyYW1ldGVycyB0byBlbmNvZGVyIGxpYgoKMjAxMi0wNy0yNSAxNDo1NzoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFkanVzdCB0byBtb2RpZmllZCBhdWRpb2VuY29kZXIgZ2V0Y2FwcyBoZWxwZXIgQVBJCgoyMDEyLTA3LTI1IDEyOjUwOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBnbyBhbmQgc3RheSBpbiB0aGUgbG9vcCBmdW5jdGlvbiBvbiBQTEFZCgkgIFdoZW4gd2UgaGF2ZSBhIFBMQVkgcmVxdWVzdCwgZ28gaW50byB0aGUgTE9PUCBmdW5jdGlvbiBuZXh0LiBXaGVuIHdlIGFyZQoJICBsb29waW5nLCBrZWVwIG9uIGxvb3BpbmcgdW50aWwgd2UgYXJlIHRvbGQgb3RoZXJ3aXNlLgoJICBUaGlzIGZpeGVkIHJ0c3AgYW5kIFRDUCBjb25uZWN0aW9ucy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDU1MQoKMjAxMi0wNy0yNSAxMjo0OTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogc2V0IGNhcHMgYWZ0ZXIgYWN0aXZhdGluZyB0aGUgcGFkCgoyMDEyLTA3LTI1IDEyOjQ5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBzbWFsbCBjbGVhbnVwcwoKMjAxMi0wNy0yNSAxMDowODo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgeHF0ZGVwYXk6IGZpeCBidWZmZXIgcmVmY291bnQgZXJyb3IKCSAgQWZ0ZXIgcHVzaGluZyB0aGUgYnVmZmVyIGludG8gdGhlIGFkYXB0ZXIsIHdlIHNob3VsZCBub3QgbGV0IHRoZSBiYXNlY2xhc3MgcHVzaAoJICBpdCBvdXQgYW55bW9yZS4gVGhpcyBlcnJvciB3YXMgaW50cm9kdWNlZCB3aGlsZSBwb3J0aW5nIHRvIDAuMTEuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNTQwCgoyMDEyLTA3LTI0IDIxOjQxOjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiByZW1vdmUgb2Jzb2xldGUgbGlib2lsIGNvbW1lbnQKCjIwMTItMDctMjQgMjE6MTE6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBwdXNoIG1vZGU6IGluY3JlYXNlIHNlZ21lbnQgYWNjdXJhY3kgZm9sbG93aW5nIHNlZWsKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0yNCAxNjo0MTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcGVyZm9ybSBwcm9wZXIgS0VZX1VOSVQgc2VlayBhbHNvIGluIHB1c2ggbW9kZQoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTI0IDE5OjA0OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZG9uJ3QgY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIGVycm9yIHdoZW4gbGVhdmluZyBtdWx0aWNhc3QgZ3JvdXAgb24gc2h1dGRvd24KCSAgU3RyYW5nZWx5IGVub3VnaCwgaWYgd2UgZG8gcGFzcyBhbiBlcnJvciB2YXJpYWJsZSB0byBiZSBmaWxsZWQsIHdlCgkgIG5vIGxvbmdlciBnZXQgYW4gZXJyb3Igb24gbGVhdmluZy4KCjIwMTItMDctMjQgMTU6NTU6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVhcnJhbmdlIHNvbWUgY2hlY2tzIHRvIGF2b2lkIE5VTEwgdXNlCgoyMDEyLTA3LTI0IDE1OjM4OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHVzZSBzYW1lIGZvdXJjYyB0byBkZXRlcm1pbmUgY2FwcyBpbiBkZXRlcm1pbmluZyB1bmNvbXByZXNzZWQtbmVzcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk4CgkgIENvbmZsaWN0czoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jCgoyMDEyLTA3LTI0IDE1OjM2OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUmV2ZXJ0ICJhdmlkZW11eDogRG9uJ3QgY29uc2lkZXIgMCBmY2NfaGFuZGxlciBhcyB1bmNvbXByZXNzZWQuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGM2YjlmNWIyNWFiNDM1NjY5ODE2YTA3MDQ5YjBlNWE4ZjAxZTA5Y2EuCgkgIGZvdXJjYyBHU1RfUklGRl9yZ2IgPSAwIHN0aWxsIGxlYWRzIHRvIHJhdyB1bmNvbXByZXNzZWQgcmdiIGNhcHMuCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM4OTgKCjIwMTItMDctMjQgMTI6MTA6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggdXAgZXhhbXBsZSBwaXBlbGluZSBzb21lIG1vcmUKCSAgTm8gbW9yZSBmZm1wZWdjb2xvcnNwYWNlCgoyMDEyLTA3LTIwIDE2OjMwOjAwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEZpeCB0aGUgZXhhbXBsZSBnc3QtbGF1bmNoIHBpcGVsaW5lLgoKMjAxMi0wNy0yNCAxMjozMzozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgTlVMTCBhY2Nlc3Mgd2hlbiBjaGVja2luZyBzdWJ0aXRsZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMzg4CgoyMDEyLTA3LTI0IDEyOjIyOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFJlc2V0IHBhcnNlciB3aGVuIHdlIGhhdmUgY2FwcyB3aXRob3V0IGNvZGVjX2RhdGEKCSAgVGhpcyBlbnN1cmVzIHRoZSBkZXRlY3Rpb24gKGFuZCBwcm9wZXIgZG93bnN0cmVhbSBjYXBzIHNldHRpbmdzKSB3aWxsCgkgIGFjdHVhbGx5IGhhcHBlbiB3aGVuIHdlIGhhdmUgbmV3IGluY29taW5nIGNhcHMgd2l0aG91dCBjb2RlY19kYXRhLgoJICBUaGlzIHdhcyBlYXNpbHkgdHJpZ2dlcmVkIGJ5IHN0cmVhbXMgZnJvbSBtYXRyb3NrYWRlbXV4IHdoaWNoIGluaXRpYWxseQoJICBwcm92aWRlZCBjYXBzIHdpdGggYSBjb25zdHJ1Y3RlZCBjb2RlY19kYXRhLCBidXQgdGhlbiBwdXNoZWQgbmV3IGNhcHMKCSAgd2l0aG91dCB0aGUgY29kZWNfZGF0YSBvbmNlIGl0IGRldGVjdGVkIHRoZSBzdHJlYW0gd2FzIGFkdHMuCgoyMDEyLTA3LTI0IDA5OjE3OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCB2aWRlb19taXhlcl9vcmNfCgoyMDEyLTA3LTI0IDA5OjEzOjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy5vcmM6CgkgIHZpZGVvYm94OiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIHZpZGVvX2JveF9vcmNfCgoyMDEyLTA3LTIzIDE4OjUxOjAwICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAxMi0wNy0yMyAxNzozNzo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZ2VuZXJhdGUgY29ycmVjdCBzZWdtZW50IHN0cmVhbSB0aW1lCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyNzUKCjIwMTItMDctMjMgMTY6NDI6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSAgcnRwOiBhbHdheXMgdXNlIGJ1ZmZlciBsaXN0cwoKMjAxMi0wNy0yMyAxNToyNDoxNyArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIHJ0cG1wNHZwYXk6IGFsd2F5cyBlbmFibGUgYnVmZmVyLWxpc3RzCgoyMDEyLTA3LTIzIDE1OjIyOjI0ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSAgcnRwanBlZ3BheTogYWx3YXlzIGVuYWJsZSBidWZmZXItbGlzdHMKCjIwMTItMDctMjMgMTU6NDk6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZ2V0IGZyYW1lIGZsYWdzIGNvcnJlY3RseQoJICBBbHNvIG1vdmUgdGhlIGRlaW50ZXJsYWNlIHBsdWdpbiB0byBwb3J0ZWQgc3RhdHVzCgoyMDEyLTA3LTIzIDE1OjMzOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcm9wZXIgcGFyc2UgcmVjb3ZlcnkgYWZ0ZXIgc2VlawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNDI3CgoyMDEyLTA3LTIzIDEyOjM5OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGNsZWFyIG9sZCBzZWdtZW50IGV2ZW50IHdoZW4gcmVxdWVzdGluZyBuZXcgb25lCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyODMKCjIwMTItMDctMjMgMTA6MzI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgdmlkZW8gYmFzZSBjbGFzc2VzIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTIzIDA4OjQ5OjA3ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY29udmVydCBhbGwgbm9uIEdTVF9GT1JNQVRfQllURVMgdG8gZm9ybWF0IGJ5dGVzLgoJICBDb252ZXJ0IGFsbCBub24gR1NUX0ZPUk1BVF9CWVRFUyB0byBmb3JtYXQgYnl0ZXM6CgkgIGZpeGVzOgoJICBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9xdWVyeV9zZXRfZHVyYXRpb246IGFzc2VydGlvbiBgZm9ybWF0ID09CgkgIGdfdmFsdWVfZ2V0X2VudW0gKGdzdF9zdHJ1Y3R1cmVfaWRfZ2V0X3ZhbHVlIChzLCBHU1RfUVVBUksgKEZPUk1BVCkpKScKCSAgZmFpbGVkCgkgIHdoZW4gcGxheWluZyBtb3JlIHRoYW4gb25lIHdhdiBzdHJlYW0uCgkgIGdzdC1wbHVnaW5zLWJhc2UvdGVzdHMvaWNsZXMvcGxheWJhY2svdGVzdDcgdXJpMS53YXYgdXJpMi53YXYKCjIwMTItMDctMjMgMDk6MjU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCBmYWlsIGlmIG1vcmUgZGF0YSB0aGVuIG5lZWRlZCBpcyBhdmFpbGFibGUgd2hlbiBwYXJzaW5nIGN1ZSBjaHVua3MKCSAgRml4ZXMgYnVnICM2ODAzMjguCgoyMDEyLTA3LTIzIDA5OjIyOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogU29tZSBtaW5vciBjbGVhbnVwIHRvIHRoZSBjdWUvbGFibCBwYXJzaW5nCgoyMDEyLTA3LTIzIDA4OjQ1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOThlMzg2ZiB0byA5NGNjZjRjCgoyMDEyLTA3LTE5IDE0OjU1OjQ1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgZGVpbnRlcmxhY2U6IFBvcnQgdG8gMS4wCgkgIFRoaXMgcmVxdWlyZXMgdGhlIGFkZGl0aW9uYWwgSU5URVJMQUNFRCBidWZmZXIgZmxhZyByZWNlbnRseSBhZGRlZCB0bwoJICAtYmFzZQoKMjAxMi0wNy0yMCAxNToxODo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogY29udmVydCB0aGUgb3V0cHV0IHNlZ21lbnQgdG8gdGltZQoJICBDb252ZXJ0IHRoZSBzdG9yZWQgaW5wdXQgc2VnbWVudCB0byB0aW1lIGJlZm9yZSBwdXNoaW5nIGl0IG91dC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMKCjIwMTItMDctMjAgMTM6MTI6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogdHJ5IHRvIGZpeCBzZWdtZW50IGhhbmRsaW5nCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgoyMDEyLTA3LTIwIDE1OjI4OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBOb24tdXBkYXRlIHNlZWtzIHNob3VsZCBzdGlsbCBtYWtlIHN1cmUgdGhhdCByZXZlcnNlIHBsYXliYWNrIHN0YXR1cyBpcyByZXNldAoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTIwIDE1OjE4OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQcm9wZXJseSBpbml0aWFsaXplIGZyb21fb2Zmc2V0IGFuZCBmcm9tX3RpbWUKCjIwMTItMDctMjAgMTQ6MjU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFdlIG5lZWQgYW4gaW5kZXggYW5kIGluZGV4IGVudHJ5IGZvciByZXZlcnNlIHBsYXliYWNrCgkgIFJldmVyc2UgcGxheWJhY2sgZG9lcyBub3Qgd29yayB3aXRoIGluZGV4LWxlc3MgZmlsZXMgeWV0LgoKMjAxMi0wNy0yMCAxNDoxMDo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNsZWFuIHVwIHB1c2ggbW9kZSBzZWdtZW50IGhhbmRsaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyNzcKCjIwMTItMDctMjAgMTM6MzU6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByb3Blcmx5IHRyYW5zZm9ybSBpbmNvbWluZyBzZWdtZW50IGV2ZW50CgkgIC4uLiB3aGljaCBpcyByZWFsbHkgdXNlZnVsIGZvciBwcm9wZXIgcHVzaCBtb2RlIHNlZWtpbmcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyNzgKCjIwMTItMDctMjAgMTE6MDc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggcmV2ZXJzZSBwbGF5YmFjayBmb3Igc2Vla3Mgd2l0aG91dCBzdG9wIHBvc2l0aW9uCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmgKCjIwMTItMDctMjAgMTA6NDg6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgdGFrZSB0aGUgc3RyZWFtX3N0YXJ0X3RpbWUgaW50byBhY2NvdW50IGZvciBTRVQgc2Vla3MKCSAgRm9yIG90aGVyIHNlZWtzIHRoZSBzdHJlYW1fc3RhcnRfdGltZSBpcyBhbHJlYWR5IGFkZGVkIHRvIHRoZQoJICBzZWdtZW50IHZhbHVlcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0wOCAyMDozNjoyMiArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogQWRkIFRPQyBzdXBwb3J0CgkgIEFkZCBzdXBwb3J0IGZvcjoKCSAgKiBDdWUgQ2h1bmsKCSAgKiBBc3NvY2lhdGVkIERhdGEgTGlzdCBDaHVuawoJICAqIExhYmVsIENodW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzczMDYKCjIwMTItMDUtMDkgMTU6NTg6MTYgKzAyMDAgIE1hcmlhIEdpb3Zhbm5hIENoaW9zc2EgPG1hcmlhZ2lvdmFubmEuY2hpb3NzYSBhdCBzZWxleGVsc2FnLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBzZXQgVURQIGJ1ZmZlciBzaXplIGluIG11bHRpY2FzdAoJICBBbHNvIHNldCB0aGUgVURQIGJ1ZmZlciBzaXplIGluIG11bHRpY2FzdCBtb2RlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDQ4CgoyMDEyLTA3LTE4IDIzOjQzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGhlYWRlciBwYXJzaW5nIGluIHB1c2ggbW9kZQoJICBGaXggJ2JyZWFrJyB0aGF0IGdvdCB3YXJwZWQgdG8gdGhlIHdyb25nIHBsYWNlLAoJICBwcm9iYWJseSBhcyBwYXJ0IG9mIGEgbWVyZ2UuIEZpeGVzIEdTVF9JU19CVUZGRVIKCSAgY3JpdGljYWxzIGluIHBhcnNlX2lkaXQoKSB3aGVuIGJlaW5nIGFjY2lkZW50YWxseQoJICBwYXNzZWQgYSBOVUxMIGJ1ZmZlciBiZWNhdXNlIG9mIHRoZSBtaXNzaW5nIGJyZWFrLgoJICBnc3QtbGF1bmNoLTEuMCBwbGF5YmluIHVyaT1odHRwOi8vZG9jcy5nc3RyZWFtZXIuY29tL21lZGlhL3NpbnRlbF90cmFpbGVyLTQ4MGkuYXZpCgoyMDEyLTA3LTE4IDIyOjQ3OjIyICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZGVwcmVjYXRlZCBzb3VwX21lc3NhZ2VfaGVhZGVycyBfZ2V0IC0+IF9nZXRfb25lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyMDYKCjIwMTItMDctMTggMTg6Mjc6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBqcGVnL3BuZzogQ2FsbCB2aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA3LTE4IDE3OjU3OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSAgdXBkYXRlIGZvciBnaG9zdHBhZCBjaGFuZ2VzCgoyMDEyLTA3LTE4IDExOjM2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQYXNzIHNlZWsgcmF0ZSB0byB1cHN0cmVhbSBzZWVrIGV2ZW50cyBpbiBwdXNoIG1vZGUKCSAgRml4ZXMgYnVnICM2Nzk0MzUuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMTcgMTY6Mzg6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTYgMTE6MDc6NDQgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHVzZSBidWZmZXIgbGlzdHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTk5NAoKMjAxMi0wNy0xNyAxMDowMTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBwYXJzaW5nIG9mIElTUkMgZnJvbSB0aGUgY3Vlc2hlZXRzCgoyMDEyLTA3LTA1IDE0OjE1OjI1ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgc3VwcG9ydCBlbWJlZGRlZCBjdWVzaGVldHMgaW4gZmxhYyBmaWxlcy4KCSAgUGFyc2luZyBNRVRBREFUQV9CTE9DS19DVUVTSEVFVCBhcyBUT0MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTItMDctMTMgMTQ6NDM6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhdm9pZCBzb21lIG1vcmUgZnJhbWUgbWlzcGFyc2luZyBieSBhZGRpdGlvbmFsIGhlYWRlciBzYW5pdHkgY2hlY2sKCSAgLi4uIHVzaW5nIGEgcmVxdWlyZWQgY29uc3RhbnQgYmxvY2tpbmdfc3RyYXRlZ3kgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5ODA3CgoyMDEyLTA3LTEzIDEzOjUxOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGRlbXV4OiBQdXNoIFNUUkVBTV9TVEFSVCBldmVudCB3aGVuIG5lZWRlZAoKMjAxMi0wNy0xMSAxMzoxMDowNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHdhcm5pbmcgaWYgYm90aCB0cyBhcmUgZXF1YWwKCjIwMTItMDctMTEgMTI6Mjg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBjaGVjayB0aGUgcmlnaHQgc2l6ZSB3aGVuIHdhcm5pbmcgYWJvdXQgdG9vIGxhcmdlIHVkcCBwYWNrZXRzCgkgIFdoYXQgbWF0dGVycyBpcyB0aGUgdG90YWwgc2l6ZSwgbm90IHRoZSBzaXplIG9mIGFueSBvZiB0aGUKCSAgaW5kaXZpZHVhbCBtZW1vcnkgY2h1bmtzIHRoYXQgbWFrZSB1cCB0aGUgcGFja2V0LgoKMjAxMi0wNy0xMCAxNDozODoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgYXV0b2RldGVjdDogcHJveHkgdHMtb2Zmc2V0IHByb3BlcnRpZXMKCSAgUHJveHkgdGhlIHRzLW9mZnNldCBwcm9wZXJ0eSBpbiB0aGUgYXVkaW8qc2luayBlbGVtZW50cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTM0MwoKMjAxMi0wNy0wOSAxNjoyNzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBmaXggZm9yIGFsbG9jYXRvciBBUEkgY2hhbmdlcwoKMjAxMi0wNy0wOSAxMjoyMjowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgcmlmZiBmaWVsZCByZW5hbWUKCjIwMTItMDUtMjEgMTM6NTQ6NTEgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhc0BvcGVuaXNtdXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkcm9wIHJlZHVuZGFudCBlbGVtZW50c19sZXZlbF9MREFERCBsaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYzMDIKCjIwMTItMDctMDggMTM6MzA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkgIHRlc3RzOiBtaW5vciBqcGVnZGVjIGNsZWFuLXVwcyBhbmQgZml4ZXMKCSAgRml4IHJhY2UgY29uZGl0aW9uIGluIGVvcyBjaGVja2luZyBhbmQgYSBsZWFrLiBBbmQKCSAgYnVpbGQgcGlwZWxpbmUgd2l0aG91dCBwYXJzZV9sYXVuY2guCgoyMDEyLTA1LTIxIDEzOjUzOjU0ICswMjAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXNAb3BlbmlzbXVzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL2ltYWdlLmpwZzoKCSAgdGVzdHM6IEFkZCBzb21lIGJhc2ljIHRlc3RzIGZvciBqcGVnZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYzMDIKCjIwMTItMDctMDYgMTk6MTE6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIHNvbWUgcmVsb2NhdGlvbnMKCjIwMTItMDctMDYgMTQ6NDk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IHJlbW92ZSBkZXByZWNhdGVkIHNlbmQtY29uZmlnIHByb3BlcnR5CgkgIFVzZSBjb25maWctaW50ZXJ2YWwgaW5zdGVhZC4KCjIwMTItMDctMDYgMTQ6NDI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiByZW1vdmUgZGVwcmVjYXRlZCAiYnl0ZS1zdHJlYW0iIGFuZCAiYWNjZXNzLXVuaXQiIHByb3BlcnRpZXMKCSAgVGhlc2Ugd2lsbCBiZSBwaWNrZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkb3duc3RyZWFtIGNhcHMgbm93LCBzbwoJICBpZiB5b3Ugd2FudCB0aGUgZGVwYXlsb2FkZXIgdG8gb3V0cHV0IGEgc3BlY2lmaWMgZm9ybWF0LCBtYWtlIHN1cmUKCSAgdGhlIGVsZW1lbnQgZG93bnN0cmVhbSBhZHZlcnRpc2VzIHRoYXQgcHJlZmVyZW5jZSBvciB1c2UgYSBjYXBzZmlsdGVyCgkgIGFmdGVyIHRoZSBkZXBheWxvYWRlciB0byBmb3JjZSBpdC4KCjIwMTItMDctMDYgMTQ6MTM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHJlbW92ZSBkZXByZWNhdGVkIGFuZCBub24tZnVuY3Rpb25hbCAicHJvZmlsZS1sZXZlbC1pZCIgcHJvcGVydHkKCSAgVGhpcyBpcyBub3cgb3B0aW9uYWxseSB0YWtlbiBmcm9tIGRvd25zdHJlYW0gY2Fwcywgc28gY2FuIGJlCgkgIHNwZWNpZmllZCB2aWEgYSBjYXBzZmlsdGVyIGFmdGVyIHRoZSBwYXlsb2FkZXIuCgoyMDEyLTA3LTA2IDE1OjA3OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBzYW5pdHkgY2hlY2sgYmVmb3JlIGNvbmZpcm1pbmcgQURUUyBmb3JtYXQKCSAgLi4uIGFuZCB0d2VhayBjb25mdXNpbmcgZGVidWcgbWVzc2FnZS4KCjIwMTItMDctMDYgMTU6Mjk6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcmVtb3ZlIHVuaGVscGZ1bCBzdHJheSBkZWJ1ZyBtZXNzYWdlCgoyMDEyLTA3LTA2IDEzOjE2OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIGRlcHJlY2F0ZWQgYW5kIHVudXNlZCAibnRwLW5zLWJhc2UiIHByb3BlcnR5CgoyMDEyLTA3LTA2IDEyOjU3OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkgIGRvY3M6IHVwZGF0ZSBpc29tcDQgZG9jcyBmb3IgZ3BwbXV4IC0+IDNncHBtdXggY2hhbmdlIGFzIHdlbGwKCjIwMTItMDctMDYgMTI6NTQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgaXNvbXA0OiByZW1vdmUgZ3BwbXV4LCB3aGljaCB3YXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgM2dwcG11eAoKMjAxMi0wNy0wNiAxMjo0OTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc210cDogcmVtb3ZlIGRlcHJlY2F0ZWQgImZwcyIgcHJvcGVydHkKCjIwMTItMDctMDYgMTI6NDY6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiByZW1vdmUgZGVwcmVjYXRlZCBhbmQgdW51c2VkICJhdXRvc2NhbiIgcHJvcGVydHkKCSAgUmVwbGFjZWQgYnkgYm91bmRhcnk9TlVMTC4KCjIwMTItMDctMDYgMDk6MDc6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjNwcGF5OiBhY2NlcHQgYW55IGgyNjMgaW5wdXQgdW5sZXNzIGRvd25zdHJlYW0gZm9yY2VzIHNwZWNpZmljIHJlcXVpcmVtZW50cwoJICBydHBoMjYzcHBheSBzaG91bGQgYWNjZXB0IGFueSBpbnB1dCBjb21wYXRpYmxlIHdpdGggaXRzIHNpbmsgdGVtcGxhdGUKCSAgY2FwcyBpZiBpdCBqdXN0IG91dHB1dHMgdG8gZS5nLiB1ZHBzaW5rIG9yIGZha2VzaW5rLgoJICBydHBoMjYzcHBheSAhIHJ0cGgyNjNwZGVwYXkgc2hvdWxkIGFsc28gd29yayB3aXRoIGFueSBjb21wYXRpYmxlIGlucHV0LgoJICBUaGlzIHdvdWxkIGZhaWwgYmVmb3JlIHdpdGggbm90LW5lZ290aWF0ZWQgZXJyb3JzIGJlY2F1c2UgdGhlIGdldF9jYXBzCgkgIGZ1bmN0aW9uIHdvdWxkIHNlZSB0aGUgZW5jb2RpbmctbmFtZSBpbiB0aGUgZGVwYXlsb2FkZXIncyB0ZW1wbGF0ZSBjYXBzCgkgIGFuZCBkZWZhdWx0IHRvIGJhc2VsaW5lIEguMjYzIGJlY2F1c2UgdGhlcmUncyBubyBwcm9maWxlL2xldmVsIGluZm9ybWF0aW9uCgkgIGluIHRob3NlIGNhcHMsIHdoaWNoIGlzIHRoZSByaWdodCB0aGluZyB0byBkbyBpZiBkb3duc3RyZWFtIGhhcyBmaWx0ZXJjYXBzCgkgIGZyb20gYW4gU0RQLCBidXQgbm90IGlmIHRob3NlIGZpZWxkcyBhcmUgYWJzZW50IGJlY2F1c2UgdGhleSBjYW4gYmUKCSAgYW55dGhpbmcgbGlrZSB3aXRoIHRoZSBkZXBheWxvYWRlcidzIHRlbXBsYXRlIGNhcHMuIE1ha2VzCgkgIHZpZGVvdGVzdHNyYyAhIGF2ZW5jX2gyNjNwICEgcnRwaDI2M3BwYXkgISBydHBoMjYzcGRlcGF5ICEgZmFrZXNpbmsKCSAgd29yay4KCjIwMTItMDctMDUgMjI6NTc6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGZpeCBoMjYzcCBwYXlsb2FkICEgZGVwYXlsb2FkIHVuaXQgdGVzdAoJICBOZWVkIHRvIGFkZCBoMjYzdmVyc2lvbiBmaWVsZCB0byBpbnB1dCBjYXBzIHNpbmNlIHRoZQoJICBwYXlsb2FkZXIgc2luayBnZXRfY2FwcyBmdW5jdGlvbiB3aWxsIGNvbnRhaW4gaXQgaW4gdGhlCgkgIHRoZSBjYXBzLCBhbmQgdGhlIHN0cmljdGVyIGNhcHMgc3Vic2V0IGNoZWNrIHJlcXVpcmVzCgkgIHRoaXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgaW5wdXQgY2FwcyBhcyB3ZWxsIHRoZW4uCgoyMDEyLTA3LTA2IDExOjUwOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MjY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MDI6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDctMDUgMTU6MTQ6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IGZpeCByZ3ZvbHVtZSB1bml0IHRlc3QgZXZlbnQgaGFuZGxpbmcKCSAgTXVzdCBmbHVzaCBhZnRlciBFT1MgYmVmb3JlIHNlbmRpbmcgbW9yZSBidWZmZXJzIG9yCgkgIGFub3RoZXIgRU9TIGV2ZW50LCBvciB0aGUgZXZlbnQgb3IgYnVmZmVyIHdpbGwgYmUKCSAgcmVqZWN0ZWQuIEFsc28gc2VuZCBhIFNFR01FTlQgZXZlbnQgYXQgdGhlIHN0YXJ0CgkgIG9mIGVhY2ggc3RyZWFtIGZvciBnb29kIG1lYXN1cmUuCgoyMDEyLTA3LTA1IDEzOjEzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZ3N0OiBJbXBsZW1lbnQgc2VnbWVudC1kb25lIGV2ZW50CgoyMDEyLTA3LTA1IDEyOjM1OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdGhlIFRPQyBxdWVyeSBoYW5kbGluZwoKMjAxMi0wNy0wNCAxOTo1MjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IFVwZGF0ZSBmb3IgbmV3IEdzdFRvYyBBUEkKCSAgVE9DIHN1cHBvcnQgaW4gbWF0cm9za2FtdXggaXMgZGlzYWJsZWQgZm9yIG5vdyBhcyBpdCB3YXMgYnJva2VuIGFueXdheS4KCjIwMTItMDctMDQgMjM6NTc6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBmaXggcmdhbmFseXNpcyB1bml0IHRlc3QgZXZlbnQgaGFuZGxpbmcKCSAgTXVzdCBmbHVzaCBhZnRlciBFT1MgYmVmb3JlIHNlbmRpbmcgbW9yZSBidWZmZXJzIG9yCgkgIGFub3RoZXIgRU9TIGV2ZW50LCBvciB0aGUgZXZlbnQgb3IgYnVmZmVyIHdpbGwgYmUKCSAgcmVqZWN0ZWQuIEFsc28gc2VuZCBhIFNFR01FTlQgZXZlbnQgYXQgdGhlIHN0YXJ0CgkgIG9mIGVhY2ggc3RyZWFtIGZvciBnb29kIG1lYXN1cmUuCgoyMDEyLTA3LTA0IDE4OjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogY2xlYXIgMCBEVFMgb24gYnVmZmVycyBvdXRwdXQsIGFzIHNpbmtzIHdpbGwgcHJlZmVyIERUUyBvdmVyIFBUUyBmb3Igc3luY2luZwoJICBTaW5jZSB0aGUgaW5pdGlhbCBkZWNvZGVkIHN0aWxsIGltYWdlIGJ1ZmZlciB3aWxsIGhhdmUgZHRzPXB0cz0wLCBhbmQKCSAgd2Ugb25seSBzZXQgUFRTIG9uIGJ1ZmZlcnMgd2UgcHVzaCBvdXQsIGFsbCBidWZmZXJzIHB1c2hlZCBvdXQgd291bGQKCSAgaGF2ZSBhIERUUyBvZiAwLiBTaW5rcywgaG93ZXZlciwgd2lsbCBwcmVmZXIgRFRTIG92ZXIgUFRTIGlmIGJvdGggYXJlCgkgIHNldCwgYW5kIHdpbGwgdGhlcmVmb3JlIGFsd2F5cyBzZWUgYSB0aW1lc3RhbXAgb2YgMCBubyBtYXR0ZXIgd2hhdAoJICB0aGUgUFRTIGlzIHNldCB0by4KCSAgRml4ZXMgdW5pdCB0ZXN0IHRvby4KCjIwMTItMDctMDQgMjA6NTk6MDMgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBxdWVyeSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbjsgbW9yZSBkZWJ1Z2dpbmcKCjIwMTItMDctMDQgMTk6NDE6NTIgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBzcGVjIHN0dWZmIGluIGRpcmVjdHNvdW5kc2luawoKMjAxMi0wNS0zMSAxOToyMjo0NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggYWNjZXNzIHRvIGludmFsaWQgcG9pbnRlciBpbiBzZXRfdm9sdW1lCgoyMDEyLTA2LTEzIDEyOjEyOjM5ICswMjAwICBTZWJhc3RpYW4gRHI9QzM9QjZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGNhcHMgbGVha3MKCjIwMTItMDUtMjkgMTE6Mzc6NTkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IGFjY2VwdGNhcHMgY2hlY2sKCjIwMTItMDUtMjUgMTA6MTQ6NTcgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogdXNlIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBmb3Igc3BkaWYgZm9ybWF0cwoKMjAxMi0wNS0yNSAxMDoxOTowOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBhZGQgc3VwcG9ydCBmb3IgRFRTCgoyMDEyLTA1LTA4IDE2OjIzOjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZvcmNlIDQ4MDAwIGtIeiBmb3JjZSBBQy0zIG92ZXIgc3BkaWYKCjIwMTItMDctMDQgMTc6NDI6NDkgKzA0MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogYWRkIHN1cHBvcnQgZm9yIGFjLTMgb3ZlciBzcGRpZgoKMjAxMi0wNy0wNCAxMjozNzo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICB0ZXN0czogZGlzYWJsZSBkZWludGVybGFjZSB0ZXN0IGZvciBub3csIGVsZW1lbnQgc3RpbGwgbmVlZHMgdG8gYmUgcG9ydGVkCgkgIEJ1dCBsZWF2ZSBpdCBhY3RpdmUgYW5kIHByaW50IGEgRklYTUUuIFBvcnRpbmcgaXMgaW4gcHJvZ3Jlc3MuCgoyMDEyLTA3LTAzIDE5OjM4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU7IGRvd25ncmFkZSBjYXBzIGNoYW5nZSBmYWlsdXJlIGRlYnVnIG1lc3NhZ2UKCSAgQWRkIHNvbWUgbW9yZSBpbmZvIGFuZCBkb3duZ3JhZGUgdG8gd2FybmluZywgc28KCSAgaXQgZG9lc24ndCBsb29rIGxpa2UgdGhlIHVuaXQgdGVzdCBmYWlsZWQuCgoyMDEyLTA3LTAzIDE3OjUyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IG5lZ290aWF0aW9uIGFuZCB1bml0IHRlc3QKCSAgTXVzdCByZW1vdmUgYSBwb3NzaWJseS1maXhlZCBjaGFubmVsLW1hc2sgZmllbGQgaWYKCSAgd2UncmUgZ29pbmcgdG8gc2V0IHVuZml4ZWQgY2hhbm5lbHMgb24gdGhlIHN0cnVjdHVyZSwKCSAgb3IgYSBkaWZmZXJlbnQgY2hhbm5lbCBjb3VudC4KCjIwMTItMDctMDMgMTc6MjY6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgcHVzaCB0aGUgVE9DIGV2ZW50LCB0aGUgbWVzc2FnZSBpcyBoYW5kbGVkIGJ5IHRoZSBzaW5rcwoKMjAxMi0wNy0wMyAxMjo0Nzo1OCArMDkwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHRlc3RzOiBkbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrKyBzeW1ib2xzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzMDEKCjIwMTItMDctMDMgMDk6Mjc6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBHdGsrIDMuMCBmb3IgdGVzdHMvZXhhbXBsZXMKCjIwMTItMDctMDMgMTI6NTc6MTggKzA5MDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHA6IHJlbW92ZSBzb21lIG91dGRhdGVkIGNvbW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzMDEKCjIwMTItMDYtMjkgMTE6NTE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRlZmF1bHQgdG8gZm9yY2UtYXNwZWN0LXJhdGlvPXRydWUKCjIwMTItMDYtMjggMjA6MDM6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IGFkZCBwdXNoIG1vZGUgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MzE3CgoyMDEyLTA2LTI4IDExOjI5OjU1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBUcnkgdG8gc2VlayB1cHN0cmVhbSBiZWZvcmUgcHJvY2Vzc2luZyBzZWVrIHB1c2ggZXZlbnQKCSAgV2hlbiBpdCByZWNlaXZlcyBhIHNlZWsgaW4gcHVzaCBtb2RlLCB0aGUgcXRkZW11eCBzaG91bGQgZmlyc3QgdHJ5IHRvIHB1c2ggdGhlIGV2ZW50IHVwc3RyZWFtLCBhbmQgb25seSBpZiB1cHN0cmVhbSBmYWlscyBmYWxsIGJhY2sgdG8KCSAgaXRzIG93biBzZWVrIGxvZ2ljLgoKMjAxMi0wNi0yOCAxMTo0NzoyMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogQWxsb3cgZHVyYXRpb24gcXVlcmllcyB0byBiZSBmb3J3YXJkZWQgdXBzdHJlYW0KCSAgV2hlbiByZWNlaXZpbmcgYSBkdXJhdGlvbiBxdWVyeSBmb3IgVElNRSBmb3JtYXQsIHRyeSB0byBxdWVyeSB1cHN0cmVhbSwgYW5kIG9ubHkgaWYgdXBzdHJlYW0gZmFpbHMgZmFsbCBiYWNrIHRvIHF0ZGVtdXggZHVyYXRpb24gaGFuZGxpbmcuCgoyMDEyLTA2LTI4IDExOjU5OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBjbGVhbnVwcwoJICBVc2UgdGhlIGNhcHMgcHJvcGVydGllcyBmb3IgYWxpZ25tZW50IGFuZCBmb3JtYXQuCgkgIFJlbW92ZSBzb21lIG9sZCBwcm9wZXJ0aWVzLCB3ZSBhbHdheXMgd2FudCB0byB1c2UgYnVmZmVybGlzdHMgd2hlbiB3ZSBjYW4gbm93LgoKMjAxMi0wNi0yOCAxMTozMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBwcmVmZXIgQVZDLCBpdCdzIGVhc2llciB0byBwYXJzZSBldGMKCjIwMTItMDYtMjcgMDk6MDk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IG1hcmsgYWxsIG91dHB1dCBmcmFtZXMgYXMga2V5ZnJhbWVzCgoyMDEyLTA2LTI2IDE4OjQ4OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBHc3RUb2MgQVBJIGFkZGl0aW9ucwoKMjAxMi0wNi0yNiAxNzowNDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogc2V0IGludGVybGFjZS1tb2RlCgoyMDEyLTA2LTI2IDEzOjE5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wNi0yNiAxMzowMjoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIFJldmVydCAidjRsMjogZnJlZSBrZXJuZWwgYnVmZmVycyBiZWZvcmUgYWxsb2NhdGluZyBuZXcgb25lcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxYjA5YmM2MDlhNTc4ZTczMWYwZGJjOGY2ZTY5OGUyNWQ4ZjRjNWY4LgoJICBTZWVtcyB0byBtYWtlIGxpYnY0bDIgY29tcGxhaW4sIG1heWJlIGJlY2F1c2Ugd2UgY2FsbCBSRVFCVUZTIHdpdGggMCBidWZmZXJzCgkgIGJlZm9yZSB3ZSBhbGxvY2F0ZWQgYnVmZmVycy4KCjIwMTItMDYtMjYgMTI6MDc6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmcmVlIGtlcm5lbCBidWZmZXJzIGJlZm9yZSBhbGxvY2F0aW5nIG5ldyBvbmVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMjU3CgoyMDEyLTA2LTI2IDEyOjA3OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA2LTI2IDExOjE0OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogc2V0dXAgc3RyaWRlcyBhbmQgb2Zmc2V0cyBmb3IgYWxsIHBsYW5lcwoKMjAxMi0wNi0yNSAyMDoxMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiB1cGRhdGUgZm9yIEdzdFRvY1NldHRlciBjaGFuZ2VzCgoyMDEyLTA2LTI1IDEzOjMxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZXR1cm4gRkFMU0UgZnJvbSBxdWVyaWVzIGlmIHdlIGNhbid0IGFuc3dlciBQT1NJVElPTi9EVVJBVElPTiBxdWVyaWVzCgoyMDEyLTA2LTIxIDE3OjE1OjExICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmV0dXJuIEZBTFNFIGZyb20gVE9DIHF1ZXJ5IGlmIG5vIFRPQyBleGlzdHMgaW5zdGVhZCBvZiBhbiBlbXB0eSBUT0MKCjIwMTItMDYtMjQgMjI6NTE6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgR3N0VG9jIEFQSSBjaGFuZ2VzCgoyMDEyLTA2LTIzIDE0OjU3OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1cGRhdGUgZm9yIGdzdF9lbGVtZW50X21ha2VfZnJvbV91cmkoKSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEyOjMxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHVwZGF0ZSBmb3IgYnVzIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEwOjMzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIHRhc2sgYXBpIGNoYW5nZQoKMjAxMi0wNi0yMCAwOTo1OTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICB1cGRhdGUgZm9yIGNsb2NrIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTE5IDEyOjE1OjMzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvc2luazogcmVzcGVjdCB0aGUgcHJlZmVyZWQgY2hhbm5lbCBsYXlvdXQKCSAgSW4gT1NYIGlzIGFsbG93ZWQgdG8gY29uZmlndXJlIHRoZSBkZWZhdWx0IGF1ZGlvIG91dHB1dCBkZXZpY2UsCgkgIHByZWZlcmVkIGNoYW5uZWwgbGF5b3V0IGFuZCBzcGVha2VyIHBvc2l0aW9ucyB0aHJvdWdoIHRoZSB0b29sCgkgICJBdWRpbyBNSURJIFNldHVwIi4KCjIwMTItMDQtMzAgMjI6NTk6NTggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFNlbmQgZ2FwIGV2ZW50cyBmb3Igc3VidGl0bGUgc3RyZWFtcwoKMjAxMi0wNi0xNyAwMTowMDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IGZpeCB1cCBkb2NzIGZvciAwLjExCgoyMDEyLTA2LTE2IDIzOjI5OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogc21hbGwgdXJpIGhhbmRsZXIgZml4dXAgYW5kIHNvbWUgbW9yZSBkb2NzCgkgIEdldCBVUkkgbG9jYXRpb24gdXNpbmcgZ3N0X3VyaV9nZXRfbG9jYXRpb24oKSwgc28gYW55CgkgIGVzY2FwZWQgYml0cyBnZXQgdW5lc2NhcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MDQ5CgoyMDEyLTA2LTE3IDAwOjU5OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogcmUtcG9ydCB0byAwLjExCgoyMDEyLTA2LTE2IDE5OjA2OjI1ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IEltcGxlbWVudCBzcGxpdGZpbGU6Ly8gVVJJIHNjaGVtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MDQ5CgkgIENvbmZsaWN0czoKCSAgZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYwoKMjAxMi0wNi0xNCAxMDo0Mzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgdGhlb3JhZGVwYXk6IGZpeCBidWZmZXIgbWVtb3J5CgkgIFRoZSBtZW1vcnkgd2FzIGFkZGVkIHRvIHRoZSBpbnB1dCBidWZmZXIgaW5zdGVhZCBvZiB0aGUgb3V0cHV0IGJ1ZmZlci4KCjIwMTItMDYtMTMgMTM6MzY6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHJlc2V0IHRpbWUgaW4gZmx1c2gtc3RvcAoJICBEb24ndCByZXNldCB0aGUgdGltZSBpbiBmbHVzaC1zdG9wLiBMaXZlIHNvdXJjZXMgY2FuIGRvIHRoaXMgZmx1c2ggaW4gdGhlCgkgIHBsYXlpbmcgc3RhdGUgYW5kIHNvIHRoZSBwaXBlbGluZSB3aWxsIG5ldmVyIGhhdmUgYSBjaGFuY2UgdG8gdXBkYXRlIHRoZQoJICBiYXNlX3RpbWUgb2YgdGhlIGVsZW1lbnRzLCB3aGljaCBvbmx5IGhhcHBlbnMgd2hlbiBnb2luZyBmcm9tIHBhdXNlZCB0bwoJICBwbGF5aW5nLgoKMjAxMi0wNi0xMiAxMjo0MjozMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpb3Npbms6IEFkZCBzdXBwb3J0IGZvciBTUERJRiBvdXRwdXQKCSAgQSBiaWcgcmVmYWN0b3JpbmcgdG8gYWxsb3cgcGFzc3Rocm91Z2ggQUMzL0RUUyBvdmVyIFNQRElGLgoJICBTZXZlcmFsIHJhbmRvbSBjbGVhbnVwcyBhbmQgbWlub3IgZml4ZXMuCgoyMDExLTA5LTAxIDE1OjQxOjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IHNlbmQgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgYSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3OTQxCgoyMDEyLTA2LTEyIDE2OjA1OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFJld29yayB0aGUgYXN5bmMgc3RhdGUgaGFuZGxpbmcKCSAgQWx3YXlzIHNlbmQgdGhlIGZsdXNoaW5nIGV2ZW50cyB0byB0aGUgdWRwIGVsZW1lbnRzIG5vdyB0aGF0IGJhc2VzcmMgc3VwcG9ydHMKCSAgdGhpcy4gVGhpcyBtYWtlcyBzdXJlIGEgc2VnbWVudCBldmVudCBpcyBzZW50IGNvcnJlY3RseSBhZnRlciBhIGZsdXNoLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbW1hbmQgYW5kIG1ha2UgaXQgcG9zc2libGUgdG8gc3BlY2lmeQoJICB3aGF0IGNvbW1hbmQgeW91IHdhbnQgdG8gY2FuY2VsIHdoZW4gc3RhcnRpbmcgYSBuZXcgYXN5bmMgY29tbWFuZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc5MDUKCjIwMTItMDYtMTEgMTg6MjQ6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgY2hpbGRwcm94eTogdXBkYXRlIGFwaSB1c2UKCjIwMTItMDYtMTEgMTI6NTQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFsd2F5cyBwZXJmb3JtIGZ1bGwgc2VlayBpZiBzZWVrIGlzIGZsdXNoaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc4MzgKCjIwMTItMDYtMTEgMTE6MjA6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBwcmludGYgZm9ybWF0IGZpeCBmb3IgbG9uZyAtPiBpbnQgY2hhbmdlCgoyMDEyLTA2LTA4IDIwOjM4OjM0ICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBwcm9iZSBVVkMgZGV2aWNlcyBmb3IgYmVpbmcgaW50ZXJsYWNlZAoJICBVVkMgZGV2aWNlcyBhcmUgbmV2ZXIgaW50ZXJsYWNlZCwgYW5kIGRvaW5nIFZJRElPQ19UUllfRk1UIG9uIHRoZW0KCSAgY2F1c2VzIGV4cGVuc2l2ZSBhbmQgc2xvdyBVU0IgSU8sIHNvIGRvbid0IHByb2JlIHRoZW0gZm9yIGludGVybGFjZWQuCgkgIFRoaXMgc2hhdmVzIDIgc2Vjb25kcyBvZiB0aGUgc3RhcnR1cCB0aW1lIG9mIGNoZWVzZSB3aXRoIGEgTG9naXRlY2gKCSAgV2ViY2FtIFBybyA5MDAwLgoJICBTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NzIyCgoyMDEyLTA2LTA5IDE2OjUzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgZGVidWc6IGNoYW5nZSBybmRidWZmZXJzaXplIHByb3BlcnRpZXMgZnJvbSBsb25nIHRvIGludAoJICBUaGVzZSBzaG91bGQgYWxsIGJlIGludCBpbnN0ZWFkIG9mIGxvbmcsIHRvIGF2b2lkIGJ1Z3MKCSAgd2hlbiBwYXNzaW5nIHRoZXNlIGFzIHZhcmFyZ3Mgd2l0aCBnX29iamVjdF9zZXQoKSwgYW5kCgkgIHRoZXJlIHdhcyBubyByZWFzb24gdG8gdXNlIGxvbmcgaW4gdGhlIGZpcnN0IHBsYWNlIGhlcmUuCgkgIEZpeGVzIEZJWE1FLgoKMjAxMi0wNi0wOCAxNTo1NDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgZWxlbWVudHM6IFVzZSBnc3RfcGFkX3NldF9jYXBzKCkgaW5zdGVhZCBvZiBtYW51YWwgZXZlbnQgZmlkZGxpbmcKCjIwMTItMDYtMDggMTU6MDQ6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwM2EwZTU3IHRvIDk4ZTM4NmYKCjIwMTItMDYtMDggMTA6MTE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHVwZGF0ZSBmb3IgYXVkaW8gYXBpIGNoYW5nZQoKMjAxMi0wNi0wNyAxNjoxMjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTIgPT09CgoyMDEyLTA2LTA3IDE2OjEyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MgoKMjAxMi0wNi0wNyAxNjoxMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNi0wNyAxNTowMzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogaW1wcm92ZSBjbG9jayBoYW5kbGluZwoJICBQb3N0IHRoZSBub3RpZnkgb3V0c2lkZSBvZiB0aGUgcGFfbG9jayB0byBhdm9pZCBhIGRlYWRsb2NrIGNhdXNlZCBieSBiYXNlc3JjCgkgIGNhbGxpbmcgZ2V0X3RpbWUgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFJlc2V0IHRoZSBjbG9jayBvbiBjb25uZWN0LgoJICBQb3N0IGNsb2NrLWxvc3QgYW5kIGNsb2NrLXByb3ZpZGUgbWVzc2FnZXMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5NzcKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoKMjAxMi0wNC0xMiAxMzoyMToxNyArMDMwMCAgTW9oYW1tZWQgU2FtZWVyIDxtc2FtZWVyQGZvb2xhYi5vcmc+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgQmV0dGVyIEdzdENsb2NrIGZvciBwdWxzZXNyYwoJICBUaGlzIGNsb2NrIHVzZXMgdGhlIGFjdHVhbCBzdHJlYW0gdGltZSAocGFfc3RyZWFtX2dldF90aW1lKSB0byBnZXQgYSBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcC4KCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoKMjAxMi0wNi0wNyAxMToxNjo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmc6IGZpeCB2aWRlbyBzdGF0ZSBsZWFrcwoKMjAxMi0wNi0wNyAxMToxNjozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB2aWRlbyBzdGF0ZSBsZWFrCgoyMDEyLTA2LTA3IDEyOjExOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IHJlc2V0IHRoZSBtYW5hZ2VyIG9iamVjdCB3aGVuIHdlIGRpZCBhIHNlZWsKCSAgT25seSByZXNldCB0aGUgbWFuYWdlciBvYmplY3Qgd2hlbiB3ZSB1c2VkIGEgUmFuZ2UgaGVhZGVyLCBpZS4gd2hlbiB3ZSBkaWQgYQoJICBzZWVrLiBPdGhlcndpc2Ugd2UganVzdCBwYXVzZWQgYW5kIHdlIGNhbiByZXN1bWUganVzdCBmaW5lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NDc1CgoyMDEyLTA2LTA2IDE2OjEzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgcnRwc2Vzc2lvbiBjbGVhbnVwCgoyMDEyLTA2LTA2IDE4OjE4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWZhYjM1OSB0byAwM2EwZTU3CgoyMDEyLTA2LTA2IDE0OjE3OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVcGRhdGUgZm9yIFRPQyBldmVudCBBUEkgY2hhbmdlCgoyMDEyLTA2LTA2IDEzOjAyOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wNiAxMzowMDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgZml4IFk4MDAgZm9ybWF0CgoyMDEyLTA2LTAxIDAxOjE5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiBzdHJhaWdodGZvcndhcmQgcG9ydCB0byAwLjExCgoyMDEyLTA1LTMxIDE4OjM5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgU29tZSBwcmludGYgdmFyaWFibGUgZm9ybWF0IGZpeGVzCgkgIFRoZSBvc3ggY29tcGlsZXIgY29tcGxhaW5zIGFib3V0IHRob3NlCgoyMDEyLTA2LTA1IDA5OjE4OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEZpeCBHc3RCYXNlUGFyc2U6OmdldF9zaW5rX2NhcHMoKSBpbXBsZW1lbnRhdGlvbnMKCSAgVGhleSBzaG91bGQgdGFrZSB0aGUgZmlsdGVyIGNhcHMgaW50byBhY2NvdW50IGFuZCBhbHdheXMgcmV0dXJuCgkgIHRoZSB0ZW1wbGF0ZSBjYXBzIGFwcGVuZGVkIHRvIHRoZSBhY3R1YWwgY2Fwcy4gT3RoZXJ3aXNlIHRoZQoJICBwYXJzZXJzIHN0b3AgdG8gYWNjZXB0IHVucGFyc2VkIHN0cmVhbXMgd2hlcmUgdXBzdHJlYW0gZG9lcyBub3QKCSAga25vdyBhYm91dCBjaGFubmVscywgcmF0ZSwgZXRjLgoJICBGaXhlcyBidWcgIzY3NzQwMS4KCjIwMTItMDYtMDQgMTY6MTc6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHNldCBjb2xvcmltZXRyeSBvbiBvdXRwdXQgaW5mbwoKMjAxMi0wNi0wNCAwODoxMDoxNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9zaW5rOiBIYW5kbGUgZW5kaWFubmVzcyBjb3JyZWN0bHkKCjIwMTItMDYtMDEgMTY6Mzc6MDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgaW50IGF1ZGlvCgoyMDEyLTA2LTAxIDEwOjI4OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjFiNWE5NiB0byAxZmFiMzU5CgoyMDEyLTA1LTMxIDEzOjM2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCB0aGUgcGFsZXR0ZSBzaXplIGNvcnJlY3RseQoKMjAxMi0wNS0zMSAxMDoxNTo0MyArMDIwMCAgTWljaGFlbCBKb25lcyA8bWljaGFlbC5qb25lc0BtYXRyaXgtdmlzaW9uLmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgIHY0bDI6IGFkZCBtaXNzaW5nIEdfRU5EX0RFQ0xTCgkgIEdfQkVHSU5fREVDTFMgZGlkbid0IGhhdmUgbWF0Y2hpbmcgR19FTkRfREVDTFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzE2NQoKMjAxMi0wNS0zMSAxMzowODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkyYjcyNjYgdG8gZjFiNWE5NgoKMjAxMi0wNS0zMSAxMDoyNjoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IFJlYWxseSBmaXggdGhlIGJ1aWxkIG9uIDEwLjUKCSAgVGhlIEFQSSB0aGF0IHdlIHVzZSB0byBydW4gdGhlIENvY29hIGxvb3AgaW4gYW5vdGhlcgoJICB0aHJlYWQgZG9lcyBub3QgZXhpc3QgaW4gMTAuNSBvciBlYXJsaWVyLgoKMjAxMi0wNS0yNiAxMjoyMToxOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCByYWNlIGluIHN0YXJ0aW5nIHRoZSBydW5sb29wIHRocmVhZAoJICBCbG9jayBnc3Rfb3N4X3ZpZGVvX3NpbmtfcnVuX2NvY29hX2xvb3AgdW50aWwgdGhlIGxvb3AgdGhyZWFkIGhhcyBzdGFydGVkIGFuZAoJICBmaW5pc2hlZCBpbml0aWFsaXppbmcgTlNBcHAuIEZpeGVzIG9jY2FzaW9uYWwgd2FybmluZ3MvY3Jhc2hlcyBkdWUgdG8gdHdvCgkgIHRocmVhZHMgZ29pbmcgaW5zaWRlIE5TQXBwIGJlZm9yZSBmaW5pc2hMYXVuY2hpbmcgaGFkIGNvbXBsZXRlZC4KCjIwMTItMDUtMzAgMTY6MDM6NTUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggbGFzdCBjb21taXQgdG8gYWN0dWFsbHkgd29yawoJICBNQUNfT1NfWF9WRVJTSU9OXzEwXzYgaXMgb2J2aW91c2x5IG5vdCBkZWZpbmVkIG9uIDEwLjUuCgoyMDEyLTA1LTMwIDEzOjUxOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW9zaW5rOiBQdXQgdGhlIHJpZ2h0IGZsYWdzIGluIHRoZSByaWdodCB2YXJpYWJsZQoKMjAxMi0wNS0zMCAxMzoyNDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEdTVF9PQkpDRkxBR1MKCjIwMTItMDUtMzAgMTI6NDU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzFjNGE4IHRvIDkyYjcyNjYKCjIwMTItMDUtMzAgMTI6NDM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IE5TV2luZG93RGVsZWdhdGUgaXMgYXZhaWxhYmxlIGluIGFsbCBPU1ggdmVyc2lvbnMgbmV3ZXIgdGhhbiAxMC42CgoyMDEyLTA1LTMwIDEyOjQwOjU3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogRml4IGJ1aWxkIHdpdGggb2xkZXIgT1NYIHZlcnNpb25zCgoyMDEyLTA1LTMwIDExOjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IEFkZCBPQkpDIHNwZWNpZmljIGNvbXBpbGVyIGZsYWdzCgkgIFNlZSBidWcgIzY0MzkzOS4KCjIwMTItMDUtMzAgMTE6MjM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNDI5YmE2IHRvIGVjMWM0YTgKCjIwMTItMDUtMjkgMTc6NTA6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlbzogcmVtb3ZlIGR1cGxpY2F0ZSBmb3JtYXQKCjIwMTItMDUtMjkgMTY6NTI6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUG9zdCBlcnJvciBtZXNzYWdlIGlmIEVPUyBiZWZvcmUgcGFkcyB3ZXJlIGNyZWF0ZWQKCSAgSGFwcGVucyB3aXRoIHNvbWUgZmlsZXMgd2l0aCBvbmx5IGhlYWRlcnMKCjIwMTItMDUtMjggMTU6MjI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMTQgMTI6NDY6NTcgKzAyMDAgIEplbnMgR2VvcmcgPG1haWxAamVuc2dlLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IERyb3AgdHJhbnNmZXJNb2RlLmRsbmEub3JnIGhlYWRlcgoJICBMZWF2ZSBpdCB0byB0aGUgYXBwbGljYXRpb24gdG8gZGVjaWRlIG9uIHRoZSBoZWFkZXIuIE5vIGhlYWRlciBhdCBhbGwKCSAgaXMgYmV0dGVyIHRoYW4gaGF2aW5nIHRoZSB3cm9uZyBoZWFkZXIgYXMgRExOQSBtYW5kYXRlcyB0aGF0IGEgbWlzc2luZwoJICBoZWFkZXIgaGFzIHRvIGJlIHRvbGVyYXRlZCB3aGlsZSBhIHdyb25nIGhlYWRlciBpcyBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjAyMAoKMjAxMi0wNC0wNyAwOTo1MjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmc6IFBvcnQgdG8gYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5oCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmMKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuaAoJICBSZXZlcnRlZCB0byAwLjEwLCBuZWVkcyB0byBiZSBwb3J0ZWQgYWdhaW4uCgoyMDEyLTA1LTI3IDAwOjAyOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBmbHYsIG1hdHJvc2thOiBkb24ndCB1c2UgR3N0U3RydWN0dXJlIEFQSSBvbiB0YWcgbGlzdHMKCjIwMTItMDUtMjYgMTE6NTc6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgcnRwbXAydGRlcGF5OiBPbmx5IG91dHB1dCBpbnRlZ3JhbCBtcGVnLXRzIHBhY2tldHMKCSAgRnJvbSBSRkMgMjI1MAoJICAyLiBFbmNhcHN1bGF0aW9uIG9mIE1QRUcgU3lzdGVtIGFuZCBUcmFuc3BvcnQgU3RyZWFtcwoJICAuLi4KCSAgRm9yIE1QRUcyIFRyYW5zcG9ydCBTdHJlYW1zIHRoZSBSVFAgcGF5bG9hZCB3aWxsIGNvbnRhaW4gYW4gaW50ZWdyYWwKCSAgbnVtYmVyIG9mIE1QRUcgdHJhbnNwb3J0IHBhY2tldHMuICBUbyBhdm9pZCBlbmQgc3lzdGVtCgkgIGluZWZmaWNpZW5jaWVzLCBkYXRhIGZyb20gbXVsdGlwbGUgc21hbGwgTVRTIHBhY2tldHMgKG5vcm1hbGx5IGZpeGVkCgkgIGluIHNpemUgYXQgMTg4IGJ5dGVzKSBhcmUgYWdncmVnYXRlZCBpbnRvIGEgc2luZ2xlIFJUUCBwYWNrZXQuICBUaGUKCSAgbnVtYmVyIG9mIHRyYW5zcG9ydCBwYWNrZXRzIGNvbnRhaW5lZCBpcyBjb21wdXRlZCBieSBkaXZpZGluZyBSVFAKCSAgcGF5bG9hZCBsZW5ndGggYnkgdGhlIGxlbmd0aCBvZiBhbiBNVFMgcGFja2V0ICgxODgpLgoJICAuLi4uCgkgIFNpbmNlIGl0IG5lZWRzIHRvIGNvbnRhaW4gImFuIGludGVncmFsIG51bWJlciBvZiBNUEVHIHRyYW5zcG9ydCBwYWNrZXRzIiwgYQoJICBzaW1wbGUgZml4IGlzIHRvIGNoZWNrIHRoYXQncyB0aGUgY2FzZSwgYW5kIHN0cmlwIG9mZiBhbnkgbGVmdG92ZXIgZGF0YS4KCSAgRml4ZXMgIzY3Njc5OQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmMKCjIwMTItMDUtMjQgMjA6NDM6MTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IG1ha2Ugc3VyZSBhbGwgc2VsZWN0b3JzIGFyZSBwZXJmb3JtZWQgb24gdGhlIHNhbWUgdGhyZWFkCgkgIFdoZW4gd2UgYXJlIHVzaW5nIGEgZGVkaWNhdGVkIHRocmVhZCB0byBydW4gdGhlIG1haW4gcnVuIGxvb3Agd2UKCSAgbXVzdCBtYWtlIHN1cmUgdGhhdCBhbGwgc2VsZWN0b3JzIGFyZSBwZXJmb3JtZWQgb24gdGhpcyBzYW1lIHRocmVhZC4KCSAgRm9yIGluc3RhbmNlIGlmIHBlcmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZCBpcyBjYWxsZWQgZnJvbSB0aGUgcmVhbAoJICBtYWluIHRocmVhZCwgaXQgd2lsbCBub3QgZ28gdGhyb3VnaCB0aGUgbWVzc2FnZSBxdWV1ZSBhbmQgd2lsbCBiZQoJICBleGVjdXRlZCBmcm9tIHRoZSByZWFsIG1haW4gdGhyZWFkLiBCeSBmb3JjaW5nIHRoZSB0YXJnZXQgdGhyZWFkLAoJICB3ZSBlbnN1cmUgdGhhdCBhbGwgZnVuY3Rpb25zIHdpbGwgYmUgY2FsbGVkIGVpdGhlciBmcm9tIHRoZSByZWFsCgkgIG1haW4gdGhyZWFkIHdoZW4gdGhlIG1haW4gcnVuIGxvb3AgaXMgcnVubmluZyBvciBmcm9tIG91ciB0aHJlYWQKCSAgc3Bpbm5pbmcgdGhlIG1haW4gbG9vcC4KCjIwMTItMDUtMjQgMTY6MDk6NTQgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhcy5oYXNzZWxtYW5uIGF0IGdteC5kZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVtb3ZlIGZyYW1lcmF0ZQoJICBUaGUganBlZyBkZWNvZGVyIGRvZXNuJ3QgbmVlZC9jYXJlIGFib3V0IHRoZSBmcmFtZXJhdGUgdG8gc28gaXQgc2hvdWxkCgkgIG5vdCBiZSBpbiB0aGUgY2Fwcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNS0yNCAxMzowODozNSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBzdGFydCB0aGUgbG9vcCBiZWZvcmUgY2FsbGluZyBbZ3N0dmlldyBoYXZlU3VwZXJ2aWV3XQoJICAuLi5hcyBoYXZlU3VwZXJ2aWV3IHJlcXVpcmVzIHRoZSBtYWlubG9vcCB0byBiZSBydW5uaW5nCgoyMDEyLTA1LTI0IDEzOjA4OjEzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBpbmRlbnRhdGlvbgoKMjAxMi0wNS0yMiAxNjo0NzozNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW9zaW5rOiBlbmFibGUgcnVubmluZyB0aGUgY29jb2EgbWFpbiBydW5sb29wIGluIGEgdGhyZWFkCgoyMDEyLTA1LTIyIDE2OjQ1OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWRkIGNvZGUgdG8gb3B0aW9uYWxseSBydW4gdGhlIGNvY29hIG1haW4gcnVubG9vcCBpbiBhIHNlcGFyYXRlIHRocmVhZAoJICBBZGQgYSBsaXR0bGUgaGFjayB0byBydW4gdGhlIGNvY29hIG1haW4gcnVubG9vcCBmcm9tIGEgc2VwYXJhdGUgdGhyZWFkIF93aGVuXwoJICB0aGUgbWFpbiBydW5sb29wIGlzIG5vdCBiZWluZyBydW4gKHdoaWNoIG1lYW5zIHRoYXQgdGhlIGFwcCBkb2Vzbid0IHVzZSBjb2NvYSkuCgkgIFJ1bmxvb3BzIGFyZSB0aHJlYWQgc3BlY2lmaWMsIHNvIHRoZSBoYWNrIGJvaWxzIGRvd24gdG8gZ2V0dGluZyB0aGUgcnVubG9vcCBmb3IKCSAgdGhlIG1haW4gdGhyZWFkIGFuZCBzZXR0aW5nIGl0IGFzIHRoZSBydW5sb29wIGZvciBvdXIgZGVkaWNhdGVkIHRocmVhZC4KCjIwMTItMDUtMjIgMTY6MzI6NTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVzZXQgYXBwX3N0YXJ0ZWQgdG8gRkFMU0Ugd2hlbiBzaHV0dGluZyBkb3duCgoyMDEyLTA1LTIyIDE0OjQ5OjE3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlbmFtZSBjb2NvYSBydW5sb29wIGhlbHBlciBmdW5jcwoKMjAxMi0wNS0yMiAxNDoyNjoxMyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBkb24ndCBjcmVhdGUgYXBwbGljYXRpb24gbWVudXMKCjIwMTItMDUtMTYgMjE6NTI6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZXNldCB0aGUgZW1iZWQgcHJvcGVydHkgZm9yIGJhY2t3YXJkIGNvbXBhdGlsaWJpdHkKCjIwMTItMDUtMTYgMjE6MTI6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggbmF2aWdhdGlvbiB3aGVuIGZvcmNlLWFzcGVjdC1yYXRpbyBpcyBhY3RpdmF0ZWQKCjIwMTItMDUtMTYgMTg6NTI6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkZCBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkKCjIwMTItMDUtMTQgMTg6MDE6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHN0YXJ0IGludGVybmFsIHdpbmRvdyBpZiBubyB2aWV3IGlzIHByb3ZpZGVkCgoyMDEyLTA1LTE0IDE0OjI3OjU4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogaW1wbGVtZW50IHRoZSBuYXZpZ2F0aW9uIGludGVyZmFjZQoKMjAxMi0wNS0xMSAxODoyNDowOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3ZpZGVvc2luazogY3JlYXRlLCBkZXN0cm95LCByZXNpemUgYW5kIGRyYXcgZnJvbSB0aGUgbWFpbiB0aHJlYWQKCjIwMTItMDQtMTkgMDg6Mzc6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGluY3JlYXNlIE5FV1NFR01FTlQgYWNjdXJhY3kgYWZ0ZXIgc2Vla2luZwoJICBkZW11eC0+Y29tbW9uLnNlZ21lbnQgaXMgcG9wdWxhdGVkIGR1cmluZyBzZWVrIGhhbmRsaW5nIHdpdGggdGhlIHRhcmdldAoJICBzdGFydC9zdG9wIHBvc2l0aW9ucy4gRG9uJ3Qgb3ZlcnJpZGUgdGhlbSB3aGVuIHNlbmRpbmcgb3V0IGEgTkVXU0VHTUVOVC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNC0xOSAwODozMTowMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgZGlzY2FyZCB0aGUgaW5jb21pbmcgc2VlayBzZWdtZW50IG9uIHB1c2ggYmFzZWQgc2Vla2luZwoJICBUaGUgaW5jb21pbmcgc2VlayBzZWdtZW50IHdhcyBiZWluZyBkaXNjYXJkZWQgbGVhZGluZyB0byBwdXNoIGJhc2VkIHNlZWtpbmcKCSAgYmVpbmcgcG90ZW50aWFsbHkgaW5hY2N1cmF0ZS4KCjIwMTItMDUtMjMgMTg6MTI6MjQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogY29tbW9uOgoJICBjb21tb246IFVwZGF0ZSBzbyB0aGUgcGx1Z2luIHNjYW5uZXIgY2hhbmdlcyBhcmUgaW5jbHVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3NAoKMjAxMi0wNS0yMyAxODowNzozNSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3VwcHJlc3Mgc29tZSB3YXJuaW5ncyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkCgkgIFdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJpYWJsZXMgc2hvdWxkIGJlIHN1cHByZXNzZWQgaWYgY29yZSBoYXMgdGhlCgkgIGRlYnVnIHN5c3RlbSBkaXNhYmxlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3MQoKMjAxMi0wNS0yNCAwOToyOToyNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IGZpeCBidWlsZCBpc3N1ZSBpbiBnc3RydHBoMjY0cGF5LmMKCjIwMTItMDUtMjEgMTI6MTc6MzUgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEFkZCB1bnJlc3RyaWN0ZWQgY2FwcwoJICBJZiB0aGVyZSBhcmUgbm8gcHJvZmlsZSByZXN0cmljdGlvbnMgZG93bnN0cmVhbSwgcmV0dXJuIGNhcHMgd2l0aAoJICBwcm9maWxlPWNvbnN0cmFpbmVkLWJhc2VsaW5lIGluIHRoZSBmaXJzdCBzdHJ1Y3R1cmUgYW5kIGFwcGVuZAoJICB1bnJlc3RyaWN0ZWQgY2FwcyBhcyB0aGUgbGFzdCBzdHJ1Y3R1cmUuCgkgIEZpeGVzIGJ1ZyAjNjcyMDE5CgoyMDEyLTA1LTI0IDA5OjU3OjMxICswMjAwICBNYXJpYSBHaW92YW5uYSBDaGlvc3NhIDxtYXJpYWdpb3Zhbm5hLmNoaW9zc2EgYXQgc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGFkZCB0aGUgU2NhbGUgaGVhZGVyIHdoZW4gbmVlZGVkCgkgIFNldHRpbmcgR1NUX1NFRUtfRkxBR19TS0lQIHdoZW4gc2VuZGluZyBhIHNlZWsgZXZlbnQgaW4gcnRzcHNyYyBzaG91bGQKCSAgc2V0IHRoZSAiU2NhbGUiIGZpZWxkIGluIHRoZSBydHNwIFBMQVkgaGVhZGVyLgoJICBCZWNhdXNlIHRoZSBib29sZWFuICJzcmMtPnNraXAiIGlzIHNldCBhZnRlciB0aGUgY2FsbCwgIlNwZWVkIiBpbnN0ZWFkCgkgIG9mICJTY2FsZSIgaXMgYWx3YXlzIHNldC4gTW92ZSB0aGUgYXNzaWdubWVudCBiZWZvcmUgaXNzdWluZyB0aGUgX3BsYXkKCSAgcmVxdWVzdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjYxOAoKMjAxMi0wNS0xNyAxNjoyMzo1OSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggdGhlIHNhbXBsZSBwaXBlbGluZS4KCjIwMTItMDUtMjIgMTI6MzU6MDQgKzA0MDAgIEFudG9uIE5vdmlrb3YgPHJhbmRvbS5wbGFudEBnbWFpbC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHdhcm5pbmcgaWYgc2V0dGluZyBzcmNwYWQgY2FwcyBmYWlscwoKMjAxMi0wNS0yMiAxMjozNToyOSArMDQwMCAgQW50b24gTm92aWtvdiA8cmFuZG9tLnBsYW50QGdtYWlsLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogYWN0aXZhdGUgc3JjcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgQmVmb3JlIGdzdF9wYWRfc2V0X2FjdGl2ZSgpIGlzIGNhbGxlZCwgdGhlIHBhZCBoYXMKCSAgRkxVU0hJTkcgZmxhZyBzZXQsIHNvIHNldHRpbmcgdGhlIGNhcHMgZmFpbHMKCjIwMTItMDUtMjIgMTM6NDY6MjcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkgIG1uZzogcmVtb3ZlIGV4dC9saWJtbmcKCSAgUG9ydCB0byAwLjEwIHdhcyBuZXZlciBmaW5pc2hlZC4KCSAgSW50ZXJlc3Qgd2FzIGxvc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQzNjQKCjIwMTItMDUtMTggMTY6Mzc6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZml4IGFzc2VydGlvbiB3aGVuIGhhbmRsaW5nIGEgZGF0ZSB0YWcgYXMgYSBzdHJpbmcKCSAgRGF0ZSB0YWdzIGFyZSBHRGF0ZSwgbm90IHN0cmluZ3MuIEFkZCBhIHNwZWNpYWwgY2FzZSB0byBjb252ZXJ0CgkgIGl0IHRvIHRoZSBleGlmIGRhdGUgZm9ybWF0IHJlcHJlc2VudGF0aW9uIGluIHN0cmluZyB0byBhdm9pZAoJICB0aGUgYXNzZXJ0aW9uCgoyMDEyLTA1LTIxIDExOjQ3OjA3ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IExpc3RlbiB0byBzb3VyY2Ugb3V0cHV0IGV2ZW50cywgbm90IHNpbmsgaW5wdXQKCjIwMTItMDUtMTggMTI6NTM6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cG1wMnRwYXk6IHJlc3BlY3QgbXR1IGFuZCBwYWNrZXQgYm91bmRhcmllcwoJICBTZWUgIzY1OTkxNS4KCjIwMTItMDUtMTggMTE6MTA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnOiBSZW1vdmUgZGVhZCBjb2RlCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgoyMDEyLTA1LTE4IDExOjA1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IGNvbXBpbGF0aW9uCgoyMDEyLTA1LTE4IDExOjAyOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogV2hlbiBkcm9wcGluZyBmcmFtZXMgb24gRU9TLCBmbHVzaCBvdXQgZGF0YQoJICBDbGVhbmVyIHdheSBvZiBoYW5kbGluZyBzdHJheSBkYXRhCgoyMDEyLTA1LTE3IDA5OjM0OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgoyMDEyLTA1LTE3IDA5OjMzOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogT25seSBwYXJzZSBmb3IgU09JIHdoZW4gd2UgZGlkbid0IHNlZSBpdCBiZWZvcmUKCjIwMTItMDUtMTcgMDk6MzE6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBSZW1lbWJlciBpZiB3ZSBzYXcgU09JIGFuZCBoYW5kbGUgc3RyYXkgZGF0YSBvbiBFT1MKCjIwMTItMDUtMTUgMjA6NTg6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWxsb3cgVSBhbmQgViBjb21wb25lbnRzIHRvIHVzZSBkaWZmZXJlbnQgcXVhbnQgdGFibGVzIGlmIHRoZXkgY29udGFpbiB0aGUgc2FtZSBkYXRhCgkgIFRoaXMgYWxsb3dzIHNvbWUgY2FtZXJhcyAoTG9naXRlY2ggQzkyMCkgdGhhdCBzcGVjaWZ5IGRpZmZlcmVudCBxdWFudAoJICB0YWJsZXMgYnV0IGJvdGggd2l0aCB0aGUgc2FtZSBkYXRhLCB0byB3b3JrLgoJICBCdWcgcmVwb3J0ZWQgYnkgUm9iZXJ0IEtyYWtvcmEKCjIwMTItMDUtMTQgMTU6NTE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBwb3NzaWJsZSBkYXRhIGNvcnJ1cHRpb24gYWZ0ZXIgc2Vla2luZwoJICBDb25zaWRlciBhIGRvd25zdHJlYW0gZWxlbWVudCB0aGF0IG1heSBpc3N1ZSBzZWVrcyBpbiB2ZXJ5IHNob3J0CgkgIHN1Y2Nlc3Npb24gKGUuZy4gcXVldWUyKSwgZGVwZW5kaW5nIG9uIHRoZSBhY2Nlc3MgcGF0dGVybiBvZgoJICB0aGUgZG93bnN0cmVhbSBlbGVtZW50IChlLmcuIHF0ZGVtdXggd2l0aCBhdWRpby92aWRlbyBjaHVua3MKCSAgaW50ZXJsZWF2ZWQgc28gdGhhdCB0aGVyZSdzIGFsd2F5cyBhIHNpemVhYmxlIGdhcCBiZXR3ZWVuIHRoZQoJICBjdXJyZW50IGNodW5rcyBmb3IgZWFjaCBzdHJlYW0pLiBJbiB0aGlzIGNhc2UsIHF1ZXVlMiB3aWxsIG1haW50YWluCgkgIHR3byByYW5nZXMsIGFuZCBldmVuIHdoZW4gaXQgc2VydmVzIGEgY2h1bmsgZnJvbSBtZW1vcnksIGl0IHdpbGwKCSAgc3dpdGNoIHJhbmdlcyBhbmQgbWFrZSBzb3VwaHR0cHNyYyBzZWVrIHRvIHRoZSBlbmQgb2YgdGhlIGF2YWlsYWJsZQoJICBkYXRhIGZvciB0aGF0IHJhbmdlLCBhc3N1bWluZyB0aGF0IHRoYXQncyB3aGVyZSB3ZSdsbCB3YW50IHRvCgkgIGNvbnRpbnVlIHJlYWRpbmcgZnJvbSBuZXh0LgoJICBUaGlzIG1heSBsZWFkIHRvIHRoZSBmb2xsb3dpbmcgc2VlayByZXF1ZXN0IHBhdHRlcm46CgkgIC0gc291cmNlIHJlYWRpbmcgcG9zaXRpb24gQQoJICAtIHNlZWsgdG8gQgoJICAtIG5vdyByZWFkaW5nIHBvc2l0aW9uIHN0aWxsIEEsIHJlcXVlc3RlZF9wb3N0aW9uIGlzIEIKCSAgLSBzdHJlYW1pbmcgdGhyZWFkIHRvIGJlIHJlc3RhcnRlZCB0byBjb250aW51ZSBmcm9tIEIKCSAgLSBzZWVrIHRvIEEsIGJlZm9yZSBzdHJlYW1pbmcgdGhyZWFkIGhhZCB0aW1lIHRvIGRvIHRoZSBzZWVrCgkgIC0gZG9fc2VlaygpIG5vdyBzZWVzIHJlYWRpbmcgcG9zaXRpb24gPT0gc2VlayBwb3NpdGlvbiBhbmQKCSAgcmV0dXJucyBlYXJseS4KCSAgLSBob3dldmVyLCByZXF1ZXN0ZWQgcG9zaXRpb24gaXMgc3RpbGwgQiBmcm9tIHRoZSBlYXJsaWVyCgkgIHNlZWsgcmVxdWVzdAoJICAtIHN0cmVhbWluZyB0aHJlYWQgc3RhcnRzIHVwLCBzZWVzIHRoYXQgYSBzZWVrIHRvIEIgaXMgcGVuZGluZwoJICBhbmQgcmVxdWVzdHMgZGF0YSBmcm9tIEIgZnJvbSB0aGUgc2VydmVyLCB3aGlsZSB0aGUgR3N0QmFzZVNyYwoJICBzZWdtZW50IGhhcyBvZiBjb3Vyc2UgYmVlbiB1cGRhdGVkL3Jlc2V0IHRvIHBvc2l0aW9uIEEsIHdoaWNoCgkgIHdhcyB0aGUgbGFzdCBzZWVrIHJlcXVlc3QuCgkgIC0gd2Ugd2lsbCBub3cgc2VuZCBkYXRhIGZvciBwb3NpdGlvbiBCIGFuZCBwcmV0ZW5kIHRoYXQncyB0aGUKCSAgZGF0YSBmcm9tIHBvc2l0aW9uIEEgKHZpYSB0aGUgbmV3c2VnbWVudCBldmVudCwgZXRjLikKCSAgLSB0aGlzIGNhdXNlcyBkYXRhIGNvcnJ1cHRpb24KCSAgUmVwcm9kdWNpYmxlIGRvaW5nIHNlZWstZW11bGF0ZWQgZmFzdC1mb3J3YXJkL2JhY2t3YXJkIG9uIDAwNjY0OC4KCjIwMTItMDUtMTYgMDk6MTI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZS9iYXNlIDAuMTEuOTEKCjIwMTItMDEtMTMgMTg6MDk6NTAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBhZGQgdmlzdWFsIHN0dWRpbyBJREUgZmlsZXMgYW5kIE9TIFggLkRTX1N0b3JlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4OTkKCjIwMTItMDUtMDMgMDk6MzI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDQtMDYgMTI6MTM6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBQb3J0IGpwZWdkZWMvanBlZ2VuYyB0byBiYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5oCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYwoJICBleHQvanBlZy9nc3RqcGVnZW5jLmgKCSAgUmV2ZXJ0ZWQgdG8gMC4xMCB2ZXJzaW9ucyBmb3Igbm93LCBuZXh0IHBvcnQgYWdhaW4uCgoyMDEyLTA1LTEzIDE5OjIxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4Lmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgYW5ub2RleDogcmVtb3ZlIGFubm9kZXggcGx1Z2luIGFuZCBDTU1MIGVsZW1lbnRzCgkgIFRoaXMgbmV2ZXIgcmVhbGx5IHRvb2sgb2ZmIGFuZCBpcyBtb3N0IGxpa2VseSBjb21wbGV0ZWx5CgkgIHVudXNlZC4gSWYgdGhlcmUgaXMgc3RpbGwgYSBuZWVkIGZvciB0aGlzLCBpdCBzaG91bGQKCSAgcHJvYmFibHkgYmUgZG9uZSBkaWZmZXJlbnRseSwgcGVyaGFwcyBpbnNpZGUgb2dnZGVtdXgvbXV4LgoKMjAxMi0wNS0xMyAxNjo1OTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTEgPT09CgoyMDEyLTA1LTEzIDE2OjMxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTEKCjIwMTItMDUtMTMgMTY6MzA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDUtMTMgMTU6NTY6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMDkgMTU6MTQ6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBvbmx5IHNlbmQgZmx1c2gtc3RvcCBpZiBpdCB3YXMgYSBmbHVzaGluZyBzZWVrCgoyMDEyLTA1LTA5IDEyOjU0OjExICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCB2NGwyX3N0ZF9pZCBsb2dnaW5nCgkgIGlucHV0LnN0ZCBpcyBvZiB0eXBlIHY0bDJfc3RkX2lkIHdoaWNoIGlzIGRlZmluZWQgYXMgNjQtYml0IHVuc2lnbmVkIGludGVnZXIuCgkgIENhc3RpbmcgdG8gdWludCBtZWFucyB0aGUgaGlnaGVyIGJpdHMsIHdpY2ggYXJlIHVzZWQgZm9yIHRoZSBwcml2YXRlIHZpZGVvCgkgIHN0YW5kYXJkcyBvZiB0aGUgVEkgdmlkZW8gY2FwdHVyZS9kaXNwbGF5IGRyaXZlciBmb3IgZXhhbXBsZSwgYXJlIGxvc3QuCgoyMDEyLTA1LTA5IDEyOjI0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogbXVzdCBzZW5kIGZsdXNoLXN0b3AgYWZ0ZXIgYWNxdWlyaW5nIHRoZSBzdHJlYW0gbG9jawoJICBPdGhlcndpc2UgdGhlIHN0cmVhbWluZyB0aHJlYWQgbWlnaHQganVzdCBrZWVwIG9uIGdvaW5nIGFuZCB3ZQoJICBtaWdodCBuZXZlciBnZXQgdGhlIHN0cmVhbSBsb2NrLgoKMjAxMi0wNS0wOSAxMToxNToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IHBvcnQgc2Vla2luZyBjb2RlIHRvIDAuMTEKCjIwMTItMDUtMDggMTk6MDc6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBhZGQgc3VwcG9ydCBmb3Igc2Vla3MKCSAgVXNlZnVsIGZvciBlLmcuIGZpbGVzcmMgISBybmRidWZmZXJzaXplICEgcXVldWUyICEgLi4uCgoyMDEyLTA1LTA4IDE4OjQ1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogc2VuZCBTRUdNRU5UIGV2ZW50IGJlZm9yZSBwdXNoaW5nIGJ1ZmZlcnMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmMKCjIwMTItMDUtMDkgMTE6MTU6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCBjb21waWxhdGlvbiBhZ2FpbgoKMjAxMi0wMS0xMyAxMDo0OTo0MyArMDEwMCAgUGFzY2FsIEJ1aGxlciA8cGFidWhsZXJAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBjcmVhdGlvbiBzaG91bGQgYmUgc2lnbmFsZWQgYmVmb3JlIHZhbGlkYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg1MAoKMjAxMi0wNS0wNCAxNToyMDo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBkbyBub3QgcHJveHkgb3VyIGZpbHRlciBjYXBzIGRvd25zdHJlYW0gb24gY2FwcyBxdWVyaWVzCgkgIERvd25zdHJlYW0gbGlrZWx5IHdvbid0IGFjY2VwdCB2aWRlby94LXJhdyBhbmQgdGhlIGNhcHMgcXVlcnkKCSAgd2lsbCByZXR1cm4gRU1QVFkgY2Fwcy4gSW5zdGVhZCwgY3JlYXRlIGEgY29weSBvZiB0aGUgY2FwcyB0aGF0CgkgIGhhcyBhbGwgc3RydWN0dXJlIG5hbWVzIHJlcGxhY2VkIGJ5ICdpbWFnZS9qcGVnJwoJICBTaW1wbGUgcGlwZWxpbmUgdGhhdCBzaG93cyB0aGUgcHJvYmxlbToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTEgISAidmlkZW8veC1yYXcsIFwKCSAgd2lkdGg9KGludCk2NDAsIGhlaWdodD0oaW50KTQ4MCIgISB2aWRlb3NjYWxlICEganBlZ2VuYyAhIFwKCSAgImltYWdlL2pwZWcsIHdpZHRoPShpbnQpODAwLCBoZWlnaHQ9KGludCk2MDAiICEgZmlsZXNpbmsgXAoJICBsb2NhdGlvbj0vdG1wL2ltYWdlLmpwZwoKMjAxMi0wNS0wMiAyMToxNzo0MyArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBzZXQgbGF5b3V0PWludGVybGVhdmVkIG9uIHJhdyBhdWRpbyBjYXBzCgkgIFRoaXMgZml4ZXMgYSBub3QtbmVnb3RpYXRlZCBlcnJvciBhdCBsZWFzdCBvbiBtb3YgZmlsZXMgd2l0aAoJICB0d29zIGF1ZGlvIHdpdGggdHdvIGNoYW5uZWxzIGFuZCB2aWRlbyBkdmNwLiBBcyBwbGF5YmluIGFuZCBnc3QtbGF1bmNoCgkgIHNhbXBsZSBjb21pbmcgZnJvbSB0aGUgcXRkZW11eC5jIGZpbGUgdXNlcyBhdWRpb2NvbnZlcnQgYW5kIHRoZSBsYXR0ZXIKCSAgcmVxdWlyZSBmb3JtYXQgaW50ZXJsZWF2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUzMjYKCjIwMTItMDUtMDIgMjE6NDk6NTYgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICB3YXZlZm9ybTogTm8gbW9yZSBnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2NzUzMTkKCjIwMTItMDUtMDIgMjA6MTQ6MjQgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBkaXJlY3Rzb3VuZDogTm8gbW9yZSBnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2NzUzMTkKCjIwMTItMDUtMDEgMTg6NTg6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogY2hhbmdlIHNpbmsgcGFkIHRlbXBsYXRlIG5hbWUgZnJvbSBzaW5rXyVkIHRvIHNpbmtfJXUKCjIwMTItMDQtMzAgMTE6MDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGhhbmRsZSBFT1Mgb24gYWxsIHBhZHMKCSAgV2hlbiBhbGwgcGFkcyBnbyB0byBFT1MgaW1tZWRpYXRlbHksIHdlIGFyZSBub3QgbmVnb3RpYXRlZCBhbmQgb3VyIGNvbGxlY3RlZAoJICBmdW5jdGlvbiBpcyBjYWxsZWQgKHdpdGhvdXQgYW55IGF2YWlsYWJsZSBkYXRhKS4gSGFuZGxlIHRoaXMgY2FzZSBncmFjZWZ1bGx5LgoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNC0zMCAxMDo1OTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTItMDUtMDEgMTM6MzE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBVcGRhdGUgZm9yIGJhc2VzcmMgQVBJIGNoYW5nZXMKCjIwMTItMDQtMzAgMjM6NTc6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBkb24ndCBzZXQgdXAgc3R1ZmYgYmVmb3JlIHRoZSBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdHMgYXJlIGtub3duCgkgIEZpeGVzIGNyYXNoIG9uIHN0YXJ0dXAuCgoyMDEyLTA0LTMwIDE0OjA5OjIzICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9uJ3Qgd3JpdGUgc3RyZWFtIGhlYWRlciB0d2ljZSBmb3IgZmlyc3QgZmlsZQoKMjAxMi0wNC0zMCAxMzozMjo0MSArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGZpeCBidWZmZXIgbGlzdCBzaXplIGNhbGN1bGF0aW9uIGluIHJlbmRlcl9saXN0CgkgIEZpeCB1bmluaXRpYWxpemVkICdzaXplJyB2YXJpYWJsZSBpbiBjYWxsIHRvIGdzdF9idWZmZXJfbGlzdF9mb3JlYWNoKCkuCgoyMDEyLTA0LTMwIDIxOjU4OjAwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlOiB1bm5lY2Vzc2FyeSBzaXplIGNoZWNrCgoyMDEyLTA0LTMwIDIxOjMwOjU2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCBidWlsZCBlcnJvcnMKCSAgZml4IHJlZHVuZGFudCBkZWNsYXJhdGlvbnMKCSAgYW5kIGFsc28gc3R5bGUvaW5kZW50IGlzc3VlcwoKMjAxMi0wNC0yNiAxMjo0NzoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGltcGxlbWVudCBmb3J3YXJkIHNuYXBwaW5nIGtleWZyYW1lIHNlZWtpbmcKCSAgUmVxdWlyZXMgYW4gaW5kZXguCgoyMDEyLTA0LTI2IDEyOjQ2OjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBpbXBsZW1lbnQgZm9yd2FyZCBzbmFwcGluZyBrZXlmcmFtZSBzZWVraW5nCgkgIEluIHB1bGwgbW9kZSB3aXRoIGFuIGluZGV4LgoKMjAxMi0wNC0yOCAyMzoxNDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB0ZXN0czogZml4IG1hdHJvc2thbXV4IHVuaXQgdGVzdCBhZnRlciBtZWRpYSB0eXBlIGNoYW5nZXMKCjIwMTItMDQtMjggMTk6NTc6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBtZWRpYSB0eXBlIGNoYW5nZXMKCjIwMTItMDQtMjQgMTY6MDg6NDcgKzAyMDAgIGlkYy1kcmFnb24gPGlkYy1kcmFnb24gYXQgZ214LmRlPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSAgY2VsdGRlcGF5OiBjYWxjdWxhdGUgc2l6ZSBjb3JyZWN0bHkKCSAgVGhlIHN1bW1hdGlvbiB3YXMgZG9uZSB3cm9uZywgY2F1c2luZyB0aGUgZGUtcGF5bG9hZGVyIHRvIGV4aXQgaXRzIGxvb3AgdG9vCgkgIGVhcmx5LCBiZWZvcmUgYWxsIGZyYW1lcyBhcmUgcHJvY2Vzc2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NDcyCgoyMDEyLTA0LTI0IDE1OjU3OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGltcHJvdmUgZGVidWcKCjIwMTItMDQtMjQgMTU6MzQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc3RhcnQgdW5tdXRlZCB3aGVuIHJlcXVlc3RlZAoJICBXaGVuIHdlIGV4cGxpY2l0ZWx5IHNldCB0aGUgbXV0ZSBwcm9wZXJ0eSB0byBGQUxTRSwgY29ubmVjdCB0byBwdWxzZWF1ZGlvIHdpdGgKCSAgdGhlIFBBX1NUUkVBTV9TVEFSVF9VTk1VVEVEIGZsYWcgc2V0LCBvdGhlcndpc2UgcHVsc2VhdWRpbyB3aWxsIHVzZSBpdHMKCSAgcHJldmlvdXNseSB1c2VkIHZhbHVlICh3aGljaCBtaWdodCBzdGFydCB0aGUgc3RyZWFtIG11dGVkKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjQwMQoKMjAxMi0wNC0yNSAwOTo0MTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wcm92ZSB0aW1lc3RhbXAgY29kZQoJICBTYW1wbGUgdGhlIHBpcGVsaW5lIGNsb2NrIGFuZCBkZXZpY2UgY2xvY2sgY2xvc2VyIHRvIGVhY2hvdGhlciB0byByZWR1Y2Ugaml0dGVyLgoJICBEb24ndCBzdWJ0cmFjdCB0aGUgZnJhbWUgZHVyYXRpb24gZnJvbSB0aGUgdGltZXN0YW1wIHdoZW4gd2UgY2FuIHVzZSB0aGUgZGV2aWNlCgkgIHRpbWVzdGFtcHMuCgkgIEFzc3VtZSBhIGRlbGF5IG9mIDEgZnJhbWUgaW4gcmVhZC13cml0ZSBtb2RlLgoKMjAxMi0wNC0yNCAxMjozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXNlIGRyaXZlciB0aW1lc3RhbXBzCgkgIFVzZSB0aGUgZHJpdmUgdGltZXN0YW1wcyBmb3IgdGltZXN0YW1waW5nIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDEyLTA0LTIzIDE4OjAxOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBJbXByb3ZlIGJ1ZmZlciBtYW5hZ2VtZW50CgkgIFF1ZXJ5IHRoZSBhbW91bnQgb2YgYXZhaWxhYmxlIGJ1ZmZlcnMgd2hlbiBkb2luZyBzZXRfY29uZmlnKCkuIFRoaXMgYWxsb3dzIHVzIHRvCgkgIGNvbmZpZ3VyZSB0aGUgcGFyZW50IGJ1ZmZlcnBvb2wgd2l0aCB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgdG8gcHJlYWxsb2NhdGUuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHByb3ZpZGVkIGFsbG9jYXRvciBhbmQgdXNlIGl0IHdoZW4gd2UgbmVlZCB0byBhbGxvY2F0ZSBhCgkgIGJ1ZmZlciBpbiBSVyBtb2RlLgoJICBXaGVuIHdlIGFyZSBjYW4gbm90IGFsbG9jYXRlIHRoZSByZXF1ZXN0ZWQgbWF4X2J1ZmZlcnMgYW1vdW50IG9mIGJ1ZmZlcnMsIG1ha2UKCSAgc3VyZSB3ZSBrZWVwIDIgYnVmZmVycyBhcm91bmQgaW4gdGhlIHBvb2wgYW5kIGNvcHkgdGhlbSBpbnRvIGFuIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIGEgYnVmZmVyIHRvIGNhcHR1cmUgaW50by4gV2UgYWxzbyBuZWVkIHRvCgkgIGRldGVjdCB0aG9zZSBjb3BpZWQgYnVmZmVycyBhbmQgdW5yZWYgdGhlbSB3aGVuIHRoZXkgcmV0dXJuIHRvIHRoZSBwb29sLgoKMjAxMi0wNC0yMyAxNjo1MToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUgdGhlIHF1ZXVlZCBidWZmZXJzCgkgIE9ubHkgZnJlZSB0aGUgcXVldWVkIGJ1ZmZlcnMgdGhhdCB3ZSBrZWVwIHRyYWNrIG9mIGluIG91ciBidWZmZXIgYXJyYXkuIGZvciBydwoJICBpby1tb2RlLCB3ZSBkbyBhbGxvY2F0ZSBidWZmZXJzIGJ1dCB3ZSBkb24ndCBrZWVwIHRyYWNrIG9mIHRoZW0gaW4gdGhlIGJ1ZmZlcgoJICBhcnJheS4KCjIwMTItMDQtMjMgMTY6MTA6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBtYXJrIG1lbW9yeSBhcyBuby1zaGFyZQoJICBXZSBkb24ndCBzdXBwb3J0IHNoYXJpbmcgb3VyIG1tYXBwZWQgbWVtb3J5IHNvIG1hcmsgaXQgYXMgTk9fU0hBUkUuCgoyMDEyLTA0LTIzIDE2OjA5OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgb2xkIHVudXNlZCBmaWxlCgoyMDEyLTA0LTIzIDEzOjMyOjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9uCgoyMDEyLTA0LTExIDEyOjQyOjE3ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBIYW5kbGUgaWN5IGFuZCBpY3l4IFVSSSBzY2hlbWVzCgkgIEFzIGhhbmRsZWQgYnkgUXVpY2tUaW1lIChmb3IgaWN5KSwgYW5kIE9yYmFuL0NvZGluZyBUZWNobm9sb2dpZXMKCSAgQUFDL2FhY1BsdXMgUGxheWVyIChmb3IgaWN5eCkuIFNlZSBhbHNvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk0MjA3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD00MDMyODUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OQoKMjAxMi0wNC0yMyAxMDowMzoxOSArMDMwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBkb2NzOiBBZGQgU2luY2UgdGFnIGZvciBuZXcgR3N0VjRsMlNyYzo6cHJlcGFyZS1mb3JtYXQgc2lnbmFsCgoyMDEyLTA0LTIzIDEwOjA3OjEyICswMjAwICBDaHJpcyBQYW5rb3cgPGthaW4yMzk2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBGaXggdGltZS1kb21haW4gY29udm9sdXRpb24gZm9yIG11bHRpY2hhbm5lbCBpbnB1dAoJICBGaXhlcyBidWcgIzY3NDAyNS4KCjIwMTItMDQtMjEgMTE6MDg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiByZW1vdmUgc29tZSBtb3JlIG5vbi1leGlzdGVudCBmaWxlcyBmcm9tIHRoZSBsaXN0CgoyMDEyLTA0LTIxIDEwOjA1OjQ1ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogUmVtb3ZlIG5vbi1leGlzdGVudCBwb3RmaWxlcyBmcm9tIHRoZSBsaXN0CgkgIEZpeGVzICM2NzQ1MTgKCjIwMTItMDQtMjAgMTg6MTM6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIHRlc3RzOiBvc3M0OiBsaW1pdCB0ZXN0IHNjb3BlCgoyMDEyLTA0LTIwIDE4OjEzOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSAgb3NzNDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE4OjEyOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suaDoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkgIG9zczogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE2OjQ5OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZmlyc3QgYWN0aXZhdGUgcGFkIHRoZW4gc2V0IGNhcHMKCjIwMTItMDQtMjAgMTM6MzU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgY2FwcyBvbiBzcmNwYWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDIxOQoKMjAxMi0wNC0xOSAxNDoxNjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgdmlkZW8gYXBpIGNoYW5nZQoKMjAxMi0wNC0xOSAxMjozODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGNvbXBpbGF0aW9uIG9uIG9sZGVyIHY0bDIKCSAgRml4IGNvbXBpbGF0aW9uIG9uIHN5c3RlbXMgd2hlcmUgdGhlIEgyNjQgZm9ybWF0IGlzIG5vdCBkZWZpbmVkLgoKMjAxMi0wNC0xOSAxMjoyMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHZpZGVvOiBVcGRhdGUgZm9yIGxpYmdzdHZpZGVvIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTE5IDA4OjI3OjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IEFsbG93IG1wZWctdHMgY2FtZXJhcyB0byBuZWdvY2lhdGUgZm9ybWF0CgkgIFRoaXMgcmVtb3ZlcyBhbiB1Z2x5IGhhY2sgdW50aWwgdGhlIHJlYXNvbiBmb3IgdGhlIGhhY2sgY2FuIGJlIGRvY3VtZW50ZWQKCjIwMTItMDQtMTkgMDk6NTA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBGaXggbWVyZ2UKCjIwMTItMDQtMTkgMDk6NDA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFJlbmFtZSBwcmUtc2V0LWZvcm1hdCBzaWduYWwgdG8gcHJlcGFyZS1mb3JtYXQKCjIwMTItMDQtMTYgMjI6MDg6MjEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IEFkZCBIMjY0IGVuY29kZWQgc3RyZWFtIHN1cHBvcnQgdG8gdGhlIGNhcHMKCSAgVGhpcyBpcyBub3QgZW5vdWdoIHRvIHByb3Blcmx5IHN1cHBvcnQgSDI2NCBjYW1lcmFzLCBidXQgaXQgd2lsbAoJICBhbGxvdyBhbiBIMjY0IHN0cmVhbSB0byBiZSBnZW5lcmF0ZWQgYnkgdjRsMnNyYyB1c2luZyB0aGUgZGVmYXVsdAoJICBzZXR0aW5ncyBvZiB0aGUgY2FtZXJhLiBJZiB1c2VkIHdpdGggdGhlIHByZS1zZXQtZm9ybWF0IHNpZ25hbCwgdGhlCgkgIEgyNjQgZW5jb2RlciBjYW4gYmUgZnVsbHkgY29uZmlndXJlZC4KCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmMKCjIwMTItMDQtMTYgMjI6MDY6MjEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi8uZ2l0aWdub3JlOgoJKiBzeXMvdjRsMi9nc3R2NGwyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IEFkZGluZyBhIHByZS1zZXQtZm9ybWF0IHNpZ25hbAoJICBJbiBvcmRlciB0byBzdXBwb3J0IFVWQyBIMjY0IGVuY29kaW5nIGNhbWVyYXMsIGFuIEgyNjQgUHJvYmUmQ29tbWl0CgkgIG11c3QgaGFwcGVuIGJlZm9yZSB0aGUgbm9ybWFsIHY0bDIgc2V0LWZvcm1hdC4gVGhpcyBuZXcgc2lnbmFsIGlzCgkgIG1lYW50IHRvIGFsbG93IGFuIGV4dGVybmFsIGFwcGxpY2F0aW9uIG9yIGJpbiB0byBkbyBpdC4KCSAgSXQgYWxzbyBzZXJ2ZXMgdG8gZXhwb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3IgdXNlZCBieSB2NGwyc3JjIGluIGNhc2UKCSAgc29tZSBjdXN0b20gaW9jdGxzIG5lZWQgdG8gYmUgY2FsbGVkLgoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL01ha2VmaWxlLmFtCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYwoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTItMDQtMTggMTc6MDk6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGR2MTM5NDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTE3IDE1OjE0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICBjb2xsZWN0cGFkczI6IHJlbmFtZSB0byBjb2xsZWN0cGFkcwoKMjAxMi0wNC0xNiAxNjozNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgbWlzYzogY2hhaW4gdXAgdG8gY29sbGVjdHBhZHMgZXZlbnQgaGFuZGxlcgoKMjAxMi0wNC0xNiAwOTowOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYjI1YmUgdG8gZGM3MDIwMwoKMjAxMi0wNC0xNSAyMjo0OTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHVwZGF0ZSBmb3Igb2dnIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0xMyAxNjo1NDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTA0LTEzIDE2OjU0OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogaW1wcm92ZSBzZWdtZW50IGhhbmRsaW5nCgkgIC4uLiB0byBzZW5kIGEgcHJvcGVyIFRJTUUgc2VnbWVudCBkb3duc3RyZWFtLgoKMjAxMi0wNC0xMyAxNjo1NDo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIGZseGRlYzogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEzIDE2OjU0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IGFkanVzdCB0byBkZXByZWNhdGVkIEdNdXRleCBzZXR1cAoKMjAxMi0wNC0xMyAxNjo1NDozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0xMyAxNjo1NDozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgYWxwaGEsIHNtcHRlOiBhZGp1c3QgdG8gcmVtb3ZlZCBjb2xvci1tYXRyaXggY2FwcyBmaWVsZAoKMjAxMi0wNC0xMyAxNjoyNzozNCArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMjogZW5zdXJlIGF1dG9nZW5lcmF0ZWQgZmlsZXMgYXJlIGNyZWF0ZWQKCSAgVGhlIHR1bmVyIG1hcnNoYWwgYW5kIGVudW10eXBlcyBhcmUgYXV0b2dlbmVyYXRlZCwgYW5kIHRoZXkgbmVlZAoJICB0byBiZSBjcmVhdGVkIGJlZm9yZSB0aGUgY29tcGlsYXRpb24gb2YgZ3N0djRsMnR1bmVyLmMKCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBhdXRvbWFrZSBpbnN0cnVjdGlvbiBmb3IgZW5zdXJpbmcgdGhlCgkgIGF1dG9nZW5lcmF0aW9uIG9mIHRob3NlIGZpbGVzIHByZXZpb3VzIHRoZSBjb21waWxhdGlvbi4KCjIwMTItMDQtMTMgMTM6NDE6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1vZGVybml6ZSBhdXRvdG9vbHMgc2V0dXAgYSBiaXQKCSAgQWxzbyB3ZSBub3cgb25seSBjcmVhdGUgdGFyLmJ6MiBhbmQgdGFyLnh6IHRhcmJhbGxzLgoKMjAxMi0wNC0xMyAxMzozNzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NGZlMTUgdG8gNmRiMjViZQoKMjAxMi0wNC0xMyAxMzowNDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5oOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL3R1bmVyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuaDoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmM6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5oOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uYzoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBVcGRhdGUgZXZlcnl0aGluZyBmb3IgdGhlIHJlbW92YWwgb2YgdGhlIGludGVyZmFjZSBsaWJyYXJ5IGFuZCBtaXhlci90dW5lciBpbnRlcmZhY2VzCgoyMDEyLTA0LTEyIDE1OjUwOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwOiBVc2UgdW5jaGVja2VkIHZhcmlhbnQgb2YgR3N0Qnl0ZVdyaXRlciB3aGVyZSBhcHBsaWNhYmxlCgkgIFRoZSBzaXplIHdhcyBjaGVja2VkIGJlZm9yZQoKMjAxMi0wNC0xMiAxNTo0OTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVSZWFkZXIvV3JpdGVyCgoyMDEyLTA0LTEyIDE1OjQ4OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGlzb21wNDogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVXcml0ZXIKCSAgQW5kIHVzZSB1bmNoZWNrZWQgdmFyaWFudCBvZiBHc3RCeXRlUmVhZGVyIHdoZXJlIGFwcGxpY2FibGUKCjIwMTItMDQtMTIgMTU6NDg6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogVXNlIHVuY2hlY2tlZCB2YXJpYW50IG9mIEdzdEJ5dGVSZWFkZXIKCSAgV2Uga25vdyB0aGVyZSdzIGF0IGxlYXN0IDcgYnl0ZXMgKGNoZWNrZWQgYWJvdmUpCgoyMDEyLTA0LTEyIDE1OjQ3OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVXcml0ZXIKCjIwMTItMDQtMTIgMTU6NDc6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBHc3RCaXRSZWFkZXIvR3N0Qnl0ZVJlYWRlcgoKMjAxMi0wNC0xMiAxMTo1Nzo1OSArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBBZGQgaW50ZXJsZWF2ZSBwbHVnaW4gdG8gc3BlYyBmaWxlCgoyMDEyLTA0LTEyIDExOjE5OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MCA9PT0KCjIwMTItMDQtMTIgMTA6Mjc6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkwCgoyMDEyLTA0LTEyIDEwOjI2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA0LTExIDAwOjE5OjMwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgRml4IGZvcm1hdCBzdHJpbmcKCSAgRml4ZXMgIzY3Mzg1OQoKMjAxMi0wNC0xMSAwMDoxOToxNiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgRml4ZXMgIzY3Mzg1OQoKMjAxMi0wNC0xMCAxMTo1Nzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDQtMTAgMTE6Mzc6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNvbWUgbW9yZSBzZWdtZW50IGhhbmRsaW5nIHR3ZWFraW5nCgoyMDEyLTA0LTEwIDAwOjUxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBVc2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoKMjAxMi0wNC0wOSAxMjo1NTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogZGlzYWJsZSBzaW1wbGUgc21va2VlbmMvZGVjIGxhdW5jaCBsaW5lcyB0ZXN0CgkgIERpc2FibGUgdGVzdCBmb3Igc21va2UgZWxlbWVudHMsIHdoaWNoIGFyZW4ndCBwb3J0ZWQgeWV0CgkgIChhbmQgbWF5YmUgc2hvdWxkbid0IGJlIHBvcnRlZCkuCgoyMDEyLTA0LTA5IDAwOjE0OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IG1ha2UgY2hhbm5lbC1wb2lzaXRpb25zIHByb3BlcnR5IGEgR1ZhbHVlQXJyYXkgYWdhaW4KCSAgT3IgcGVyaGFwcyBpdCBzaG91bGQganVzdCBiZSBhIGd1aW50NjQgY2hhbm5lbCBtYXNrLCB3aGljaCB3b3VsZAoJICBiZSBuaWNlciBpbiBDLCBidXQgbW9yZSBhd2t3YXJkIGZvciBiaW5kaW5ncyAoZXZlbiBtb3JlIHNvIHNpbmNlCgkgIHdlIGNhbid0IGFkZCBhIGZsYWdzIHR5cGUgZm9yIGl0LCBzaW5jZSB0aGF0IG9ubHkgc3VwcG9ydHMgZ3VpbnQKCSAgc2l6ZSBmbGFncykuIEZpeGVzIHdhdmVuYyB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2NDMKCjIwMTItMDQtMDYgMTY6MDM6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNsZWFubHkgaW5pdGlhbGl6ZSBhbmQgc2V0IG5lZWRlZCBzZWdtZW50CgkgIEZpeGVzICM2NzMxNjUuCgoyMDEyLTA0LTA1IDE3OjE3OjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggdGhyZWFkaW5nIGlzc3VlIGluIGluZGV4IGhhbmRsaW5nCgoyMDEyLTA0LTA2IDA5OjEzOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHVzZSBzdGF0aWMgdmFyaWFibGVzIHRvIGhvbGQgaW5kZXggYXNzb2NpYXRpb25zCgkgIFRoaXMgbm90IHJlYWxseSB0aHJlYWRzYWZlIGluIGFueSB3YXkuCgoyMDEyLTA0LTA1IDE5OjE3OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBtYWtlIGZldyB0ZXN0cyBtb3JlIHZhbGdyaW5kLWZyaWVuZGx5CgoyMDEyLTA0LTA1IDE5OjE3OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIChkZSlpbnRlcmxlYXZlOiBmaXggcG9ydGVkIHVuaXQgdGVzdCBhbmQgZW5hYmxlIGFzIHBvcnRlZAoKMjAxMi0wNC0wNSAxOToxNzozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgIHRlc3RzOiBjbW1sZGVjOiBhZGp1c3QgdG8gdGFnIGV2ZW50cyBubyBsb25nZXIgcG9zdGVkIG9uIGJ1cyBieSBlbGVtZW50CgoyMDEyLTA0LTA1IDE5OjE3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZHNyYzogY2xlYXIgZXJyb3IKCjIwMTItMDQtMDUgMTg6NDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3ZmRhNTI0IHRvIDQ2NGZlMTUKCjIwMTItMDQtMDUgMTc6MzY6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvZHYvZ3N0ZHYuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYnBsdWdpbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvcGx1Z2luLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDUgMTM6MjY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVwZGF0ZSB2ZXJzaW9uIHRvIDAuMTEuODkuMQoKMjAxMi0wNC0wNCAyMDowNjo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGVuc3VyZSBpbml0aWFsaXplZCB0ZXN0IGJ1ZmZlciBtZW1vcnkKCjIwMTItMDQtMDQgMTQ6MzM6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46CgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxMjoxMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmgKCjIwMTItMDQtMDMgMTg6MzY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBwbHVnIHRlbXBsYXRlIGNhcHMgbGVhawoKMjAxMi0wNC0wMyAxMTo1MDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2aSBvbmx5IGtub3dzIGFib3V0IERUUwoJICBPbmx5IHNldCBEVFMgb24gb3V0Z29pbmcgYnVmZmVycyB1bmxlc3Mgd2UgaGF2ZSBhIGtleWZyYW1lIGFuZCB0aGVuIHdlIGNhbiBzZXQKCSAgdGhlIFBUUyB0byBEVFMgYXMgd2VsbC4KCjIwMTItMDQtMDIgMjM6MzU6NDMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWt2OiBwb3J0IHRvYyBjaGFuZ2VzIHRvIDAuMTEKCjIwMTItMDQtMDIgMjM6MTg6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBNZXJnZSBicmFuY2ggJzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oCgoyMDEyLTAzLTI5IDIzOjIyOjI4ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thOiBhZGQgR3N0VG9jIHN1cHBvcnQgZm9yIG11eGVyCgoyMDEyLTAzLTI5IDIzOjEyOjEzICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQgc3VwcG9ydCBmb3IgR3N0VG9jIGluIGRlbXV4ZXIKCjIwMTItMDMtMjkgMjM6MDU6MTQgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBhZGQgY2hhcHRlciBzdXBwb3J0IGluIEdzdE1hdHJvc2thUmVhZENvbW1vbgoKMjAxMi0wNC0wMiAxMzowMDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9saW5lcy5jOgoJICBnb29tMmsxOiBGaXggJ21heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wNC0wMiAxMToxMzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHVzZSB0cmFuc2Zvcm1faXBfb25fcGFzc3Rocm91Z2gKCjIwMTItMDMtMzEgMTU6NDM6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIHVwZGF0ZSBmb3IgY2hpbGQgcHJveHkgYXBpIGNoYW5nZQoKMjAxMi0wMy0zMCAxODoxMzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBhcGkgY2hhbmdlCgoyMDEyLTAzLTMwIDEyOjUzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2VuY29kZXJfc2V0X2hlYWRlcnMoKSBBUEkKCjIwMTItMDMtMzAgMTI6MTg6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgR3N0QXVkaW9FbmNvZGVyIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTI5IDIzOjIyOjI4ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thOiBhZGQgR3N0VG9jIHN1cHBvcnQgZm9yIG11eGVyCgoyMDEyLTAzLTI5IDIzOjEyOjEzICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQgc3VwcG9ydCBmb3IgR3N0VG9jIGluIGRlbXV4ZXIKCjIwMTItMDMtMjkgMjM6MDU6MTQgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBhZGQgY2hhcHRlciBzdXBwb3J0IGluIEdzdE1hdHJvc2thUmVhZENvbW1vbgoKMjAxMi0wMy0yOSAxNzoyMjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB0ZXN0czogd2F2cGFjazogZmV3ZXIgYnVmZmVycyBhcmUgYWxzbyBhZGVxdWF0ZSBhbmQgbW9yZSBjb252ZW5pZW50CgoyMDEyLTAzLTI5IDE3OjIyOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogdmlkZW9jcm9wOiB1bm1hcCB2aWRlbyBmcmFtZSBhbmQgdW5yZWYgY2FwcwoKMjAxMi0wMy0yOSAxNzoyMjowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJICB0ZXN0czogYXVkaW93c2luY2JhbmQ6IHVubWFwIGV4YW1pbmVkIG91dHB1dCBidWZmZXJzCgoyMDEyLTAzLTI5IDE3OjIxOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcGx1ZyByZWYgbGVhawoKMjAxMi0wMy0yOSAxNzoyMTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBzdXBwb3J0ZWQgdGVtcGxhdGUgY2FwcyBhbmQgc2FtcGxlIHByb2Nlc3NpbmcKCjIwMTItMDMtMjkgMTc6MjE6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogcGx1ZyBzdHJ1Y3R1cmUgbGVhawoKMjAxMi0wMy0yOSAxNjowNDoyNiArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IHBvcnRlZCBwbHVnaW5zCgoyMDEyLTAzLTI5IDE1OjAzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMi0wMy0yOCAxNjoyNjo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IG11eGVycyBuZWVkIFRJTUUgZm9ybWF0CgoyMDEyLTAzLTI4IDE2OjI2OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzOiBmbGFjZGVjOiBuZWVkcyBmbGFjcGFyc2Ugbm93YWRheXMKCjIwMTItMDMtMjggMTQ6NDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBxdWVyeSBkb3duc3RyZWFtIGZvciBCWVRFIHNlZWtpbmcgc3VwcG9ydAoKMjAxMi0wMy0yOCAxNDo0ODo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHF1ZXJ5IGRvd25zdHJlYW0gZm9yIEJZVEUgc2Vla2luZyBzdXBwb3J0CgoyMDEyLTAzLTI4IDE0OjQ2OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogY2xlYW4gdXAgb2Jzb2xldGUgbG9nIHN0YXRlbWVudAoKMjAxMi0wMy0yOCAxMjo0OToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTI4IDEyOjE2OjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJICB0ZXN0czogYXVkaW9keW5hbWljOiBjb3JyZWN0bHkgcG9ydCBvcmlnaW5hbCB0ZXN0IHRvIG1pbmQgaW4gcGxhY2UgdHJhbnNmb3JtCgoyMDEyLTAzLTI4IDExOjA1OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgYXVkaW9meDogbW9yZSBhZGp1c3RtZW50IHRvIGNoYW5nZWQgc2VtYW50aWNzIG9mIGF1ZGlvZmlsdGVyIF9zZXR1cCBtZXRob2QKCjIwMTItMDMtMjggMTE6MTA6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSAgdGVzdHM6IGF1ZGlvZmlyZmlsdGVyOiBuZWdvdGlhdGUgdGhlIGludGVuZGVkIHJhdyBhdWRpbyBmb3JtYXQKCjIwMTItMDMtMjcgMTg6NDE6NDUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IGluaXQgZGF0YXN0cnVjdHVyZQoKMjAxMi0wMy0yNyAxNzoxODo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogZml4IHN0cmlkZXMKCjIwMTItMDMtMjcgMTY6NDE6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIGNhcHM6IGltcHJvdmUgY2FwcyBoYW5kbGluZwoJICBBdm9pZCBjYXBzIGNvcHkgYW5kIGxlYWtzCgoyMDEyLTAzLTI3IDE0OjA0OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIHRlc3RzOiBpY3lkZW11eDogYWN0aXZhdGUgaW50ZXJuYWwgdGVzdCBoZWxwZXIgc3JjIHBhZAoKMjAxMi0wMy0yNyAxMjo0NDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXBkYXRlIGZvciBnZXRfcGFyYW0KCSAgUmVtb3ZlIGNvbnN0IGZyb20gdGhlIEdzdENhcHMuCgkgIFBsdWcgc29tZSBHc3RTdHJ1Y3R1cmUgbGVha3MKCjIwMTItMDMtMjcgMDA6MDI6MDggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IEZpeCBjb21waWxpbmcgd2l0aCBtaW5ndy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mjg4MAoKMjAxMi0wMy0yNiAxODozMTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3RzOiByZXBsYXlnYWluOiBtaXNjIGNvbXBhdGliaWxpdHkgZml4ZXMKCSAgRGlzY2FyZCBjYXBzIGV2ZW50IHdoZW4gY2hlY2tpbmcgZm9yIGFuZCBjb3VudGluZyB2YXJpb3VzIHRhZyBldmVudHMsCgkgIGFuZCByZW1vdmUgYWxsIHRlc3Rpbmcgb2YgOCBiaXRzIGRlcHRoIGluIDE2IGJpdHMgd2lkdGggZm9ybWF0IHNpbmNlCgkgIGl0IG5vIGxvbmdlciBleGlzdHMuCgoyMDEyLTAzLTI2IDE4OjI4OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogcnRwOiBtaXNjIGNvbXBhdGliaWxpeSBmaXhlcwoJICAuLi4gc3VjaCBhcyBhbHdheXMgc2V0dGluZyBwYWQgY2FwcyBhbmQgcHJvdmlkaW5nIG5lZWRlZCBjYXBzIGZpZWxkcy4KCjIwMTItMDMtMjYgMTg6MjY6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdGVzdHM6IHZpZGVvZmlsdGVyOiBlbnN1cmUgaW5pdGlhbCBzZWdtZW50IGV2ZW50CgoyMDEyLTAzLTI2IDE4OjI1OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogcHJvcGVyIHZpZGVvIGluZm8gYW5kIGZyYW1lIG1hbmFnZW1lbnQKCSAgLi4uIHBhcnRpY3VsYXJseSBzaW5jZSBlYWNoIGluY29taW5nIHBhZCBoYXMgYSBkaXN0aW5jdCBmb3JtYXQuCgoyMDEyLTAzLTI2IDE4OjI0OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBlbnN1cmUgb3V0cHV0IGNhcHMgYXJlIHNldCB3aGVuIHB1c2hpbmcgb3V0cHV0IGRhdGEKCSAgLi4uIGV2ZW4gaWYgc29tZSBTUFMvUFBTIGhhcyBub3QgcGFzc2VkIGJ5IHlldC4KCjIwMTItMDMtMjYgMTg6MjI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9maWx0ZXI6IGF2b2lkIGhvbGRpbmcgb2JqZWN0IGxvY2sgd2hlbiBjYWxsaW5nIGJhc2V0cmFuc2Zvcm0gZnVuY3Rpb24KCjIwMTItMDMtMjYgMTg6MjI6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHNvbWUgbG9jayBtYW5hZ2VtZW50CgkgIC4uLiB0byBhdm9pZCB0cnlpbmcgdG8gdGFrZSBhIG5vbi1yZWN1cnNpdmUgbG9jayB0d2ljZS4KCjIwMTItMDMtMjYgMTg6MjE6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICBydHBMMTYoZGUpcGF5OiBmaXggcmF3IGF1ZGlvIGZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTAzLTI2IDE4OjIwOjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgcmVwbGF5Z2FpbjogYWxzbyBzdGlsbCBwb3N0IHRoZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcwoKMjAxMi0wMy0yNiAxNTo1OTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZG9uJ3QgZXJyb3IgaW4gc2h1dGRvd24KCSAgRG9uJ3QgbG9nIHdpdGggdGhlIEVSUk9SIGNhdGVnb3J5IHdoZW4gd2UgYXJlIHN0b3BwaW5nIGJlY2F1c2Ugd2UgYXJlIHNodXR0aW5nCgkgIGRvd24uCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyODI0CgoyMDEyLTAzLTI2IDE1OjUxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBmaXggbGF0ZW5jeQoKMjAxMi0wMy0yNiAxNTozMDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGNhbGxlZCBiYXNlIGNsYXNzIHN0YXJ0CgkgIENoYWluIHVwIHRvIHRoZSBiYXNlIGNsYXNzIHN0YXJ0IG1ldGhvZCBzbyB0aGF0IG1ldGFkYXRhIGlzIHByb3Blcmx5IHRhZ2dlZC4KCSAgUmVtb3ZlIGFuIHVudXNlZCB2YXJpYWJsZS4KCSAgZml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI4MTMKCjIwMTItMDMtMjYgMTI6MTI6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBSZXBsYWNlIG1hc3RlciB3aXRoIDAuMTEKCjIwMTItMDMtMjUgMDA6MDA6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkICJhbHBoYSIgcHJvcGVydHkgdG8gc2V0IGFscGhhIG9mIG92ZXJsYXkgaW1hZ2UKCSAgLi4gb3IgdHVybiB0aGUgb3ZlcmxheSBvZmYgYnkgc2V0dGluZyBhbHBoYSB0byAwLjAKCjIwMTItMDMtMjQgMDk6NTE6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBwbHVnIGNhcHMgbGVhawoKMjAxMi0wMy0yMyAxODo0Nzo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICB0ZXN0czogaW1hZ2VmcmVlemU6IHJlbW92ZSBleHRyYW5lb3VzIF91bnJlZgoKMjAxMi0wMy0yMyAxODo0NzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgdGVzdHM6IGF2aW11eDogYWRqdXN0IHRvIG1vZGlmaWVkIHNpbmsgcGFkIHRlbXBsYXRlIG5hbWUKCjIwMTItMDMtMjMgMTg6NDY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBjbGVhbnVwIGVsZW1lbnQgc29vbmVyCgkgIC4uLiB0byBhdm9pZCBzdHJheSByZWZzIGluIHN0aWNreSBjYXBzIGV2ZW50cy4KCjIwMTItMDMtMjMgMTg6NDU6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogYXJyYW5nZSBmb3Igc2VuZGluZyBhbiBpbml0aWFsIHNlZ21lbnQgZXZlbnQKCSAgLi4uIHdoaWNoIGlzIG5lZWRlZCBub3dhZGF5cyBzaW5jZSB2YXJpb3VzIGdzdF9zZWdtZW50X3RvXy4uLgoJICBubyBsb25nZXIgYXV0b21hdGljYWxseSBzZXQgdGhlIGZvcm1hdCB0byB0aGUgc3BlY2lmaWVkIG9uZQoJICAoZnJvbSBfVU5ERUZJTkVEKS4KCjIwMTItMDMtMjMgMTg6NDQ6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBpbW1lZGlhdGVseSByZXR1cm4gR1NUX0ZMT1dfRU9TCgkgIC4uLiByYXRoZXIgdGhhbiBfT0sgc2luY2Ugd2Ugd2lsbCBub3QgYmUgY2FyaW5nIGFib3V0IHN1YnNlcXVlbnQgYnVmZmVyCgkgIGFueXdheS4KCjIwMTItMDMtMjMgMTg6NDM6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBmaXggcXVlcnkgYW5kIF9nZXRjYXBzIGhhbmRsaW5nCgoyMDEyLTAzLTIzIDE4OjQyOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb2Z4OiBhZGp1c3QgdG8gY2hhbmdlZCBzZW1hbnRpY3Mgb2YgYXVkaW9maWx0ZXIgX3NldHVwIG1ldGhvZAoJICAuLi4gaW4gdGhhdCBpdCB3aWxsIG5vdyBjYWxsIHN1YmNsYXNzIHdpdGggaW5mbyBvbiBwcm9wb3NlZCBhdWRpbyBmb3JtYXQKCSAgd2l0aG91dCBoYXZpbmcgc2V0IHRoYXQgaW5mbyBhbHJlYWR5IGluIGJhc2UgY2xhc3MuICBBcyBzdWNoLAoJICBzdWJjbGFzcyBjYW4gbm90IHJlbHkgb24gYXVkaW8gZm9ybWF0IGluZm8gYmVpbmcgYXZhaWxhYmxlIHRoZXJlLgoKMjAxMS0wNy0xNCAxNjoyMzo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogTWFrZSBvdXRwdXQgaW4gQVZDIHN0cmVhbSBmb3JtYXQgd29yayBldmVuIHdpdGhvdXQgY29tcGxldGUgc3Byb3AtcGFyYW1ldGVyLXNldAoJICBUaGlzIGFsbG93cyBvdXRwdXR0aW5nIHN0cmVhbXMgaW4gQVZDIGZvcm1hdCBldmVuIGlmIHRoZSBTUFMvUFBTIGFyZSBzZW50IGluc2lkZQoJICB0aGUgUlRQIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoJICBQb3J0ZWQgZnJvbSBtYXN0ZXIKCjIwMTItMDEtMjkgMTg6Mzk6NTQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBVbmxvY2sgb24gZXJyb3IKCjIwMTItMDMtMjIgMTg6Mjc6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXNlIHNpbmsgcGFkIHRlbXBsYXRlIGNhcHMgcmF0aGVyIHRoYW4gc3JjCgoyMDEyLTAzLTIyIDE4OjIzOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDMtMjIgMTg6MjE6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMjIgMTY6MTA6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogaW50ZXJzZWN0IGRvd25zdHJlYW0gYWxsb3dlZCBwZWVyIGNhcHMgd2l0aCBzaW5rIHBhZCB0ZW1wbGF0ZQoKMjAxMi0wMy0yMiAxNTo1NToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4yID09PQoKMjAxMi0wMy0yMiAxNTo1MToxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJICBSZWxlYXNlIDAuMTEuMgoKMjAxMi0wMy0yMiAxMTo1NToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDMtMjIgMTE6NTM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIHVucG9ydCBnZGtwaXhidWYKCSAgbm90IG1lcmdlZDogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoJICBDb25mbGljdHM6CgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbQoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbAoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dAoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeQoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbAoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmMKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYwoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jCgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmMKCSAgZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYwoKMjAxMi0wMy0yMiAxMTo0NToxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IG9ubHkgc3RhcnQgY29sbGVjdHBhZHMyIGF0IHN0YXRlIGNoYW5nZSByYXRoZXIgdGhhbiBpbml0CgoyMDEyLTAzLTIxIDEzOjIyOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMjAgMTA6MjQ6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTkgMTI6MDE6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY3JjIGNoZWNrIGlmIGFwcGxpY2FibGUKCSAgLi4uIHN1Y2ggYXMgYSBmcmFtZSBoZWFkZXIgcGFyc2luZyB0aHJvd2luZyBzb21lIHN1c3BpY2lvdXMgd2FybmluZ3MuCgkgIFNvIHdlIGNhbiBiZSBhIGJpdCBtb3JlIGNvbnZpbmNlZCB3ZSBkZXRlcm1pbmUgdGhlIHJpZ2h0IGZyYW1lIGVuZC4KCjIwMTItMDMtMTkgMTE6NTg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhdm9pZCBpbmRlZmluaXRlIGV4dGVuZGVkIHNlYXJjaCBmb3IgZnJhbWUgZW5kIGlmIHBvc3NpYmxlCgkgIC4uLiB3aGljaCBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIGxvY2tlZCBvbiB0byB0aGUgd3JvbmcgZnJhbWUgc3RhcnQKCSAgYW5kL29yIGNvcnJ1cHQgZnJhbWUgYmVpbmcgY3JjIGNoZWNrZWQuCgoyMDEyLTAzLTE2IDE4OjIzOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBpbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCByZXNpbGllbmNlCgkgIC4uLiBieSBub3RpbmcgdGhhdCBvbmUgb2NjdXJyZWQgaW4gdGhlIGZpcnN0IHBsYWNlLCBhbmQgdGhlbiBhcHByb3ByaWF0ZWx5CgkgIGlnbm9yaW5nIHNvbWUgdHJhbnNpZW50IG9uZXMuCgoyMDEyLTAzLTE5IDEwOjMzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG5lZ290aWF0ZSBhbiBhbGxvY2F0b3Igb24gdGhlIHNyY3BhZHMKCSAgV2UgZG8gYW4gQUxMT0NBVElPTiBxdWVyeSB0byBmaW5kIG91dCBhbiBhbGxvY2F0b3IgYW5kIHBhcmFtZXRlcnMgb24gdGhlCgkgIHNyY3BhZHMuIFRoaXMgd2F5IGRlY29kZXJzIChhbmQgc2lua3MpIGNhbiBzcGVjaWZ5IHRoZSBtZW1vcnkgYW5kIHBhcmFtZXRlcnMKCSAgdGhleSB3YW50IHVzIHRvIHdyaXRlIGludG8uCgoyMDEyLTAzLTE3IDIwOjUzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIG5ldyBwcm9wZXJ0aWVzIGFuZCBhZGQgZ2RrcGl4YnVmb3ZlcmxheSBlbGVtZW50CgkgIFNvbWV3aGF0IGF0IGxlYXN0LiBObyBpZGVhIHdoeSBpdCBkb2Vzbid0IHBpY2sgdXAgdGhlIGRlc2NyaXB0aW9uCgkgIG9yIGV4YW1wbGUgcGlwZWxpbmUuCgoyMDEyLTAzLTE4IDAwOjExOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBtYWtlIG1vc3QgcHJvcGVydGllcyBjb250cm9sbGFibGUgYW5kIGZsYWcgdGhlbSBhcyBtdXRhYmxlLXBsYXlpbmcKCjIwMTItMDMtMTcgMjM6NDE6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCBwcm9wZXJ0aWVzIGZvciBwb3NpdGlvbmluZyBhbmQgc2l6aW5nCgoyMDEyLTAzLTE3IDIwOjE4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1ZjogYWRkIGdka3BpeGJ1Zm92ZXJsYXkgZWxlbWVudAoJICBTdGlsbCBsYWNrcyBmZWF0dXJlcyBzdWNoIGFzIHBvc2l0aW9uaW5nIG9yIHJlc2l6aW5nLCBvcgoJICBhbmltYXRpb25zLCBidXQgaXQncyB1c2FibGUgYWxyZWFkeSwgYW5kIHN1cHBvcnRzIGxvdHMgb2YKCSAgZm9ybWF0cy4KCjIwMTItMDMtMTYgMjI6NTI6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICBkb24ndCBwb2tlIGludG8gYmFzZXRyYW5zZm9ybSBpbnRlcm5hbHMKCSAgQnV0IHVzZSB0aGUgbWV0aG9kcwoKMjAxMi0wMy0xNiAyMTo0NzoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBkb24ndCBwYXNzIHJhbmRvbSBwb2ludGVycyB0byBwdWxsX3JhbmdlCgoyMDEyLTAzLTE1IDIyOjE1OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgdXBkYXJ0ZSBmb3IgYnVmZmVycG9vbCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDIyOjExOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDIwOjM3OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTEtMDctMTQgMTY6MjM6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IE1ha2Ugb3V0cHV0IGluIEFWQyBzdHJlYW0gZm9ybWF0IHdvcmsgZXZlbiB3aXRob3V0IGNvbXBsZXRlIHNwcm9wLXBhcmFtZXRlci1zZXQKCSAgVGhpcyBhbGxvd3Mgb3V0cHV0dGluZyBzdHJlYW1zIGluIEFWQyBmb3JtYXQgZXZlbiBpZiB0aGUgU1BTL1BQUyBhcmUgc2VudCBpbnNpZGUKCSAgdGhlIFJUUCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCjIwMTItMDMtMTUgMTQ6MDY6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgYXBpIGNoYW5nZQoKMjAxMi0wMy0xNSAxMzozNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE0IDIxOjM2OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNCAxOTo1NTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHRha2UgcGFkZGluZyBpbnRvIGFjY291bnQKCjIwMTItMDMtMTQgMTc6MDc6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTQgMTU6NDU6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXBseSBGQUxTZSBvbiBzZXJpYWxpemVkIHF1ZXJpZXMKCjIwMTItMDMtMTMgMjM6MDg6MzggKzAxMDAgIEFuZHJlaiBHZWxlbmJlcmcgPGFuZHJlai5nZWxlbmJlcmdAdWRvLmVkdT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogYWRkIHN1cHBvcnQgZm9yIDgtIGFuZCAxNi1iaXQgZ3JheSBpbWFnZXMKCSAgQWRkIHN1cHBvcnQgZm9yIGRpcmVjdCBlbmNvZGluZyBvZiA4LSBhbmQgMTYtYml0IGJpZyBlbmRpYW4gZ3JheSBpbWFnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIwMjUKCjIwMTItMDMtMTQgMTE6MjE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgbXA0dnBheTogd2UgY2FuIGFsc28gaGFuZGxlIHgtZGl2eAoKMjAxMi0wMy0xNCAxMDozOTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IGRvIG5vdCBzZXQgb3V0cHV0IGNhcHMgZGlyZWN0bHkKCSAgLi4uIGJ1dCB1c2UgYmFzZSBjbGFzcyBmdW5jdGlvbiBpbnN0ZWFkLgoKMjAxMi0wMy0xMyAyMTozMTo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIG1wNHZkZXBheTogZml4IGJ1ZmZlciBoYW5kbGluZwoJICBEb24ndCBhbHdheXMgb3V0cHV0IHRoZSBwYXlsb2FkIHN1YmJ1ZmZlciwgdXNlIGEgc2VwYXJhdGUgdmFyaWFibGUgdG8KCSAgbWFrZSB0aGluZ3MgY2xlYXJlciBhbmQgd2l0aG91dCB0aGUgZXJyb3IuCgoyMDEyLTAzLTEzIDIwOjQ5OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogbWFrZSBidWZmZXItc2l6ZSB3b3JrIGFnYWluCgoyMDEyLTAzLTEzIDIwOjM2OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggU09fUkNWQlVGIGhhbmRsaW5nCgoyMDEyLTAzLTEzIDE5OjI2OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCBsZWFrIHRoZSBhZGRyZXNzCgoyMDEyLTAzLTEzIDE5OjI2OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiB1bm1hcCBvbiBlbXB0eSBwYWNrZXQKCjIwMTItMDMtMTMgMTg6MDc6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZG8gRFRTIGFuZCBQVFMgY29ycmVjdGx5CgoyMDEyLTAzLTEzIDE3OjU0OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBEVFMgYW5kIFBUUyBvbiBvdXRwdXQgYnVmZmVycwoJICBTZXQgUFRTIGFuZCBEVFMgb24gb3V0cHV0IGJ1ZmZlcnMgaW5zdGVhZCBvZiBqdXN0IHRoZSBQVFMuIEluIHN0cmVhbWluZyBjYXNlcwoJICB5b3Ugd2FudCB0byBzeW5jaHJvbml6ZWQgZW5jb2RlZCBkYXRhIGJhc2VkIG9uIHRoZSBEVFMgYmVjYXVzZSB0aGF0IGlzCgkgIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy4KCjIwMTItMDMtMTMgMTc6NTQ6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBkZWJ1ZyBhZGRpdGlvbmFsIHNkdHAgZmxhZwoKMjAxMi0wMy0xMyAxNzoyNzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cDogZml4IHVubWFwIGNhbGxzCgoyMDEyLTAzLTEzIDEzOjI1OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZTogZml4IGZvcm1hdHMsIHdlIGNhbiBub3QgaGFuZGxlIFM4IGJ1dCBvbmx5IFU4CgoyMDEyLTAzLTEzIDEyOjQwOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggc3RyZWFtaGVhZGVycwoJICBGaXggdGhlIGNhcHMgb2YgZmxhY2VuYywgdGhlIHJlZmVyZW5jZSBlbmNvZGVyIG9ubHkgc3VwcG9ydCAyNCBiaXRzIGluCgkgIDMyIGJpdHMuCgkgIFNldCBzdHJlYW1oZWFkZXIgb24gb3V0cHV0IGNhcHMuCgoyMDEyLTAzLTEyIDE3OjE3OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgdXBkYXRlIGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDE2OjQzOjI3ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYyA6IGJ1bXAgR0xpYiByZXF1aXJlbWVudCB0byAyLjMxLjE0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5MTEKCjIwMTItMDMtMTIgMTU6Mjc6MjcgKzAxMDAgIFJvc3MgQnVydG9uIDxyb3NzIGF0IGJ1cnRvbmluaS5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGdlbmVyYXRlIHNlZWt0YWJsZXMgZXZlcnkgMTAgc2VjIGJ5IGRlZmF1bHQKCSAgU2luY2UgdGhpcyBpcyB3aGF0IHRoZSBjb21tYW5kIGxpbmUgdG9vbCBkb2VzIGFzIHdlbGwsIGl0IHNlZW1zIGxpa2UKCSAgYSBiZXR0ZXIgZGVmYXVsdC4KCjIwMTItMDMtMTAgMTM6NDQ6MDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgdW5sb2NrIHBhZCB3aGVuIGl0IHdhcyBsb2NrZWQKCSAgVGhpcyBmaXhlcyB0aGUgbXV0ZXggYmVpbmcgdW5sb2NrZWQgdG9vIG11Y2ggYW5kIGVuZGluZyB1cCBhbGxvd2luZwoJICBvdGhlciB0aHJlYWRzIHdoZW4gdGhleSBzaG91bGQgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNzc2CgoyMDEyLTAzLTA3IDEzOjM5OjUwICswMTAwICBBbmRyZWogR2VsZW5iZXJnIDxhbmRyZWouZ2VsZW5iZXJnQHVkby5lZHU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IGFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1ncmF5IGZvcm1hdHMKCSAgcG5nZGVjIGNhbiBub3cgZGVjb2RlIGdyYXkgOC0gYW5kIDE2LWJpdCBpbWFnZXMgd2l0aG91dCBhbHBoYSBjaGFubmVsCgkgIGRpcmVjdCB0byB2aWRlby94LXJhdy1ncmF5IGZvcm1hdC4gMTYtYml0IGdyYXkgaW1hZ2VzIGhhdmUgYmlnLWVuZGlhbgoJICBmb3JtYXQsIGJlY2F1c2UgaXQncyBuYXRpdmUgUE5HIGVuZGlhbm5lc3MuIEdyYXkgaW1hZ2VzIHdpdGggYWxwaGEKCSAgY2hhbm5lbCBzdGlsbCBjb252ZXJ0ZWQgdG8gUkdCQS4KCSAgU2lnbmVkLW9mZi1ieTogQW5kcmVqIEdlbGVuYmVyZyA8YW5kcmVqLmdlbGVuYmVyZ0B1ZG8uZWR1PgoKMjAxMi0wMy0wOCAxNzowNzo1MSArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBnc3RydHNwc3JjOiBkaXNhYmxlIFJUU1Aga2VlcC1hbGl2ZSBvbiByZXF1ZXN0CgoyMDEyLTAzLTEyIDE0OjQ4OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBmaXggc3RyaWRlIGhhbmRsaW5nCgoyMDEyLTAzLTEyIDEyOjIzOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgZml4IGZvciBjYXBzIF9ub3JtYWxpemUgY2hhbmdlcwoKMjAxMi0wMy0xMiAxMTo0NzozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZQoKMjAxMi0wMy0xMiAxMDo0Mzo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIGZpeCBmb3IgX2RvX3NpbXBsaWZ5IGNoYW5nZXMKCjIwMTItMDMtMTIgMDg6NDg6MzIgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGdzdDogRml4IHNvbWUgcXVlcnkgbGVha3MKCjIwMTItMDMtMTEgMTk6MDY6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZml4IGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTEwIDEwOjUxOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJICBmaXggdGVtcGxhdGUgY2FwcyByZWZjb3VudAoKMjAxMi0wMy0wOSAxNTo1MzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVzZSBvZiBBQ19MQU5HX1BST0dSQU0KCSAgTm8gbmVlZCB0byBpbmNsdWRlIHRoZSBpbnQgbWFpbiAoKSB7IH0gYml0cywgdGhlIGJvZHkgaXMgZW5vdWdoLgoKMjAxMi0wMy0wOSAxNToyNTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGF1dG9nZW4uc2ggd2FybmluZ3MKCSAgY29uZmlndXJlLmFjOjQxMDogd2FybmluZzogQUNfTEFOR19DT05GVEVTVDogbm8gQUNfTEFOR19TT1VSQ0UgY2FsbCBkZXRlY3RlZCBpbiBib2R5CgoyMDEyLTAzLTA4IDEzOjA2OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkgIGFhc2luazogcHJvcG9zZSB2aWRlb21ldGEgdXB0cmVhbQoJICBzdWJjbGFzcyBmcm9tIHZpZGVvc2luay4KCSAgUHJvcG9zZSB2aWRlb21ldGEgdXBzdHJlYW0gYmVjYXVzZSB3ZSBjYW4gaGFuZGxlIGl0IHdpdGggdGhlIHZpZGVvIGFwaS4KCjIwMTItMDMtMDggMDE6NTM6NTAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkbyBub3QgdW5yZWYgc2FtcGxlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTUzNAoKMjAxMi0wMy0wOCAxMTozNjowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiBpbXByb3ZlIG1vcmUgdGVzdHMKCjIwMTItMDMtMDggMTE6MjA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dka3BpeGJ1ZnNpbmsuYzoKCSAgdGVzdHM6IGZpeCBzb21lIG1vcmUgdGVzdHMKCjIwMTItMDMtMDcgMTU6MjI6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBpbXByb3ZlIGNsZWFudXAKCSAgUmV1c2UgY2xlYW51cCBtZXRob2RzIHRvIG1ha2Ugc3VyZSB3ZSByZW1vdmUgYWxsIHBhZHMgY29ycmVjdGx5CgoyMDEyLTAzLTA3IDE1OjAwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBzZXQgY2FwcyB3aXRob3V0IHRoZSBsb2NrCgkgIFJlbGVhc2UgdGhlIGxvY2sgYmVmb3JlIHNldHRpbmcgdGhlIGNhcHMgb24gdGhlIHNyY3BhZCwgd2hpY2ggdHJpZ2dlcnMgYW4gZXZlbnQsCgkgIHdoaWNoIGNvdWxkIGV2ZW50dWFsbHkgY2FsbCBiYWNrIGludG8gdXMgYW5kIGNhdXNlIGEgZGVhZGxvY2suCgoyMDEyLTAzLTA3IDE0OjU1OjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBwdGRlbXV4OiBzZXQgY2FwcyBhZnRlciBhY3RpdmF0aW5nIHRoZSBwYWQKCSAgU2V0IHRoZSBjYXBzIGFmdGVyIHdlIGFjdGl2YXRlZCB0aGUgcGFkIG9yIGVsc2UgaXQgd2lsbCBqdXN0IGZhaWwuCgoyMDEyLTAzLTA3IDE0OjU0OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSAgbGF3OiBhZGQgbGF5b3V0IHRvIGF1ZGlvIGNhcHMKCjIwMTItMDMtMDcgMTQ6NTE6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgbGF3OiB1c2UgR3N0QXVkaW9JbmZvCgkgIFVzZSBHc3RBdWRpb0luZm8gdG8gZ2VuZXJhdGUgb3V0cHV0IGNhcHMuCgoyMDEyLTAzLTA3IDA0OjIwOjAwIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdGRlbXV4OiBjb3ZlcnQgYXJ0IHRhZyB0eXBlIGlzIEdzdFNhbXBsZSBub3QgR3N0QnVmZmVyIG5vdwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNTM0CgoyMDEyLTAzLTA3IDEwOjI4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogZml4IFBPVEZJTEVTLmluIGZvciBuZXcgd2F2cGFja3BhcnNlIGxvY2F0aW9uIGluIHNvdXJjZSB0cmVlCgoyMDEyLTAzLTA2IDIxOjQ0OjM2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IENoYW5nZSB0aGUgZGVmYXVsdCBwb3J0IHRvIDUwMDQKCSAgdWRwc3JjL3VkcHNpbmsgYXJlIGFsbW9zdCBhbHdheXMgdXNlZCB3aXRoIFJUUCwgc28gbGV0J3MgdXNlIGFuCgkgIFJUUCBwb3J0IGFzIHRoZSBkZWZhdWx0IHBvcnQuICBJdCdzIHVuY2xlYXIgd2h5IDQ5NTEgd2FzIHVzZWQsIGl0CgkgIGdvZXMgYmFjayB0byBlYXJseSBjb21taXRzIGluIENWUy4KCjIwMTItMDMtMDYgMjE6MzY6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTWVyZ2UgYnJhbmNoICcwLjExJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZCBpbnRvIDAuMTEKCjIwMTItMDMtMDYgMTU6NTg6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiB1c2UgYmFzZSBjbGFzcyB0YWcgaGFuZGxpbmcgaGVscGVyCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgdGhlc2UgdG8gYmUgaGFuZGxlZCBhbmQgc2VudCBhdCBwcm9wZXIgdGltZS4KCjIwMTItMDMtMDYgMTQ6MjU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICB3YXZwYWNrOiBGaXggcG9zc2libGUgdW5kZXJmbG93IG9mIHVuc2lnbmVkIGludGVnZXIgdmFyaWFibGUKCjIwMTItMDMtMDYgMTQ6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJwoJICBUaGlzIHZhcmlhYmxlIGNhbiBuZXZlciBiZSBiZWxvdyB6ZXJvIGFueXdheS4KCjIwMTItMDMtMDYgMTQ6MTg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVc2UgY29ycmVjdCBlbnVtIGZvciByZXR1cm4gdmFsdWVzCgoyMDEyLTAzLTA2IDE0OjE2OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJICBkdmRlcGF5OiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJyBjb21waWxlciB3YXJuaW5nCgkgIFRoaXMgd2FzIGFuIGFjdHVhbCBidWcgYXMgaXQgY291bGQndmUgY2F1c2VkIHJlYWRpbmcgZnJvbQoJICBpbnZhbGlkIG1lbW9yeSBhcmVhcyB3aGVuIHRoZSBpbnB1dCBpcyBicm9rZW4uCgoyMDEyLTAzLTA2IDEzOjIxOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCAndmFyaWFibGUgJ29sZGJ4JyBpcyB1bmluaXRpYWxpemVkIHdoZW4gdXNlZCBoZXJlJyBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMy0wNiAxMzoxOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCAnaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0dzdERlaW50ZXJsYWNlRmllbGRzJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZSAnR3N0RGVpbnRlcmxhY2VNb2RlJycgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNSAxNToyOTo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgZ2RrOiBjbGVhbnVwcyBhbmQgZml4IHJvd3N0cmlkZQoJICBGaXggdGhlIG91dHB1dCByb3dzdHJpZGUsIHdlIG5lZWQgdG8gdGFrZSB0aGUgc3RyaWRlIG9mIHRoZSBvdXRwdXQgdmlkZW8gZnJhbWUuCgkgIFNpbmNlIHdlIGFyZSBhbHNvIGRlYWxpbmcgd2l0aCBwbGFuZXMsIHRha2UgdGhlIHBsYW5lIGRhdGEgYW5kIHN0cmlkZS4KCSAgRG9uJ3Qgc3RvcmUgdGhlIHNhbWUgaW5mbyB0d2ljZSBpbiBkaWZmZXJlbnQgdmFyaWFibGVzLgoKMjAxMi0wMy0wNSAxMzozMTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBnZGtwaXhidWY6IGZpeCBldmVudCBoYW5kbGluZwoKMjAxMi0wMy0wNSAxMjoyMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB0ZXN0czogcG9ydCB3YXZwYWNrIHRlc3RzIHRvIDAuMTEKCjIwMTItMDMtMDUgMTM6MzY6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgd2F2cGFja2RlYzogcG9ydCB0byAwLjExCgoyMDEyLTAzLTA1IDEyOjE3OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0wNSAxMzozNDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgd2F2cGFjazogcmVtb3ZlIGxlZ2FjeSB3YXZwYWNrcGFyc2UKCjIwMTItMDMtMDUgMTI6MTU6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBwb3J0IHdhdnBhY2twYXJzZSB0byAwLjExCgoyMDEyLTAzLTA1IDEzOjI5OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYwoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCgkgIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmgKCSAgc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jCgoyMDEyLTAzLTA1IDEyOjQzOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB4LXJhdy1iYXllciAtPiB4LWJheWVyCgoyMDEyLTAzLTA1IDExOjE3OjMwICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICB2NGwyc2luazogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgWEtleWNvZGVUb0tleXN5bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjk5CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMy0wNSAxMjowMzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZTogdXNlIG5ldyBzdHlsZSBjYXBzCgoyMDEyLTAzLTA1IDEwOjQ5OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogYWxsb3cgc29tZSB0aW1lc3RhbXAgdG9sZXJhbmNlIHRvIGFycmFuZ2UgZm9yIHBlcmZlY3QgdGltZXN0YW1waW5nCgkgIC4uLiB3aGljaCBhbHNvIGhhcHBlbnMgdG8gbWFrZSBzb21lIG1vcmUgdW5pdCB0ZXN0cyBwYXNzLgoKMjAxMi0wMy0wNSAxMDo0Nzo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IGZpeCBjb3B5aW5nIG91dHB1dCBkYXRhCgoyMDEyLTAzLTA1IDEwOjQ2OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcmVzdG9yZSBsZWdhY3kgYnVmZmVyIG9mZnNldCBkZWNvcmF0aW5nIHNvbWV3aGF0CgkgIC4uLiBhdCBsZWFzdCBzdWZmaWNpZW50bHkgdG8gYWlkIGluIHJlY29nbml6aW5nIHJld3JpdHRlbiBoZWFkZXIgYnVmZmVyCgkgIG1ha2luZyB1bml0IHRlc3QgcGFzcy4KCjIwMTItMDMtMDUgMTA6NTE6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IGluaXRpYWxpemUgaGVhZGVyIHRvIHNpbGVuY2Ugb2xkZXIgZ2NjIHZlcnNpb25zCgoyMDEyLTAzLTA1IDEwOjQ1OjQ2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogcmVtb3ZlIGVtcHR5IGxpbmVzIGluIHZhcmFibGUgZGVjbGFyYXRpb25zIGNhdXNlZCBieSBvbGQgaW5kZW50CgoyMDEyLTAzLTA1IDEwOjQ0OjU0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBqYWNrOiBmaXggb2J2aW91cyB3cm9uZyBkZWZpbml0aW9uIGZvciB0aGUgbWFzdGVyIGZsYWcKCjIwMTItMDMtMDQgMTk6NTU6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGNoYW5nZSB0aGUgdHJhbnNwb3J0LW1vZGUgZW51bSBpbnRvIGZsYWdzCgkgIE9uZSBjYW4gdXNlIChvciBub3QgdXNlKSBtYXN0ZXIgYW5kIHNsYXZlIG1vZGUgaW5kZXBlbmRlbnRseS4KCjIwMTItMDMtMDIgMTE6NDk6MDIgLTA1MDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHN1cHBvcnQgdXAgdG8gNiBjaGFubmVscyBvZiBBQy0zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyMjAKCjIwMTItMDMtMDMgMTM6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogY2xlYXIgRElTQ09OVCBmbGFnIHdoZW4gcmVjeWNsaW5nIGJ1ZmZlcnMgaW50byB0aGUgYnVmZmVyIHBvb2wKCSAgVGhlIGJhc2UgY2xhc3MgbWF5IGhhdmUgc2V0IHRoZSBESVNDT05UIGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlciBwdXNoZWQKCSAgb3V0LiBXZSBuZWVkIHRvIGNsZWFyIHRoYXQgd2hlbiByZWN5Y2xpbmcgYnVmZmVycyBiYWNrIGludG8gdGhlIGJ1ZmZlcgoJICBwb29sLCBvdGhlcndpc2Ugd2UgY29uc3RhbnRseSBwdXNoIG91dCBidWZmZXJzIHdpdGggdGhlIGRpc2NvbnQgZmxhZwoJICBzZXQsIHdoaWNoIG1pZ2h0IHVwc2V0IGRvd25zdHJlYW0gZWxlbWVudHMsIGVzcC4gZm9yIGNvbXByZXNzZWQKCSAgZm9ybWF0cyBsaWtlIG1wZWctdHMuCgoyMDEyLTAzLTAxIDE0OjE1OjI5ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJzcmM6IGZpeCB2NGwyX211bm1hcCgpIGZvciBjb21wcmVzc2VkIGZvcm1hdHMKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBjYWxsIG11bm1hcCgpIHdpdGggdGhlIHNhbWUgc2l6ZSB3ZSBjYWxsZWQgbW1hcCgpCgkgIHdpdGggYmVmb3JlLgoJICBDdXJyZW50IHY0bDJzcmMgdXNlcyB0aGUgc2FtZSBzdHJ1Y3R1cmUgZm9yIFZJRElPQ19RVUVSWUJVRiwgVklESU9DX1FCVUYKCSAgYW5kIHY0bDJfbXVubWFwIGNhbGxzLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSB2aWRlbyBidWZmZXIgc2l6ZSAobGVuZ3RoKQoJICBtYXkgdmFyeSBmb3IgY29tcHJlc3NlZCBvciBlbXVsYXRlZCBidWZzLiBWSURJT0NfUUJVRiB3aWxsIGNoYW5nZSBpdCBpZgoJICB3ZSBwYXNzIHRoZSBwb2ludGVyIG9mIGEgdjRsMl9idWZmZXIuIFRoaXMgaXMgd2h5IHdlIHNob3VsZCBhdm9pZCB1c2luZwoJICBzYW1lIHZhcmlhYmxlIGZvciBtbWFwIGFuZCB2aWRlbyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMTI2CgoyMDEyLTAzLTAyIDExOjE3OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIHRoZSBnc3RtYXJzaGFsLltjaF0gcmVtb3ZhbAoKMjAxMi0wMy0wMiAxMDoxMzowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgIG1peGVyL2NvbG9yYmFsYW5jZTogVXBkYXRlIGZvciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0wMSAxNzoxNTo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYWFzaW5rOiBmaXggc3RyaWRlCgoyMDEyLTAzLTAxIDExOjM2OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogZGlzYWJsZSBub24tcG9ydGVkIHdhdnBhY2twYXJzZQoKMjAxMi0wMy0wMSAxMToyOTo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmMKCSAgdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jCgoyMDEyLTAyLTI5IDIyOjMxOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogcmVtb3ZlIGRlcHJlY2F0ZWQgcHJvcGVydHkKCjIwMTItMDItMjkgMjI6MzA6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIGdka3BpeGJ1ZnNjYWxlOiByZW1vdmUgZGVwcmVjYXRlZCBwcm9wZXJ0eQoKMjAxMi0wMi0yOSAyMjoyODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJICBnZGtwaXhidWZzaW5rOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjkgMjI6MjU6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgZ2RrcGl4YnVmc2NhbGU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0yOSAyMjoyNDo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgIGdka3BpeGJ1ZmRlYzogcG9ydCB0byAwLjExCgoyMDEyLTAyLTI5IDE3OjI2OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgQVBJIGNoYW5nZXMKCjIwMTItMDItMjggMTM6NTE6MTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgYmFzZXBhcnNlIGJhc2VkIHdhdnBhY2twYXJzZQoKMjAxMi0wMi0yOCAxMTozODo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIHRhZ3MKCjIwMTItMDItMjcgMjM6NDY6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogYWRqdXN0IHRvIGF1ZGlvIGZvcm1hdCBsaW1pdGF0aW9ucwoJICAuLi4gd2hpY2ggZG9lcyBub3QgYWxsb3cgZXhwcmVzc2luZyBhcmJpdHJhcnkgZGVwdGggaW4gYSBHc3RBdWRpb0Zvcm1hdC4KCSAgQWxzbyBhZGp1c3QgdW5pdCB0ZXN0IHRvIG1vZGlmaWVkIGJlaGF2aW91ci4KCjIwMTItMDItMjcgMjM6NDY6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tkZWM6IGRldGVybWluZSBkZXB0aCBmcm9tIGJ5dGVzIHBlciBzYW1wbGUKCSAgLi4uIHJhdGhlciB0aGFuIGZyb20gYml0cyBwZXIgc2FtcGxlLCBzaW5jZSBzcGVjIHN0YXRlcyB2YWx1ZXMgYXJlIGFscmVhZHkKCSAgbGVmdCBqdXN0aWZpZWQgdy5yLnQuIGJpdHMgcGVyIHNhbXBsZSBidXQgbm90IHcuci50LiBieXRlcyBwZXIgc2FtcGxlCgkgIChhbmQgc28gdGhlIGxhdHRlciBkZXRlcm1pbmVzIHRoZSBub3JtYWxpemF0aW9uLCBvciBpbmRpY2F0ZWQgZGVwdGgpLgoKMjAxMi0wMi0yNyAyMzo0NjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgd2F2cGFja2RlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDItMjcgMjM6NDU6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCSAgQWxzbyBhZGp1c3QgdW5pdCB0ZXN0IHRvIHNsaWdodGx5IG1vZGlmaWVkIGJlaGF2aW91ci4KCjIwMTItMDItMjcgMTQ6NDc6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgU3VwcHJlc3MgZGVwcmVjYXRpb24gd2FybmluZ3MgaW4gc2VsZWN0ZWQgZmlsZXMsIGZvciBnX3ZhbHVlX2FycmF5XyogbW9zdGx5CgoyMDEyLTAyLTI3IDEzOjA5OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBjaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoKMjAxMi0wMi0yNyAxMzowNTozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IGV2ZW50IGhhbmRsaW5nCgkgIEZpeCBkb2RneSBzZWdtZW50IGV2ZW50IGhhbmRsaW5nCgkgIENoYWluIHVwIHRvIHBhcmVudCBldmVudCBoYW5kbGVyCgoyMDEyLTAyLTI3IDA5OjE0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogdXNlIHB1YmxpYyBhcGkKCSAgaW5zdGVhZCBvZiBwb2tpbmcgaW50byB0aGUgcHJpdmF0ZSBzdHJ1Y3R1cmVzIG9mIHRoZSBiYXNlIGNsYXNzCgoyMDEyLTAyLTI3IDAxOjA5OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBmbHZtdXgsIG1hdHJvc2thbXV4LCBxdG11eDogaWYgaW4gZG91YnQgYWJvdXQgZG93bnN0cmVhbSBzZWVrYWJpbGl0eSBkZWZhdWx0IHRvIHN0cmVhbWluZz10cnVlCgkgIElmIGRvd25zdHJlYW0gZGlkbid0IGFuc3dlciBvdXIgU0VFS0lORyBxdWVyeSBhbmQgdG9sZCB1cwoJICBpdCdzIHNlZWthYmxlLCBkZWZhdWx0IHRvIHN0cmVhbWluZz10cnVlLiBXZSBjb3VsZG4ndCBkbwoJICB0aGlzIGluIDAuMTAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIGJ1dCB3ZQoJICBjYW4gaW4gMC4xMS4gUGxheSBpdCBzYWZlLgoKMjAxMi0wMi0yNyAwMTowMDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmMKCjIwMTItMDItMjcgMDA6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICdmOTIwNzcyMmNhOGZkOGRjYzFlNzIxNWQ4YWY4NWVmZTRkZWJmZGY0JyBpbnRvIDAuMTEKCjIwMTItMDItMjcgMDA6NTU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IHVwIGFmdGVyIG1lcmdlCgoyMDEyLTAyLTI3IDAwOjQ4OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnMzg1MTZhZDM2NzEyOGQ4M2Y5ZTE1NjUyOTAxOGFkYjQ0MzNjZDMyOCcgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jCgoyMDEyLTAyLTI2IDIwOjM5OjUyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDItMjYgMjA6MzA6MjQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDItMjUgMTU6NTU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogY3JlYXRlIHN0cmVhbWFibGUgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIElnbm9yZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IHNldHRpbmcgYW5kIGNyZWF0ZSBzdHJlYW1hYmxlCgkgIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIGtub3duIG5vdCB0byBiZSBzZWVrYWJsZSAoYXMgcXVlcmllZAoJICB2aWEgYSBTRUVLQUJMRSBxdWVyeSkuCgkgIEZpeGVzIHBpcGVsaW5lcyBsaWtlIHF0bXV4ICEgYXBwc2luayBwb3NzaWJseSBjcmVhdGluZyBzZWVtaW5nbHkKCSAgY29ycnVwdGVkIG91dHB1dCBpZiBzdHJlYW1hYmxlIGhhcyBub3QgYmVlbiBzZXQgdG8gdHJ1ZS4KCjIwMTItMDItMjUgMTU6NDg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBjcmVhdGUgc3RyZWFtYWJsZSBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgSWdub3JlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgc2V0dGluZyBhbmQgY3JlYXRlIHN0cmVhbWFibGUKCSAgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMga25vd24gbm90IHRvIGJlIHNlZWthYmxlIChhcyBxdWVyaWVkCgkgIHZpYSBhIFNFRUtBQkxFIHF1ZXJ5KS4KCSAgRml4ZXMgcGlwZWxpbmVzIGxpa2UgZmx2bXV4ICEgYXBwc2luayBwb3NzaWJseSBjcmVhdGluZyBzZWVtaW5nbHkKCSAgY29ycnVwdGVkIG91dHB1dCBpZiBzdHJlYW1hYmxlIGhhcyBub3QgYmVlbiBzZXQgdG8gdHJ1ZS4KCjIwMTItMDItMjUgMTU6NDA6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogY3JlYXRlIHN0cmVhbWFibGUgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIElnbm9yZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IHNldHRpbmcgYW5kIGNyZWF0ZSBzdHJlYW1hYmxlCgkgIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIGtub3duIG5vdCB0byBiZSBzZWVrYWJsZSAoYXMgcXVlcmllZAoJICB2aWEgYSBTRUVLQUJMRSBxdWVyeSkuCgkgIEZpeGVzIHBpcGVsaW5lcyBsaWtlIHdlYm1tdXggISBhcHBzaW5rIGNyZWF0aW5nIHNlZW1pbmdseQoJICBjb3JydXB0ZWQgb3V0cHV0IGlmIHN0cmVhbWFibGUgaGFzIG5vdCBiZWVuIHNldCB0byB0cnVlLgoKMjAxMi0wMi0yNCAxMTowMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdXBkYXRlIGZvciBiYXNldHJhbnNmb3JtIGNoYW5nZQoKMjAxMi0wMi0yNCAxMDoyNjoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIGNoYW5nZQoKMjAxMi0wMi0yMyAwODo0MjoyNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS52Y3Byb2o6CgkgIGVmZW5jZTogcmVtb3ZlIHBsdWdpbgoJICBWYWxncmluZCBpcyBtdWNoIG1vcmUgdXNlZnVsIHRoZXNlIGRheXMuCgoyMDEyLTAyLTIzIDEyOjA1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkgIFVwZGF0ZSBORVdTIGFuZCBSRUxFQVNFIGFzIHdlbGwKCjIwMTItMDItMjMgMTE6MDc6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJ1bXAgdmVyc2lvbiBhZnRlciByZWxlYXNlCgoyMDEyLTAyLTIzIDEyOjAzOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJICBhdWRpb2Z4OiByZW1vdmUgdHJhbnNmb3JtIGxvY2sgdXNhZ2UKCjIwMTItMDItMjMgMTE6MTY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdXBkYXRlIGZvciBiYXNldHJhbnNmb3JtIGxvY2sgcmVtb3ZhbAoKMjAxMi0wMi0yMiAyMzozNjo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSAgZGVidWd1dGlsczogZGlzYWJsZSBlZmVuY2UgcGx1Z2luIHByb3Blcmx5CgkgIFdlIGRvbid0IHdhbnQgaXQgYnVpbHQgaWYgbW1hcCBpc24ndCBhdmFpbGFibGUgZWl0aGVyLi4KCjIwMTItMDItMjIgMTc6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggZ2V0X2NhcHMgZnVuY3Rpb24gc29tZSBtb3JlIHNvIHRoYXQgYWxsIHN0cnVjdHVyZXMgaGF2ZSBjaGFubmVsIGluZm8KCSAgU2V0IGNoYW5uZWxzIGFuZCBjaGFubmVsLWxheW91dCBvbiB0aGUgcmlnaHQgc3RydWN0dXJlOyB0aGF0IGlzLCB0aGUKCSAgc3RydWN0dXJlIHdlIGFyZSBnb2luZyB0byBhcHBlbmQgdG8gdGhlIGNhcHMgd2UgYXJlIGJ1aWxkaW5nLCBhbmQgbm90CgkgIHRoZSBzdHJ1Y3R1cmUgd2UgYXJlIHVzaW5nIGFzIGEgdGVtcGxhdGUgZm9yIGFsbCB0aGUgc3RydWN0dXJlcy4gRml4ZXMKCSAgZmlyc3Qgc3RydWN0dXJlIG9mIHRoZSByZXR1cm5lZCBjYXBzIG5vdCBoYXZpbmcgYW55IGNoYW5uZWwgaW5mbyBzZXQKCSAgb24gaXQuCgoyMDEyLTAyLTIyIDE3OjA5OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogbWljcm9vcHRpbWlzYXRpb246IGF2b2lkIHVubmVjZXNzYXJ5IGxpc3QgYW5kIHN0cmluZyBjb3BpZXMKCjIwMTItMDItMjIgMTc6MDM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhdWRpbyBjYXBzIGhhdmUgYSAqbGlzdCogb2YgZm9ybWF0cywgbm90IGFuIGFycmF5IG9mIGZvcm1hdHMKCSAgQSBsaXN0IG9mIHRoaW5ncyBpbiBjYXBzIGlzIHNvbWV0aGluZyB3aGVyZSBvbmUgaXMgcGlja2VkIGluIHRoZQoJICBjb3Vyc2Ugb2YgbmVnb3RpYXRpb24uIEFuIGFycmF5IGlzIGFsd2F5cyBzb21ldGhpbmcgdGhhdCBvbmx5IG1ha2VzCgkgIHNlbnNlIGFzIGEgd2hvbGUgaW4gdGhhdCBvcmRlci4KCjIwMTItMDItMjIgMTg6MDI6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgcG9zdC1wb3J0IGJvZ3VzIF91bnJlZgoKMjAxMi0wMi0yMiAxNzowMDoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBib2d1cyBwYWQgbG9ja2luZyB0aGF0IGNhdXNlcyBkZWFkbG9ja3MKCSAgSXQncyBub3QgY2xlYXIgd2h5IHRoZSBwYWQgb2JqZWN0IGxvY2sgaXMgdGFrZW4gaGVyZS4gQnV0CgkgIGdzdF9wYWRfe2hhcyxnZXR9X2N1cnJlbnRfY2FwcygpIHdpbGwgdHJ5IHRvIHRha2UgdGhlIGxvY2sKCSAgYXMgd2VsbCBhbmQgZGVhZGxvY2ssIHNpbmNlIGl0J3Mgbm90IHJlY3Vyc2l2ZS4KCjIwMTItMDItMjIgMTY6NTk6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBzZXQgcmlnaHQgbnVtYmVyIG9mIGNoYW5uZWxzIG9uIGNhcHMgaW4gZ2V0X2NhcHMgZnVuY3Rpb24KCjIwMTItMDItMjEgMTc6MTY6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbjogYXZvaWQgdG91Y2hpbmcgLnBvIGZpbGVzIGR1cmluZyAnbWFrZScKCSAgQSBzaW1wbGUgd29ya2Fyb3VuZCB0byBkZWFsIHdpdGggR05VIGdldHRleHQgYXV0b21ha2UgaW50ZWdyYXRpb24KCSAgZmFpbGluZyB0byBkZWFsIHdpdGggZ2l0LiAgRml4ZXM6ICM2NjkyMDcKCjIwMTItMDItMjIgMDI6MDY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMi0yMSAxNzo1Nzo0NCArMDEwMCAgVmluY2VudCBVbnR6IDx2dW50ekBnbm9tZS5vcmc+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IEZpeCBhIGJ1aWxkIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBhc3NlcnRzIGRpc2FibGVkCgkgIFJldHVybiBhIHZhbHVlIGV2ZW4gaWYgdGhlIGNvZGUgd2lsbCBuZXZlciBiZSByZWFjaGVkLCB0byBtYWtlIGNvbXBpbGVycwoJICBoYXBweS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDU2MQoKMjAxMi0wMi0yMSAxODo0MjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHN1cHBvcnQgcGFyc2luZyBmcmVlZm9ybSBiaXRyYXRlIHN0cmVhbQoKMjAxMi0wMi0yMSAxODozOToxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkgIG1vbm9zY29wZTogcG9ydCB0byAwLjExCgoyMDEyLTAyLTIxIDEwOjUzOjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0yMCAxMjoyMjoxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBGb3JjZSBiYXNlbGluZSBpcyBwcm9maWxlLWxldmVsLWlkIGlzIHVuc3BlY2lmaWVkCgoyMDEyLTAyLTIxIDEwOjQwOjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBGaXggbWVyZ2UgZXJyb3IKCjIwMTItMDItMjAgMTI6MjI6MTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRm9yY2UgYmFzZWxpbmUgaXMgcHJvZmlsZS1sZXZlbC1pZCBpcyB1bnNwZWNpZmllZAoKMjAxMi0wMi0yMCAxNjozNToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMS0yNiAwMzoyOToyOCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMi0xOCAxMTozODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogZml4IHVwIGxldmVsIHRlc3QgZm9yIEdzdFZhbHVlTGlzdCAtPiBHVmFsdWVBcnJheSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDMwMwoKMjAxMi0wMi0xNiAxODowMToyOSArMDIwMCAgUGV0ZXJpcyBLcmlzamFuaXMgPHBlY2lza0BnbWFpbC5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHVzZSBHVmFsdWVBcnJheSBpbnN0ZWFkIG9mIEdzdFZhbHVlTGlzdCBpbiBtZXNzYWdlcwoJICBVcGRhdGVkIEdzdExldmVsIGVsZW1lbnQgdG8gdXNlIEdWYWx1ZUFycmF5IGluc3RlYWQgb2YKCSAgR3N0VmFsdWVMaXN0IGZvciBybXMvcGVhay9kZWNheSBrZXlzIGF0dGFjaGVkIHRvIGVsZW1lbnQKCSAgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDMwMwoKMjAxMi0wMi0xOCAwMDowMDo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTItMDItMTcgMjM6NTQ6MjkgKzAxMDAgIERvbWluaXF1ZSBMZXVlbmJlcmdlciA8ZG9taW5pcXVlLWdub21lemlsbGEgYXQgbGV1ZW5iZXJnZXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBObyBsb25nZXIgcmVmZXJlbmNlIGRlcHJlY2F0ZWQgaGVhZGVyIGZpbGVzIHdoaWxlIGJ1aWxkaW5nIGRvY3MuCgoyMDEyLTAyLTE3IDIzOjQ5OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMKCjIwMTItMDItMTcgMTc6MjE6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBmaXggc3dpdGNoaW5nIGZyb20gcGFzc3Rocm91Z2ggdG8gbm9uLXBhc3N0aHJvdWdoIHdoZW4gcGFyYW1ldGVycyBjaGFuZ2UKCSAgY29tbWl0IGI1YmYwMjk0IG1vdmVkIHRoZSBpZihuZWVkX25ld19jb2VmZmljaWVudHMpIHNldF9wYXNzdGhyb3VnaChlcXUpCgkgIGFmdGVyIHRoZSBpZihpc19wYXNzdGhyb3VnaCkgcmV0dXJuIEZMT1dfT0sgc2hvcnRjdXQsIHNvIHRoZSBwYXNzdGhyb3VnaAoJICBtb2RlIHdvdWxkIG5ldmVyIGdldCB1cGRhdGVkIGV2ZW4gaWYgdGhlIGNvZWZmaWNpZW50cyBjaGFuZ2UuCgkgIEZpeGVzIGVxdWFsaXplci10ZXN0IGRvaW5nIC4uIG5vdGhpbmcuCgoyMDEyLTAyLTE3IDE3OjU3OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tKjogZml4IGxlYWtlZCBjYXBzIGV2ZW50CgoyMDEyLTAyLTE3IDEzOjI2OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHBhcnNlIGVpdGhlciBYaW5nIG9yIFZCUkkgZGF0YQoJICAuLi4gYW5kIGF2b2lkIGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlIGNsYWltaW5nIG5laXRoZXIgcHJlc2VudC4KCjIwMTItMDItMTcgMTQ6Mzg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9zazogZml4IHNlZ21lbnQgdXBkYXRlCgoyMDEyLTAyLTE3IDExOjA1OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjEgPT09CgoyMDEyLTAyLTE3IDExOjA0OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSAgUkVMRUFTRSAwLjExLjEKCjIwMTItMDItMTYgMjM6MzM6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggYnVmZmVyIGxlYWsKCjIwMTItMDItMTYgMjM6NDA6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTAyLTE2IDIzOjMzOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0xNiAxNTozMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDItMTYgMTU6Mjk6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0xNCAxMTo1NjowMCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IHBvcnQgdG8gMC4xMQoJICBQb3J0IG9mIHRoZSBpbnRlcmxlYXZlIGVsZW1lbnQgYW5kIGl0cyB1bml0dGVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2NDMKCjIwMTItMDItMTYgMTQ6MjM6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTE2IDE3OjE0OjIwICswODAwICBHYXJ5IENoaW5nLVBhbmcgTGluIDxjaGluZ3BhbmdAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBmYWlsdXJlIHRvIHF1ZXJ5IHNvbWUgb3B0aW9uYWwgY29udHJvbHMgaXMgbm90IGEgZmF0YWwgZXJyb3IKCSAgRG9uJ3QgcG9zdCBhIChmYXRhbCkgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGp1c3QgYmVjYXVzZSB3ZQoJICBmYWlsZWQgdG8gcXVlcnkgc29tZSBjb250cm9sLiBGaXhlcyBpc3N1ZSB3aXRoIGJ1aWx0LWluCgkgIFN1eWluIENvcnAgd2ViY2FtIGZvciBIUCBub3RlYm9vayAodXNiaWQgMDY0ZTplMjhhKSBvbgoJICBPcGVuU3VzZSAxMi4xLCB3aGVyZSBxdWVyeWluZyByZWQvYmx1ZSBiYWxhbmNlIGZhaWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMTk3CgoyMDEyLTAyLTE2IDEyOjU5OjEwICswMDAwICBUdXVra2EgUGFzYW5lbiA8dHV1a2thLnBhc2FuZW5AaWxtaS5maT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogZml4IGZvciB3ZWJjYW1zdHVkaW8gdmxvb3BiYWNrCgkgIEJlY2F1c2Ugdmxvb2JhY2sgZW1pdHMgMjUgLSBFTk9UVFkgYW5kIG5vIEVJTlZBTCB2NGwyc3JjIHRob3VnaHQgaXQKCSAgY2FuJ3QgaGFuZGxlIHRoaXMgYW5kIGRvZXMgbm90IHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk0NTUKCjIwMTItMDItMTYgMTE6MjE6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sKCSAgSXQncyBob3cgd2Ugcm9sbC4gRml4ZXMgJ0lTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUnCgkgIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDEyLTAyLTE1IDIzOjU1OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZml4IHNwZWN0cnVtIGV4YW1wbGUgYnVpbGQgaXNzdWVzCgkgIEZpbmQgZmZ0IGhlYWRlcnMgaW4gdW5pbnN0YWxsZWQgc2V0dXAsIGZpeCBMSUJTIG9yZGVyLgoKMjAxMi0wMi0xNSAxMjo0MTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHJlbW92ZSBzb21lIHVudXNlZCBkZWNsYXJhdGlvbnMKCjIwMTItMDItMTUgMTE6MjU6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgc3BlY3RydW0tZGVtbzogc2hvdyB0aGUgZWZmZWN0IG9mIGZhc3QtbW9kZQoKMjAxMi0wMi0xNCAxMjoyNjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGFzcGVjdHJhdGlvY3JvcDogZml4IGNhcHMgcmVmY291bnQKCjIwMTItMDItMTQgMTE6MjI6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJICB0ZXN0czogZml4IHRlc3QsIHVzZSB2aWRlb2NvbnZlcnQKCjIwMTItMDItMTQgMTA6NTE6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmMKCjIwMTItMDItMDkgMTM6NDE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRqdXN0IHRvIG1vZGlmaWVkIGJhc2VwYXJzZSBBUEkKCjIwMTItMDItMTMgMTc6MTM6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZQoKMjAxMi0wMi0xMyAxMjowNjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgdGVzdHM6IGZsYWNwYXJzZTogY2hlY2sgYW5kIGNvbXBhcmUgaW50ZW5kZWQgZGF0YQoKMjAxMi0wMi0xMiAxNzowMzozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2MKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYwoJICBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oCgoyMDEyLTAyLTEyIDE2OjIyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYnBsdWdpbi5jOgoJICB0YWdsaWI6IHBvcnQgdG8gR3N0VGFnTXV4IGJhc2UgY2xhc3MKCjIwMTItMDItMTIgMTI6MjQ6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgdGFnbGliOiBmaW5pc2ggb2ZmIGEgZmV3IG1pc3NlZCB2YXJpYWJsZSBjaGFuZ2VzCgkgIExvY2FsIHZhcmlhYmxlcyBhcmUgbm93IHVudXNlZCwgYW5kIHRoZSB2YWx1ZXMgZnJvbSB0aGUgc2VnbWVudCBjb3B5CgkgIGFyZSB1c2VkIGluc3RlYWQsIHNvIHJlbW92ZSB0aGUgbm93IHVzZWxlc3MgbG9jYWwgdmFyaWFibGVzIGFuZCB3cml0ZQoJICB0byB0aGUgc2VnbWVudCB3aGVyZSBhcHByb3ByaWF0ZS4KCjIwMTItMDItMTAgMTY6MjM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYwoJICBleHQvcHVsc2UvcGx1Z2luLmMKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMKCjIwMTItMDItMDggMjM6MDM6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFkZCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgdG8gaDI2NCBzaW5rIGNhcHMKCSAgV2UncmUgaGFwcHkgdG8gYWNjZXB0IGJvdGggYnl0ZS1zdHJlYW0gYW5kIGF2YywgYWR2ZXJ0aXNlCgkgIHRoYXQgb24gdGhlIHNpbmsgY2FwcyBhbmQgZml4IHVwIF9nZXRfY2FwcygpIGZ1bmN0aW9uIHRvCgkgIG5vdCBqdXN0IHJldHVybiAidmlkZW8veC1oMjY0Ii4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMi0wMi0wOCAyMDo1ODowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGFkZCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgZmllbGRzIHRvIHNyYyB0ZW1wbGF0ZSBjYXBzCgkgIEJlY2F1c2Ugd2UgY2FuLiBBbmQgc28gd2UgZ2V0IGEgd2FybmluZyBpZiB3ZSB0cnkgdG8gb3V0cHV0IGF2YyB3aXRoCgkgIG5hbCBhbGlnbm1lbnQgb3Igc29tZXN1Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTItMDItMTAgMTM6NDQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGNsZWFuIHVwIHJ0cC1wYXlsb2FkaW5nIHRlc3QgYSBsaXR0bGUKCSAgRmVlZCBkYXRhIGludG8gdGhlIHBpcGVsaW5lIHVzaW5nIGFwcHNyYyBpbnN0ZWFkIG9mIGZkc3JjIGFuZAoJICBhIHBpcGUuIFN0b3JlIHVuc2lnbmVkIGJ5dGUgdmFsdWVzIGluIGd1aW50OCBpbnN0ZWFkIG9mIGNoYXIuCgkgIEdldHRpbmcgcmlkIG9mIHRoZSBjYXBzZmlsdGVyIGFsc28gaGVscHMgdG8gYXZvaWQgJ2Zvcm1hdCBpcwoJICBub3QgZnVsbHkgc3BlY2lmaWVkJyB3YXJuaW5ncyB3aGVuIHB1c2hpbmcgInZpZGVvL3gtaDI2NCIgZGF0YQoJICBpbnRvIHJ0cGgyNjRwYXkgd2l0aCBmdWxseSBzcGVjaWZpZWQgaDI2NCBjYXBzIGluIHRoZSBzaW5rIHRlbXBsYXRlLgoKMjAxMi0wMi0xMCAxMDowNzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2OiB1c2UgZGVmYXVsdCBwYWQgcXVlcnkKCSAgV2UgbmVlZCB0byBjaGFpbiB1cCB1bmtub3duIHF1ZXJpZXMgdG8gdGhlIGRlZmF1bHQgcXVlcnkgaGFuZGxlciBpbnN0ZWFkIG9mCgkgIGJsaW5kbHkgZm9yd2FyZGluZyB0aGVtLiBJbiB0aGlzIGNhc2UgaXQgY2F1c2VkIHRoZSBjYXBzIHF1ZXJ5IHRvIGJlIGZvcndhcmRlZAoJICB0byB0aGUgdXBzdHJlYW0gdHlwZWZpbmQgYW5kIHJldHVybiB0aGUgd3JvbmcgdHlwZSBmb3IgdGhlIGF1ZGlvL3ZpZGVvIHBhZC4KCjIwMTItMDItMDkgMjI6MTI6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSAgdGVzdHM6IG1wZWdhdWRpb3BhcnNlOiByZW1vdmUgc3RyYXkgZGVjbGFyYXRpb24KCjIwMTItMDItMDkgMjI6MDc6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogY29ycmVjdGx5IHNldCBBRElGIHNyYyBjYXBzCgoyMDEyLTAyLTA5IDIyOjEwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByZXZlbnQgYSBmZXcgZGlyZWN0IGV4aXRzIHdpdGhvdXQgY2xlYW51cAoKMjAxMi0wMi0wOSAyMjowNzoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHNoaWZ0IGluIHByb3BlciBkaXJlY3Rpb24gZm9yIGF1ZGlvIHNhbXBsZSBjb252ZXJzaW9uCgoyMDEyLTAyLTA5IDE4OjA5OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24KCjIwMTItMDItMDkgMTA6MTE6NDggKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHR5cG8gZml4IChieXRlcyBzZW5kIC0+IGJ5dGVzIHNlbnQpCgoyMDEyLTAyLTA4IDE2OjM0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEdTVF9GTE9XX1dST05HX1NUQVRFIC0+IEdTVF9GTE9XX0ZMVVNISU5HCgoyMDEyLTAyLTA3IDE0OjEwOjQ0IC0wODAwICBSYWxwaCBHaWxlcyA8Z2lsZXNAbW96aWxsYS5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBzZW5kIHZpZGVvL3dlYm0gdGhyb3VnaCBsaWJzaG91dC4KCSAgVGhpcyByZXF1aXJlcyBTSE9VVF9GT1JNQVRfV0VCTSwgYWRkZWQgaW4gbGlic2hvdXQgMi4zLjAsCgkgIHNvIHZpZGVvL3dlYm0gc3VwcG9ydCBpcyBjb250aW5nZW50IG9uIHRoYXQgc3ltYm9sIGJlaW5nCgkgIGRlZmluZWQuCgkgIEFsc28gYW4gaW5kZW50YXRpb24gY2hhbmdlIHJlcXVpcmVkIGJ5IHRoZSBwcmUtY29tbWl0IGhvb2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk1OTAKCjIwMTItMDEtMzAgMTY6NDA6MTkgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogcG9ydCB0byAwLjExCgkgIFBvcnQgb2YgdGhlIGRlaW50ZXJsZWF2ZSBlbGVtZW50IGFuZCBpdHMgdW5pdHRlc3RzLiBUaGUgaW50ZXJsZWF2ZQoJICBlbGVtZW50IHdpbGwgYmUgcG9ydGVkIGFzIHBhcnQgb2YgYW5vdGhlciBwYXRjaCwgaGVuY2UgZGlzYWJsaW5nIGl0CgkgIGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg4NDcKCjIwMTItMDItMDcgMjM6NDE6MTMgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBjb21waWxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTYwNwoKMjAxMi0wMi0wOCAwMDowODo0OSArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHdhdmVmb3Jtc2luazogUG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2MTIKCjIwMTItMDItMDcgMjE6NTc6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogcmV3b3JrIHRyYW5zcG9ydCBzdXBwb3J0CgkgIE1vdmUgY29tbW9uIGNvZGUgdG8gamFja2NsaWVudC4gVGhlcmUgd2UgY2FuIGFsc28gaGFuZGxlIHRoZSByZXF1ZXN0IHN0YXRlCgkgIG1lc3NhZ2UgaW4gYSBiZXR0ZXIgd2F5LCBhcyB0aGUgZWxlbWVudCBjYWxsYmFja3MgYXJlIG9ubHkgcnVuIGlmIHRoZSBlbGVtZW50IGlzCgkgIGFjdGl2ZS4KCjIwMTItMDItMDcgMTA6NDc6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICB0ZXN0czogaW1wcm92ZSB0YWdtdXggdGVzdHMKCjIwMTItMDItMDcgMTA6Mjk6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICB0YWdsaWI6IGZpeCBvYmplY3QgcmVnaXN0cmF0aW9uCgkgIFdlIGNhbid0IHVzZSBHX0RFRklORV9UWVBFIGJlY2F1c2UgdGhlIGNsYXNzIGlzIG5vdCBzZXQgaW4gdGhlIGNsYXNzX2luaXQgYW5kIHdlCgkgIG5lZWQgaXQgdG8gZ2V0IHRoZSBzcmNwYWQgdGVtcGxhdGUuCgkgIEZpeCBhIGNhcHMgbGVhawoKMjAxMi0wMi0wNyAxMDoxNjozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAgdGVzdHM6IGZpeCBqcGVnIHRlc3QKCjIwMTItMDItMDcgMTA6MTU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBmaXggY2FwcwoKMjAxMi0wMi0wNyAwOTo1NDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBlZmZlY3R0djogZml4IGluaXRpYWxpc2F0aW9uCgoyMDEyLTAyLTA3IDA5OjQyOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtOiBmaXggbmVnb3RpYXRpb24KCjIwMTItMDItMDcgMDk6NDE6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDIyOjEzOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2OiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDYgMTg6MzU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3Q6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDE1OjUyOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAxNTo1MjozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBmaXggY2FwcwoKMjAxMi0wMi0wNiAxNToyMDo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBpaXJlcXVhbGl6ZXI6IGZpeCBlcXVhbGl6ZXIgYW5kIHVuaXQgdGVzdAoKMjAxMi0wMi0wNiAxMzo0NDoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkgIHRlc3RzOiBmaXggc29tZSBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDEzOjQzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB0YWtlIHRoZSBwYWQgZnJvbSBjb2xsZWN0cGFkczIgY29ycmVjdGx5CgoyMDEyLTAyLTA2IDEzOjI5OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTItMDItMDYgMTM6Mjg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9keW5hbWljOiBmaXggbmVnb3RpYXRpb24KCjIwMTItMDEtMjggMTE6MTM6MTYgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIHBvc3RpbmcgaW52YWxpZCBkdXJhdGlvbiBmb3IgZWFjaCBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NTgzCgoyMDEyLTAyLTA2IDEwOjA3OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMDk6NDk6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogaW1wcm92ZSBzb21lIHRlc3RzCgoyMDEyLTAyLTA2IDA5OjIzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBmaXggaml0dGVyYnVmZmVyIHRlc3QKCjIwMTItMDItMDYgMDk6MjM6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggY2FwcyBhZnRlciBwdCBjaGFuZ2UKCjIwMTItMDItMDYgMDk6MTg6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAyLTAzIDIyOjA1OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgcHVsc2VhdWRpb3Npbms6IExvd2VyIHJhbmsgdG8gcHJldmVudCBhdXRvcGx1Z2dpbmcKCSAgcHVsc2VhdWRpb3NpbmsgYnJlYWtzIHZpc3VhbGlzYXRpb25zIGluIGl0cyBjdXJyZW50IGZvcm0sIHNvIGxldCdzCgkgIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvcGx1Z2dlZCBmb3IgdGhlIHRpbWUgYmVpbmcuCgkgIFRoZSBiZXN0IHdlIGNhbiBob3BlIHRvIGRvIGluIHRoZSAwLjEwIHNlcmllcyBpcyBxdWVyeSB0aGUgbGlzdCBvZgoJICBhdmFpbGFibGUgc2lua3MgYW5kIHRoZWlyIGZvcm1hdHMsIGFuZCBleHBvc2UgdGhlc2UgYXMgdGhlIGJpbidzIHNpbmtwYWQKCSAgY2Fwcy4gV2hpbGUgdGhpcyBpcyBub3QgYSBjb21wcmVoZW5zaXZlIHNvbHV0aW9uLCBpdCB3aWxsIG1ha2Ugc3VyZSB0aGF0CgkgIHdlJ3JlIG9ubHkgdHJ5aW5nIHRvIHN1cHBvcnQgY29tcHJlc3NlZCBmb3JtYXRzIGlmIHdlJ3JlIGNlcnRhaW4gdGhhdAoJICBvbmUgZXhpc3RzLgoJICBUaGUgbG9uZy10ZXJtIGZpeCBmb3IgdGhpcyB3aWxsIGJlIGluIHRoZSBmb3JtIG9mIHByb3BlciB1cHN0cmVhbQoJICByZW5lZ290aWF0aW9uIHN1cHBvcnQgaW4gdGhlIDAuMTEvMS4wIHNlcmllcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjM2MQoKMjAxMi0wMi0wMyAxNzoyMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTAzIDE2OjEzOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggc29tZSBtb3JlIHRlc3RzCgoyMDEyLTAyLTAzIDE2OjEyOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHNyY3BhZCBjYXBzIGhhbmRsaW5nCgoyMDEyLTAyLTAzIDE2OjEyOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBjbW1sZW5jOiBmaXggY2FwcyBoYW5kbGluZwoKMjAxMi0wMi0wMyAxNDo1MzozMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBldmVudCBsZWFrIHdoZW4gdGhlcmUgaXMgbm8gcGVlciBvbiB0aGUgc3JjIHBhZAoKMjAxMi0wMi0wMiAxNjoyMToyOSArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAxMi0wMi0wMiAxMjoyNzowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHNwZWNpZnkgd2Ugb25seSBhY2NlcHQgcmF3IEFBQyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIE5vIGhlYWRlciBzZWVtcyB0byBiZSBhZGRlZCwgYW5kIHRoZSBjb2RlYyBJRCBpcyB0aGUgc2FtZSBhcyB1c2VkCgkgIGZvciByYXcgYnkgZmx2ZGVtdXgsIHNvIHJhdyBzZWVtcyB0aGUgb25seSBzdXBwb3J0ZWQgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMjoyNToyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzcGVjaWZ5IHdlIG9ubHkgb3V0cHV0IHJhdyBBQUMgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAxIDE4OjAxOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgdGFnbGliOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDEgMTY6NDA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJICBidWlsZDogaWdub3JlIEdWYWx1ZUFycmF5IGRlcHJlY2F0aW9uIHdhcm5pbmdzIGZvciB0aGUgdGltZSBiZWluZwoJICB1bnRpbCB0aGlzIGdldHMgc29ydGVkIG91dCB3aXRoIHRoZSBHTGliIGZvbGtzIGFuZCB3ZSBoYXZlIGEKCSAgdmlhYmxlIGFsdGVybmF0aXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjI4CgoyMDEyLTAyLTAxIDE2OjM2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkgIHB1bHNlOiBkaXNhYmxlIHNvbWUgdW51c2VkIHByb3BlcnR5IHByb2JlIGNvZGUKCSAgd2hpY2ggd2FzIHVzaW5nIEdWYWx1ZUFycmF5CgoyMDEyLTAyLTAxIDE2OjExOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjowNTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhYzogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAxLTMxIDE1OjM5OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMS0zMCAxNDo1MjozNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwbXAydHBheTogZG8gbm90IHRyeSB0byBmbHVzaCBhIHBhY2tldCB3aGVuIG5vIGRhdGEgaXMgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg4NzQKCjIwMTItMDEtMzEgMTM6NDE6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IHVwZGF0ZSBzb21lIHRlc3RzIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMS0zMSAxMjoyMjoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbC1zb3VyY2UgdHlwZSBjaGFuZ2VzCgoyMDEyLTAxLTMwIDIxOjM5OjM0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiByZW5hbWUgY29udHJvbC1iaW5kaW5ncwoJICBnc3RfY29udHJvbF9iaW5kaW5nX3h4eCAtPiBnc3RfeHh4X2NvbnRyb2xfYmluZGluZyBmb3IgY29uc2lzdGVuY3kuCgoyMDEyLTAxLTMwIDE3OjE2OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgdXBkYXRlIGZvciBIRUFERVIgZmxhZwoKMjAxMC0wNi0xMSAwODozNjozMyArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IEV4Y2x1ZGUgTkFMdSBzaXplIGZyb20gcGF5bG9hZCBsZW5ndGggb24gdHJ1bmNhdGVkIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4NDYKCjIwMTItMDEtMjggMjM6MzU6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIG9ic29sZXRlIHZhcmlhYmxlLCBzZXQgYnV0IG5vdCB1c2VkCgkgIFJlcG9ydGVkIGJ5IGFuZHJlZGllYiBvbiAjZ3N0cmVhbWVyLgoKMjAxMi0wMS0yOCAxMzowNTowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGF2b2lkIHdyYXBwaW5nIG9wYXF1ZSB0byB0cmFuc3BhcmVudAoKMjAxMi0wMS0yOCAxMjozNToxMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgZnJlZSBtZW1vcnkgdHdpY2UKCSAgQSByZWNlbnQgY2hhbmdlIHRvIGZpeCBsZWFraW5nIGNvZGVjIElEIHN0cmluZyBhY2NpZGVudGFsbHkgY2F1c2VkCgkgIG9uZSBvZiB0aGUgdmVyeSBmZXcgcGxhY2VzIHRoYXQgd2VyZW4ndCBsZWFraW5nIHRvIG5vdyBmcmVlIHR3aWNlLgoKMjAxMi0wMS0yNyAxNjoyNzo0OSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgYWxhd2RlYzogRWFjaCBvdXRwdXQgc2FtcGxlIGlzIDIgYnl0ZXMKCjIwMTItMDEtMjcgMTI6MTQ6NDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCBsZWFrIGNhcHMgZXZlbnQgd2hlbiBub3QgcHVzaGluZwoKMjAxMi0wMS0yNyAxMjowNDo1MyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogRm9yd2FyZCBzdGlja3kgZXZlbnRzCgoyMDEyLTAxLTI3IDEyOjA0OjA1ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBQcm90ZWN0IGFsbCB1c2VzIHBhZCBsaXN0IHdpdGggT0JKRUNUIExPQ0sKCSAgQWN0dWFsbHkgcHJvdGVjdCB0aGUgZW50aXJlIHBhZCBsaXN0IGFuZCB1c2UgaXQgaW4gYSB0aHJlYWQgc2FmZQoJICB3YXkuCgoyMDEyLTAxLTI3IDEyOjAyOjI1ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRm9yd2FyZCBzdGlja3kgZXZlbnRzIHRvIG5ldyBwYWRzCgoyMDEyLTAxLTI3IDEyOjAxOjQwICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogQWRkIHNzcmMgdG8gZm9yd2FyZGVkIENBUFMgZXZlbnRzCgkgIEFsc28gaXRlcmF0ZSB0aGUgbGlzdCBvZiBHc3RSdHBTc3JjRGVtdXhQYWQgc2FmZWx5CgoyMDEyLTAxLTI3IDExOjU5OjA4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNjZGVtdXg6IEZhY3RvciBvdXQgZ2V0dGluZyBkcGFkIGJ5IHBhZAoKMjAxMi0wMS0yNiAxODozNTo0OCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogS2VlcCB0aGUgYnVmZmVyIG1hcHBlZCB3aGlsZSBpdCBpcyBiZWluZyBtb2RpZmllZAoKMjAxMi0wMS0yNiAxODozNToyNyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogSW5pdGlhbGlzZSB0aGUgYWRkcmVzcyBwb2ludGVyIHRvIE5VTEwKCjIwMTItMDEtMjcgMTY6Mzc6MTkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3NvdW5kc2luazogUG9ydCBlbGVtZW50IHRvIDAuMTEKCjIwMTItMDEtMjYgMTk6NDg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogcmVtb3ZlIHBhZCBldmVudCBmdW5jdGlvbgoJICBXZSB1c2UgdGhlIG9uZSBmcm9tIGNvbGxlY3RwYWRzCgoyMDEyLTAxLTI2IDE4OjI2OjAyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTMyNjEyNjExMjBiNGMwMDhkZTYxNjkxYzcwZTk0MzU0YjI4MDA0YS4KCSAgVGhlIEdzdERhdGVUaW1lLT5HRGF0ZVRpbWUgY2hhbmdlIGluIGNvcmUgd2FzIGFwcGFyZW50bHkgYWNjaWRlbnRhbCwKCSAgYW5kIGlzIG5vdyByZXZlcnRlZC4KCjIwMTItMDEtMjYgMTg6MjU6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgImF2aWRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFjYzlmMTUwOTY4YjI1YzVhZTVhNjk0MGIzNGFkMmQ1MWIxNzRmZDIuCgkgIFRoZSBHc3REYXRlVGltZS0+R0RhdGVUaW1lIGNoYW5nZSBpbiBjb3JlIHdhcyBhcHBhcmVudGx5IGFjY2lkZW50YWwsCgkgIGFuZCBpcyBub3cgcmV2ZXJ0ZWQuCgoyMDEyLTAxLTI2IDE3OjUwOjMwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAKCSAgVGhpcyBpcyBhIGJsaW5kIGZpeCB0byBtYXRjaCB0aGUgb25lIEkganVzdCBtYWRlIHRvIHF0ZGVtdXgsCgkgIGFzIEkgZG8gbm90IGhhdmUgYW4gQVZJIGZpbGUgd2hlcmUgdGhlIGNvZGUgZ2V0cyBleGVjdXRlZC4KCjIwMTItMDEtMjYgMTc6NDc6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAKCjIwMTItMDEtMjYgMTg6NTE6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBtb3JlIGZpeGVzCgoyMDEyLTAxLTI2IDE4OjQzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogbWFrZSB2aWRlb21peGVyIHdvcmsgc29tZXdoYXQKCjIwMTItMDEtMjYgMTg6MTU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IHBvcnQgdG8gMC4xMQoJICBJdCBidWlsZHMgYW5kIGdzdC1pbnNwZWN0LTAuMTEgd29ya3MuLiBvdGhlcndpc2UgdW50ZXN0ZWQKCjIwMTItMDEtMjYgMTU6NDg6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIGR5bnVkcHNpbms6IGZpeCBnZXQtc3RhdHMgc2lnbmFsIHJlZ2lzdHJhdGlvbiBzb21lIG1vcmUKCjIwMTItMDEtMjYgMTU6NDY6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgUmV2ZXJ0ICJ1ZHA6IG1hcmsgYWN0aW9uIHNpZ25hbHMgYXMgUlVOX0ZJUlNUIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVjODMwODU5OTEyOWQ5ZTE2MDZlZWRiMmQzNTQzNjE3NjU4ZGMzMDYuCgoyMDEyLTAxLTI2IDE1OjM5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogbWFyayBhY3Rpb24gc2lnbmFscyBhcyBSVU5fRklSU1QKCjIwMTItMDEtMjYgMTU6Mzc6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIHVkcDogbWFyayAiZ2V0LXN0YXRzIiBhcyBhY3Rpb24gc2lnbmFsCgoyMDEyLTAxLTI2IDE1OjMwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBmaXggZ2V0LXN0YXRzIGFjdGlvbiBzaWduYWwgcmVnaXN0cmF0aW9uCgkgIEl0IHJldHVybnMgYSBHc3RTdHJ1Y3R1cmUgbm93LCBub3QgYSBHVmFsdWVBcnJheQoKMjAxMi0wMS0yNiAxNjowNTozNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggcHJpbnQgZm9ybWF0CgoyMDEyLTAxLTI2IDExOjUwOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBGaXggc2l6ZSBvZiBvdXRwdXQgYnVmZmVycwoKMjAxMi0wMS0yNiAxMTozMzowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluY2x1ZGUgcmlnaHQgY29sbGVjdHBhZHMgdmVyc2lvbgoKMjAxMi0wMS0yNiAxMToyOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJvcGVybHkgdXNlIHRoZSBhbGlnbm1lbnQgcGFyYW1ldGVyIG9mIGdzdF9idWZmZXJfbmV3X2FsbG9jYXRlKCkKCSAgSXQncyBhIGJpdG1hc2sgZm9yIHRoZSBhbGlnbm1lbnQsIG5vdCB0aGUgYWxpZ25tZW50IGl0c2VsZi4KCjIwMTItMDEtMjYgMTE6MTg6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IFByb3Blcmx5IHVubWFwIFdSSVRFIG1hcHMgb2YgdGhlIG91dHB1dCBidWZmZXJzCgoyMDEyLTAxLTI2IDEwOjQ0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDo0MDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDozNzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDoyODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFVwZGF0ZSBmb3IgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6Mjc6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBVcGRhdGUgZm9yIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI1IDE4OjQxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9ubHkgZm9yd2FyZCB0aGUgZXZlbnQgd2hlbiB3ZSBkaWRuJ3QgaGFuZGxlIGl0IG91cnNlbHZlcwoKMjAxMi0wMS0yNSAxODo0MDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IHNvbWUgbW9yZSBwb3J0aW5nCgoyMDEyLTAxLTI1IDE4OjAwOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSAgdmlkZW9taXhlcjogcG9ydCBibGVuZCBmdW5jdGlvbgoKMjAxMi0wMS0yNSAxNjo1ODoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoJICAob3IgcmF0aGVyIGNpcmN1bXZlbnQgaXNzdWVzIHdpdGggbmFpdmUgY29tcGlsZXJzIC4uLikKCjIwMTItMDEtMjUgMTU6MjE6NDQgKzAwMDAgIEpheWFrcmlzaG5hbiBNIDxqYXkua3Jpc2huYW5tQGdtYWlsLmNvbT4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm86IGZpeCBidWlsZCwgbWFrZSBzdXJlIGxpYmdzdHZpZGVvIGNhbiBiZSBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NjQ4CgoyMDEyLTAxLTI1IDEzOjE5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGRvbid0IHByZXRlbmQgb3VyIHJhbmRvbSBob3N0bmFtZXMgYXJlIGZ1bGx5LXF1YWxpZmllZCBkb21haW4gbmFtZXMKCjIwMTItMDEtMjUgMTM6NDc6MzAgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0NjNiYzAgdG8gN2ZkYTUyNAoKMjAxMi0wMS0yNSAxMjo0OTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJzAuMTEnIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kIGludG8gMC4xMQoKMjAxMi0wMS0yNSAxMjo0OToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYwoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jCgoyMDEyLTAxLTI1IDEyOjQxOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEyOjQxOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI0IDE0OjM4OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIG1vcmUgbWVtb3J5IEFQSSBwb3J0aW5nCgoyMDEyLTAxLTIzIDE3OjI1OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMTozODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDJhNTkwMTYgdG8gYzQ2M2JjMAoKMjAxMi0wMS0yNCAxODoyNDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGRpc2FibHkgc25hcHNob3QgYmVoYXZpb3VyIGJ5IGRlZmF1bHQKCSAgLi4uIHNpbmNlIHN1Y2ggYmVoYXZpb3VyIGlzIG5vdCBjb25zaXN0ZW50LCBpZiBhbGxvd2FibGUgYXQgYWxsLgoKMjAxMi0wMS0yNCAxODoyMzoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIHBuZ2RlYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI0IDE4OjIxOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI0IDE0OjUzOjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHN0cmluZyBsZWFrCgoyMDEyLTAxLTI0IDE0OjUyOjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHVzZSBvZiBmcmVlZCBtZW1vcnkKCjIwMTEtMTItMDEgMTU6NDk6NDAgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgRG9uJ3QgY3Jhc2ggb24gZW1wdHkgbGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTIyNAoKMjAxMi0wMS0yMyAxMzoxNTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBkb24ndCByZXZlYWwgdGhlIHVzZXIncyB1c2VybmFtZSwgaG9zdG5hbWUgb3IgcmVhbCBuYW1lIGJ5IGRlZmF1bHQKCSAgU2VuZCBhIHJhbmRvbWx5IG1hZGUtdXAgdXNlckBob3N0bmFtZSBhcyBDTkFNRSBhbmQgZG9uJ3QKCSAgc2VuZCBhIE5BTUUgYXQgYWxsIGJ5IGRlZmF1bHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgzMjAKCjIwMTItMDEtMjEgMjA6MDc6NTYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IG1vdmUgZnJvbSBjb250cm9sLWJpbmRpbmcgdG8gY29udHJvbC1iaW5kaW5nLWRpcmVjdAoKMjAxMi0wMS0yMiAyMzozMToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIEFQSQoKMjAxMi0wMS0yMiAyMzoxNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgVXNlIG5ldyBHTGliIEFQSSB1bmNvbmRpdGlvbmFsbHkKCjIwMTItMDEtMjAgMTc6MDY6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzaW1wbGlmeSBpbnRlcm5hbCBzcmMgZXZlbnQgZGVidWcgbG9nZ2luZwoJICAuLi4gd2hpY2ggYXZvaWRzIGFsbW9zdCBzdXBlcmZsdW91cyBvYnRhaW5pbmcgb2YgcnRzcCBlbGVtZW50LgoKMjAxMi0wMS0yMCAxNzowMzo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIE5VTEwgc3RyaW5nIGNvbXBhcmlzb24KCjIwMTItMDEtMjAgMTc6MDM6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYXJyYW5nZSBmb3IgaW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEyLTAxLTIwIDE3OjAyOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogcHJldmVudCBvdXQtb2YtYm91bmQgYXJyYXkgYWNjZXNzCgoyMDEyLTAxLTIwIDE3OjAxOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBpc29tcDQ6IHJlY292ZXJ5OiBhZGQgc2FuaXR5IGNoZWNrCgkgIC4uLiBvbiBwb3NzaWJseSBib2d1cy9jb3JydXB0IGlucHV0IGRhdGEuCgoyMDEyLTAxLTIwIDE3OjAwOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IHJlbW92ZSBkZWFkIGNvZGUKCjIwMTItMDEtMjAgMTY6NTg6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiByZW1vdmUgcmVkdW5kYW50IHZhcmlhYmxlCgoyMDEyLTAxLTIwIDE2OjU3OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGFyaXRobWV0aWMgZm9yIHVuc2lnbmVkIGNvbXBhcmlzb24KCjIwMTItMDEtMjAgMTY6NTU6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBhZGQgdmFyaW91cyBtaXNzaW5nIGJyZWFrCgoyMDEyLTAxLTIwIDE2OjU0OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHR3ZWFrIERFRkFVTFQgZm9ybWF0IGR1cmF0aW9uIHF1ZXJ5IHJlc3BvbnNlCgoyMDEyLTAxLTIwIDE2OjQ5OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IHJlbW92ZSByZWR1bmRhbnQgc3RhdGVtZW50CgoyMDEyLTAxLTIwIDE2OjQ4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaW1wcm92ZSB1cHN0cmVhbSBwZWVyIGR1cmF0aW9uIHF1ZXJ5aW5nCgkgIC4uLiB0byBhdm9pZCBhY2NlcHRpbmcgdW5oYW5kbGVkIGR1cmF0aW9uIHF1ZXJ5IHJlc3VsdC4KCjIwMTItMDEtMjAgMTY6NDc6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBhZGRpdGlvbmFsIGVycm9yIGNvbmRpdGlvbiBjaGVja2luZwoKMjAxMi0wMS0yMCAxNjo0NjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkaXRpb25hbCBlcnJvciBjb25kaXRpb24gY2hlY2tpbmcKCjIwMTItMDEtMjAgMTY6NDQ6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBjaGVjayBfYWxsb2NfYnVmZmVyIHJlc3VsdCBhbmQgcGVyZm9ybSBmYWxsYmFjayBhbGxvYyBpZiBuZWVkZWQKCSAgLi4uIHJhdGhlciB0aGFuIGNhcnJ5aW5nIG9uIHdpdGggTlVMTCBidWZmZXIuCgoyMDEyLTAxLTIwIDE0OjQ1OjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sIGJpbmRpbmcgY2hhbmdlcwoKMjAxMi0wMS0yMCAxMTozNzozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbGxlciBhcGkgY2hhbmdlcwoJICBEb24ndCB1c2UgdGhlIGNvbnZlbmllbmNlIGFwaSBmb3IgY29udHJvbCBzb3VyY2VzLgoKMjAxMi0wMS0xOSAxNDoyNDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC0tZGlzYWJsZS1mYXRhbC13YXJuaW5ncyBjb25maWd1cmUgb3B0aW9uCgoyMDEyLTAxLTE5IDEyOjQ0OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBBUEkKCjIwMTItMDEtMTkgMTE6MzM6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgcG9ydCB0byBuZXcgZ3RocmVhZCBBUEkKCjIwMTItMDEtMTggMTY6NTg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBHSU8gY2hlY2ssIHRoaXMgaXMgaW4gZ3N0LWdsaWIyLm00IG5vdwoKMjAxMi0wMS0xOCAxNjo0NjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA4MDcxODcgdG8gMmE1OTAxNgoKMjAxMi0wMS0xOCAxNjoxNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBHTGliIDIuMzEuMTAgYW5kIGltcHJvdmUgR0lPIGNoZWNrCgoyMDEyLTAxLTE3IDE2OjU4OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogUmVtb3ZlIHVubmVlZGVkIHNvY2tldC5oIGluY2x1ZGUKCjIwMTItMDEtMTcgMTY6NTM6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICBjb25maWd1cmU6IFJlbW92ZSBzb2NrZXQvd2luc29jayBzcGVjaWZpYyBjaGVja3MKCSAgTm90IG5lY2Vzc2FyeSBhbnltb3JlLgoKMjAxMi0wMS0xNyAxNjo0OToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVcGRhdGUgZm9yIHRoZSBuZXcgR0lPIHZlcnNpb25zIG9mIHRoZSB1ZHAgZWxlbWVudHMKCjIwMTItMDEtMTcgMTM6MDg6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDExOjE5OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdJTyAyLjMxLjEwCgoyMDEyLTAxLTE3IDExOjE4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IFJlbW92ZSBub3cgdW5lY2Vzc2FyeSBjb2RlCgoyMDEyLTAxLTE3IDExOjE4OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgdWRwc2luay9tdWx0aXVkcHNpbms6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDA5OjM4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZHludWRwc2luazogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMDk6MzI6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICBkeW51ZHBzaW5rOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAwOTowMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE2IDE3OjUxOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGN1dHRlcjogZml4IGxlYWsgb2YgdW51c2VkIEdWYWx1ZQoKMjAxMi0wMS0xNiAxNjoxMDowOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIHRlc3RzOiBmaXggYXV0b2RldGVjdCB0ZXN0IG5vdCB0ZXN0aW5nIGNvcnJlY3RseSBmb3Igc3RhdGUgY2hhbmdlIHN1Y2Nlc3MKCSAgU3RhdGUgY2hhbmdlIHRvIFBBVVNFRCBjYW4gYmUgZG9uZSBhc3luYywgc28gaWYgdGhpcyBoYXBwZW5zLCB3ZSBuZWVkCgkgIHRvIHdhaXQgZm9yIHRoZSBjaGFuZ2UgdG8gYmUgZG9uZSAob3IgZmFpbGVkKS4KCjIwMTItMDEtMTYgMTU6NDI6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xNiAxMjoxMzo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IG1ha2UgaW50ZXJsYWNlZG5lc3MgdGVzdCBkZXRlcm1pbmlzdGljCgkgIElmIHRoZSBpbnRlcmxhY2VkIGZsYWcgaXMgbm90IHByZXNlbnQgaW4gdGhlIGNhcHMsIHdlIGFzc3VtZSB0aGUKCSAgZGF0YSBpcyBub3QgaW50ZXJsYWNlZCwgaW5zdGVhZCBvZiBsZWF2aW5nIHRoZSBib29sZWFuIHVuaW5pdGlhbGl6ZWQuCgoyMDEyLTAxLTEzIDE4OjEyOjA1IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbWF0cm9za2E6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTUKCjIwMTItMDEtMTMgMTg6MTE6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBmaXggd3JvbmcgZXJyb3IgY2hlY2sKCSAgcGFfc3RyZWFtXyogZnVuY3Rpb25zIHJldHVybiBuZWdhdGl2ZSBvbiBlcnJvciwgZGVzcGl0ZSB0aGUgZGVmaW5lcwoJICBmb3IgZXJyb3IgY29kZXMgYmVpbmcgcG9zaXRpdmUuCgkgIEkgb25seSBnb3QgdG8gcmVwcm8gdGhlIGVycm9yIHR3aWNlLCBzbyBJJ20gbm90IHN1cmUgMTAwJSBzdXJlIHRoaXMKCSAgZml4ZXMgdGhlIGlzc3VlICh0aGUgbmVnYXRpdmUgdmFyIGJlaW5nIHVuaW5pdGlhbGl6ZWQgYWZ0ZXIgcmV0dXJuaW5nCgkgIGZyb20gcGFfc3RyZWFtX2dldF9sYXRlbmN5KS4KCjIwMTItMDEtMTMgMTc6NDM6NDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIG9zczQ6IGZpeCBjYXBzIGxlYWtzCgoyMDEyLTAxLTEzIDE3OjI1OjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMyAxNTo1NzoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IGZpeCBjYXBzIGxlYWsgaW4gdmlkZW90ZXN0c3JjIHRlc3QKCjIwMTItMDEtMTMgMTI6NTA6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBjbGVhbiB1cCBvYnNvbGV0ZSBjbG9zaW5nIHNlZ21lbnQgaGFuZGxpbmcKCjIwMTItMDEtMTMgMTA6MzI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBwbHVnIHBhZCBsZWFrIGluIGVycm9yIGNvZGUgcGF0aAoJICBCYXNlZCBvbiBwYXRjaCBieTogU3RpZyBTYW5kbmVzIDxzdGlnLnNhbmRuZXNAY2lzY28uY29tPgoJICBEb24ndCBsZWFrIHNyY3BhZCBpZiB0aGVyZSBhcmUgbm8gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgyMAoKMjAxMS0xMC0wNCAxMDowMDowMiArMDIwMCAgU3RpZyBTYW5kbmVzIDxzdGlnc2FuZEBjaXNjby5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW86IEZpeCBsZWFrIG9mIE5TT3BlbkdMUGl4ZWxGb3JtYXQgb2JqZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MTgKCjIwMTEtMDktMDUgMTA6NDM6MTkgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRG9uJ3QgYXNzZXJ0IHdoZW4gdGhlIGludGVyZmFjZSBpcyBub3QgaW1wbGVtZW50ZWQuCgkgIFNpbXBseSByZXR1cm4gRkFMU0UgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxNwoKMjAxMi0wMS0xMiAwMDoxODozOSArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgd2F2ZWZvcm1zaW5rOiBGaXggbWluZ3cgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzcxOQoKMjAxMi0wMS0xMiAyMzo1NTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIEdTVF9UWVBFX0RBVEUgLT4gR19UWVBFX0RBVEUKCjIwMTItMDEtMTIgMjM6NDg6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgZXFNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jCgoyMDEyLTAxLTEyIDE4OjIzOjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBnc3RydHBzc3JjZGVtdXg6IGZpeCBlbGVtZW50IGxlYWsKCjIwMTItMDEtMTIgMTQ6MTk6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBkbyBub3QgbGVhayBhdHRhY2htZW50IGJ1ZmZlcnMKCjIwMTItMDEtMTIgMTM6MTc6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVtb3ZlIG9ic29sZXRlIEZJWE1FIGNvbW1lbnRzCgoyMDEyLTAxLTEyIDEwOjMwOjExICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZG8gbm90IGRyb3AgdGhlIGZpcnN0IGRhdGEgYnVmZmVyIG9uIHRoZSBmbG9vciAoYW5kIGxlYWsgaXQgZWl0aGVyKQoKMjAxMi0wMS0xMiAxMTowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9mbHYvZ3N0bWVtaW5kZXguYzoKCSAgZmx2ZGVtdXg6IGFkZCBwcmVmaXggdG8gbG9jYWwgR3N0SW5kZXggcmVsYXRlZCBjb3BpZXMKCSAgLi4uIHRvIGF2b2lkIGR1cGxpY2F0ZSB0eXBlIG5hbWVzIHdpdGggb3RoZXIgc3VjaCBsb2NhbCBjb3BpZXMgaW4gdGhlIHdpbGQuCgoyMDEyLTAxLTEyIDExOjA3OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGFjdGl2YXRlIHBhZCBiZWZvcmUgc2V0dGluZyBjYXBzCgkgIC4uLiByYXRoZXIgdGhhbiB0aGUgdXN1YWwgMC4xMCBvdGhlciB3YXkgYXJvdW5kLgoJICBGaXhlcyAjNjY3NTU4LgoKMjAxMi0wMS0xMSAxODo0NTozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIFRlbXBvcmFyaWx5IGRpc2FibGluZyBtdWx0aWZpbGUgZm9yIHRoZSBBbmRyb2lkIGJ1aWxkCgkgIFRoZXJlIGlzIGEgaGFyZCBkZXBlbmRlbmN5IG9uIGlub3RpZnkgY29tbWluZyBmcm9tIGdpby4gV2UKCSAgYXJlIG5vdCBjdXJyZW50bHkgYnVuZGxpbmcgaW5vdGlmeSB3aXRoIHRoZSBBbmRyb2lkIGRpc3Qgc28KCSAgSSdtIGRpc2FibGluZyBtdWx0aWZpbGUgZm9yIG5vdyB1bnRpbCBzb21lb25lIGdldHMgYXJvdW5kCgkgIHRvIHNvcnQgdGhpcyBvdXQuCgkgIFRoaXMgY2hhbmdlIGZpeGVzIGJ1aWxkaW5nIG9uIEFuZHJvaWQKCjIwMTAtMTAtMjAgMDI6MTc6NDMgLTA3MDAgIExlbyBTaW5nZXIgPGxlby5zaW5nZXJAbGlnby5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IFVzZSBtb3N0IGNvbW1vbiBjb252ZW50aW9uIGZvciBkZWZpbml0aW9ucyBvZiBJSVIgZmlsdGVyIGNvZWZmaWNpZW50cy4KCSAgTW9zdCBzaWduYWwgcHJvY2Vzc2luZyB0ZXh0cywgaW5jbHVkaW5nIE1BVExBQiwgdXNlIHRoZSBmb2xsb3dpbmcgY29udmVudGlvbiBmb3IgSUlSIGZpbHRlciBjb2VmZmljaWVudHM6CgkgIGFfMCB5W25dICsgYV8xIHlbbi0xXSArIC4uLiArIGFfTSB5W24tTV0gPSBiXzAgeFtuXSArIGJfMSB4W24tMV0gKyAuLi4gKyBiW05dIHhbbi1OXQoJICBVc3VhbGx5LCBhXzAgaXMgc2V0IHRvIDEgYmVjYXVzZSB0aGUgY29lZmZpY2llbnRzIGNhbiBhbHdheXMgYmUgcmVzY2FsZWQsIGdpdmluZwoJICB5W25dID0gYl8wIHhbbl0gKyBiXzEgeFtuLTFdICsgLi4uICsgYltOXSB4W24tTl0gLSBhXzEgeVtuLTFdIC0gLi4uIC0gYV9NIHlbbi1NXQoJICBUaGUgY29udmVudGlvbiB0aGF0IHdhcyBwcmV2aW91c2x5IHVzZWQgYnkgYXVkaW9meGJhc2VpaXJmaWx0ZXIgYW5kIGRlcml2ZWQgY2xhc3MgaGFkIHRoZSBhIGFuZCBiIGNvZWZmaWNpZW50cyBzd2FwcGVkLCBhbmQgZGlkIG5vdCBoYXZlIHRoZSBtaW51cyBzaWducy4KCSAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIGF1ZGlvZnggcGx1Z2luIHVzZSB0aGUgbW9yZSBjb21tb24gY29udmVudGlvbiBkZXNjcmliZWQgYWJvdmUuCgoyMDEyLTAxLTExIDE0OjQ3OjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZCBhIHRyYW5zcG9ydCBtb2RlIGVudW0KCSAgQ2xpZW50cyBjYW4gY29uZmlndXJlIHRoZSBkZXNpcmVkIGJlaGF2aW91ciB2aWEgInRyYW5zcG9ydCIgcHJvcGVydHkuIFRoZQoJICBkZWZhdWx0IGJlaGF2aW91ciBpcyBpZ25vcmluZyB0aGUgdHJhbnNwb3J0IHN0YXRlLiBPdGhlciBtb2RlcyBhcmUgbWFzdGVyIGFuZAoJICBzbGF2ZS4KCjIwMTItMDEtMTEgMTQ6MTA6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBidWZmZXIgaGFuZGxpbmcKCSAgc291cGh0dHBzcmMgaXMgbm93IHVzYWJsZSBhZ2FpbiBhbmQgZG9lc24ndCBjcmFzaCBhbnltb3JlCgkgIHdoZW5ldmVyIHNvbWV0aGluZyBpcyByZWFkIGZyb20gYSBIVFRQIGNvbm5lY3Rpb24uCgoyMDEyLTAxLTExIDAxOjQ1OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGZpeCB3YXZlbmMgdGVzdCBvbiBiaWcgZW5kaWFuCgkgIHdhdmVuYyBvbmx5IGFjY2VwdHMgbGl0dGxlLWVuZGlhbiBQQ00sIGJ1dCBtb3N0IG9mIG91cgoJICBlbGVtZW50cyBzdWNoIGFzIGF1ZGlvdGVzdHNyYyBvbmx5IHByb2R1Y2Ugb3IgcHJvY2VzcwoJICBhdWRpbyBpbiBuYXRpdmUgZW5kaWFubmVzcywgc28gd2UgbmVlZCB0byBwbHVnIGEKCSAgY29udmVydGVyIGJlZm9yZSB3YXZlbmMgb24gYmlnIGVuZGlhbiBzeXN0ZW1zLgoKMjAxMi0wMS0xMCAyMzowMjo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRlYWN0aXZhdGUgdGhlIHJlcXVlc3Rfc3RhdGUgY29kZQoJICBXaGVuIHFqYWNrY3RsIGlzIHN0YXJ0ZWQsIHRyYW5zcG9ydCBpcyBzdG9wcGVkIGJ5IGRlZmF1bHQuIFRoaXMgd291bGQgYmUgYQoJICByZWdyZXNzaW9uIGZvciBnc3RyZWFtZXIgYXBwcyB0aGF0IGJlZm9yZSBqdXN0IHN0YXJ0ZWQgdG8gcGxheSByaWdodCBhd2F5LgoKMjAxMi0wMS0xMCAyMjoyNzoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWRkIHRyYW5zcG9ydCBjb250cm9sIGhhbmRsaW5nCgkgIFRoaXMgZmVhdHVyZSBhbGxvd3MgdG8gc3RhcnQgYW5kIHN0b3AgcGxheWJhY2sgZnJvbSBvdGhlciBqYWNrIGFwcGxpY2F0aW9ucyAoZS5nLiBxamFja2N0bCkuCgoyMDEyLTAxLTEwIDE4OjUwOjI3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBjb2RlY19wcml2IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc0MTkKCjIwMTItMDEtMTAgMTU6MDY6MzkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgamFjazogdXNlIGphY2sgdHlwZSBmb3IgdGhlIGNhbGxiYWNrCgkgIEphY2sgaGVhZGVycyBoYXZlIGEgdHlwZWRlZiBmb3IgdGhlIHNodXRkb3duIGNhbGxiYWNrIGFzIHdlbGwuCgoyMDEyLTAxLTEwIDE0OjMyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYwoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmMKCSAgZ3N0L2F2aS9nc3RhdmltdXguYwoJICBnc3QvZmx2L2dzdGZsdm11eC5jCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoJICBnc3QvaXNvbXA0L2dzdHF0bXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaAoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYwoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jCgkgIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmMKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmMKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYwoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYwoJICBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYwoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jCgkgIHBvL2phLnBvCgkgIHBvL2x2LnBvCgkgIHBvL3NyLnBvCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmMKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYwoKMjAxMi0wMS0wOSAyMjo1ODozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IFJlbW92ZSBvbGQgdmlkZW9taXhlciBoZWFkZXJzCgkgIFRoZXNlIGdvdCByZW1vdmVkIGluIHRoZSB0cmFuc2l0aW9uIHRvIHZpZGVvbWl4ZXIyLgoKMjAxMi0wMS0wOSAxNzoyODoxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggY29kZWMgc3RyaW5nIGxlYWtzCgoyMDEyLTAxLTA5IDE0OjUxOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICB2aWRlb21peGVyOiBSZW1vdmUgdmlkZW9taXhlciBhbmQgcmVnaXN0ZXIgdmlkZW9taXhlcjIgYXMgdmlkZW9taXhlcgoKMjAxMi0wMS0wOSAxMTozNjo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5pdGlhbGl6ZSB2YXJpYWJsZSB0byBhdm9pZCB1bmRlZmluZWQgdXNlCgoyMDEyLTAxLTA2IDA5OjQwOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjOiBQb3J0IHRvIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDUgMTk6MjU6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMDUgMTk6MDg6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTItMDEtMDUgMTQ6MTg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIGZpeCBwYWQgdGVtcGxhdGVzCgoyMDEyLTAxLTA0IDE1OjA1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNDo1NDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBBZGQgdGhlIG5ldyBsYXlvdXQgZmllbGQgdG8gdGhlIHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE0OjUyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJICBqYWNrYXVkaW9zcmM6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNDoxMzo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIEZMQUMgYW5kIGludGVybGVhdmUgdG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucyBsaXN0CgkgIEJvdGggbmVlZCB0byBiZSB1cGRhdGVkIHRvIHRoZSBhdWRpby94LXJhdyBjYXBzIGFuZCB3ZXJlIG9ubHkKCSAgaGFsZi1wb3J0ZWQgYmVmb3JlLgoKMjAxMi0wMS0wNCAxMzo0ODozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBVcGRhdGUgZm9yIHRoZSBuZXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxMjowNjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVwZGF0ZSBmb3IgbGliZ3N0cmlmZiBBUEkgY2hhbmdlcwoJICBTdGlsbCBuZWVkcyB0byBoYW5kbGUgcmF3IGF1ZGlvIGNoYW5uZWwgcmVvcmRlcmluZwoKMjAxMi0wMS0wNCAxMjowNToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxMjowMzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6NTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmVwbGF5Z2FpbjogVXBkYXRlIGZvciB0aGUgbmV3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTE6NTI6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gaW50ZXJsZWF2ZWQgY2FwcyBmaWVsZAoJICBTdGlsbCBuZWVkcyB0byBiZSBmaXhlZCB0byBoYW5kbGUgdGhlIG11bHRpY2hhbm5lbCBjaGFubmVsLW1hc2sKCSAgYW5kIHJlb3JkZXJpbmcuCgoyMDEyLTAxLTA0IDExOjMxOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6Mjk6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IFBvcnQgdG8gdGhlIG5ldyBhdWRpbyBjYXBzCgkgIFN0aWxsIG5lZWRzIHRvIGhhbmRsZSB0aGUgY2hhbm5lbCBwb3NpdGlvbnMvbWFza3MgYW5kCgkgIGNoYW5uZWwgcmVvcmRlcmluZy4KCjIwMTItMDEtMDQgMTE6MTE6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowOTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6MDg6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowNzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVcGRhdGUgZm9yIHRoZSBsaWJnc3RyaWZmIEFQSSBjaGFuZ2VzCgkgIFN0aWxsIG5lZWRzIHRvIGRvIHJlb3JkZXJpbmcgb2YgY2hhbm5lbHMgZm9yIHJhdyBhdWRpby4KCjIwMTItMDEtMDQgMTE6MDY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb2Z4OiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMDo1NDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgb3NzOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHRoZSByYXcgYXVkaW8gY2FwcyBpbnRlcmxlYXZlZCBmaWVsZAoKMjAxMi0wMS0wNCAxMDoyNzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMKCjIwMTItMDEtMDQgMTk6NTE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3NjJiNjkyIHRvIDA4MDcxODcKCjIwMTItMDEtMDQgMTc6NTk6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IGZpeCBzb21lIGxlYWtzIGFuZCByZW1vdmUgZmlsZXMgd2hlbiBkb25lIGluIHF0bXV4IHRlc3QKCjIwMTEtMTItMTQgMTA6MTQ6MjAgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IGJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gd2UgcnVuIG91dCBvZiBkaXNrIHNwYWNlCgkgIE1hcCB3cml0ZSBlcnJubyBFTk9TUEMgdG8gR1NUX1JFU09VUkNFX0VSUk9SX05PX1NQQUNFX0xFRlQuCgoyMDEyLTAxLTA0IDEzOjI2OjQ1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogTW9yZSBmaXhlcy9jbGVhbnVwCgoyMDEyLTAxLTA0IDEzOjI1OjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUmVmYWN0b3IgcGFyYW0vcHJvY2VzcyBmdW5jdGlvbnMKCSAgV2hlbiA6OnNldF9pbmZvKCkgaXMgY2FsbGVkLCB0aGUgaW5wdXQvb3V0cHV0IFZpZGVvSW5mbyBhcmVuJ3Qgc2V0CgkgIHlldCBvbiB0aGUgdmlkZW9maWx0ZXIuCgoyMDEyLTAxLTA0IDEwOjAxOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMS0xMi0zMSAyMzozMzozMyAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IHVzZSByaWdodCB2YXJpYWJsZQoJICBGaXhlcyB1c2Ugb2YgdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcwODUKCjIwMTItMDEtMDMgMTU6MjY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDEyLTAxLTAzIDE0OjQyOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogcmV3cml0ZSB0ZXN0IGEgbGl0dGxlCgkgIFJld3JpdGUgdGhlIHRhZyBjaGVjayBzbyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gZGVhbCB3aXRoIHRhZyBsaXN0cy4KCjIwMTItMDEtMDMgMTQ6MTY6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBtYWtlIG1vcmUgdGVzdHMgY29tcGlsZQoKMjAxMi0wMS0wMyAxMTo1NjoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0OiBtYWtlIG1vcmUgdW5pdCB0ZXN0cyBjb21waWxlCgoyMDEyLTAxLTAzIDEwOjI2OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL2luZGV4LmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBmaXggc29tZSB1bml0IHRlc3RzCgkgIFJlbW92ZSB1bml0IHRlc3QgZm9yIEdzdEluZGV4LgoJICBNYWtlIHNvbWUgb3RoZXIgdW5pdCB0ZXN0cyBjb21waWxlCgoyMDEyLTAxLTAyIDE0OjMyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSAgYXV0b2RldGVjdCwgcnRzcDogZ3N0X3JlZ2lzdHJ5X2dldF9kZWZhdWx0KCkgLT4gZ3N0X3JlZ2lzdHJ5X2dldCgpCgoyMDExLTEyLTMxIDEwOjAwOjQxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gQVBJIGNoYW5nZXMKCjIwMTEtMTItMzAgMTc6NDE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCjIwMTEtMTItMzAgMTc6MjM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCjIwMTEtMTItMzAgMTc6MjA6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2Zsdi9nc3RpbmRleC5oOgoJKiBnc3QvZmx2L2dzdG1lbWluZGV4LmM6CgkgIGZsdmRlbXV4OiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCSAgQWRkIHByaXZhdGUgR3N0TWVtSW5kZXggZm9yIG5vdy4KCjIwMTEtMTItMzAgMTc6MTI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCjIwMTEtMTItMjcgMjI6NTk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIE1pbmdXCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY0ODUKCjIwMTEtMTItMjcgMTI6MDY6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgdW5pdCB0ZXN0IGJpbmFyeQoKMjAxMS0xMi0yNyAxMTo1MDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCB2YWxncmluZCB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NDQKCjIwMTEtMTItMjcgMTE6NDk6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB1ZHBzcmM6IGFkZCB1bml0IHRlc3QgdGhhdCBzZW5kcyAwLXNpemUgcGFja2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NDQKCjIwMTEtMTItMjEgMTM6MjI6MDMgKzAxMDAgIEpvaG4gT2duZXNzIDxqb2huLm9nbmVzc0BsaW51dHJvbml4LmRlPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBkcm9wIGRhdGFsZXNzIFVEUCBwYWNrZXRzCgkgIEl0IGlzIGFsbG93ZWQgdG8gc2VuZC9yZWNlaXZlIFVEUCBwYWNrZXRzIHdpdGggbm8gZGF0YS4gV2hlbiBzdWNoCgkgIGEgcGFja2V0IGlzIGF2YWlsYWJsZSwgc2VsZWN0KCkgd2lsbCByZXR1cm4gd2l0aCBzdWNjZXNzIGJ1dAoJICBpb2N0bChGSU9OUkVBRCkgd2lsbCByZXR1cm4gMC4gQnV0IGEgcmVhZCgpIG11c3Qgc3RpbGwgb2NjdXIgaW4KCSAgb3JkZXIgdG8gY2xlYXIgb2ZmIHRoZSBVRFAgcGFja2V0IGZyb20gdGhlIHF1ZXVlLgoJICBUaGlzIHBhdGNoIHdpbGwgcmVhZCB0aGUgZGF0YWxlc3MgcGFja2V0IGZyb20gdGhlIHNvY2tldC4gSWYKCSAgc2VsZWN0KCkgd2FzIHdva2VuIGZvciBvdGhlciByZWFzb25zIChhbmQgRklPTlJFQUQgcmV0dXJucyAwKSwKCSAgdGhpcyBtYXkgcmVzdWx0IGluIGEgVURQIHBhY2tldCBnZXR0aW5nIGFjY2lkZW50YWxseSBkcm9wcGVkLgoJICBCdXQgc2luY2UgVURQIGlzIG5vdCByZWxpYWJsZSwgdGhpcyBpcyBhY2NlcHRhYmxlLgoJICBOT1RFOiBUaGlzIHBhdGNoIGZpeGVzIGEgbmFzdHkgYnVnIHdoZXJlIHNlbmRpbmcgYSBkYXRhbGVzcwoJICBVRFAgcGFja2V0IHRvIGEgdWRwc3JjIGluc3RhbmNlIHdpbGwgY2F1c2UgYW4gaW5maW5pdGUKCSAgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY0NAoJICBTaWduZWQtb2ZmLWJ5OiBKb2huIE9nbmVzcyA8am9obi5vZ25lc3NAbGludXRyb25peC5kZT4KCjIwMTEtMTItMjYgMjI6MjI6NTkgKzAwMDAgIFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpdHpAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgd2F2ZWZvcm06IGFkZCBhdXRvdG9vbHMgYml0cyBmb3Igd2F2ZWZvcm0gcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY0ODUKCjIwMTEtMTItMjEgMjA6NTA6MjEgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggcGVlcl9jYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY4OAoKMjAxMS0xMi0yNSAyMzo1Mjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrIGZvciBnZHAgbGlicmFyeQoKMjAxMS0xMi0yNSAyMjoxNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlOiByZW1vdmUgcHVsc2VhdWRpb3NpbmsgaGVscGVyIGJpbgoJICBUaGlzIGlzIGNhdXNpbmcgdXMgbG90cyBvZiBoZWFkYWNoZXMgaW4gMC4xMCBhbmQgbmVlZHMgdG8gYmUgZG9uZQoJICBkaWZmZXJlbnRseSBhbmQgcHJvcGVybHkgaW4gMC4xMS4gcGxheWJpbiBvciBkZWNvZGViaW4gc2hvdWxkCgkgIHJlY29uZmlndXJlIHRoZW1zZWx2ZXMgYmFzZWQgb24gcmVjb25maWd1cmUgZXZlbnRzLCBmb3IgZXhhbXBsZS4KCjIwMTEtMTItMjUgMjE6NDU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiB1cGRhdGUgZm9yIHJpbmcgYnVmZmVyIGF1ZGlvIGZvcm1hdCB0eXBlIGVudW0gcmVuYW1lCgoyMDExLTEyLTI1IDIwOjM0OjUyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2wgc291cmNlIGFwaQoKMjAxMS0xMi0yNSAxNDoyMzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHRyeSB0byBwdXNoIGFscmVhZHktZnJlZWQgYnVmZmVycwoJICBGaXhlcyB1bml0IHRlc3QuCgoyMDExLTEyLTI0IDEwOjU3OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogVXNlIHNjYWxlX2NlaWwoKSBmdW5jdGlvbnMgZnJvbSBjb3JlIGluc3RlYWQgb2YgY3VzdG9tIG9uZXMKCjIwMTEtMTItMjEgMjM6NTE6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB1cGRhdGUgZm9yIHZpZGVvZmlsdGVyIGNoYW5nZXMuCgoyMDExLTEyLTIxIDE3OjQzOjEwICswMTAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBkbyBub3QgY29uc2lkZXIgZHVyYXRpb24gb2Ygbm9uLWZpbmFsaXplZCBmaWxlCgkgIC4uLiB0byBhdm9pZCBpdCBjbGFtcGluZyByZXF1ZXN0ZWQgc2VlayBwb3NpdGlvbi4KCSAgTm9uLWZpbmFsaXplZCBmaWxlIGNhc2UsIGRldGVybWluZWQgYnkgd2hldGhlcgoJICBfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayBldmVyIHVwZGF0ZXMgdGhlIHNlZ21lbnQgZHVyYXRpb24uCgkgIEZpeGVzICM2NTIxOTUuCgoyMDExLTEyLTIxIDE1OjA2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIGRlY2lzaW9uIHRvIGZhbGwgYmFjayB0byBzY2FubmluZyB3aGVuIHNlZWtpbmcKCSAgLi4uIHdoaWNoIGlzIGJhc2ljYWxseSBpZmYgbm90IHN0cmVhbWluZyBhbmQgbm8gZW50cnkgZm91bmQgaW4gaW5kZXgKCjIwMTEtMTItMjEgMDk6MDk6MjcgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICByZW1vdmUgdW51c2VkIHZhcmlhYmxlIHRvIGZpeCBjb21waWxlIGVycm9yOgoJICBtYWtlIC1DIGF1ZGlvcGFyc2VycwoJICBtYWtlWzNdOiBCZXRyZXRlIFZlcnplaWNobmlzICcvaG9tZS9sZXgvdG1wL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L2F1ZGlvcGFyc2VycycKCSAgQ0MgICAgIGxpYmdzdGF1ZGlvcGFyc2Vyc19sYS1nc3RhYWNwYXJzZS5sbwoJICBnc3RhYWNwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2FhY19wYXJzZV9yZWFkX2xvYXNfYXVkaW9fc3BlY2lmaWNfY29uZmlnJzoKCSAgZ3N0YWFjcGFyc2UuYzo0NDY6MTI6IGVycm9yOiB2YXJpYWJsZSAnc2JyJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQoJICBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMTItMjEgMTE6NTk6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jOgoJICB1cGRhdGUgZm9yIHJlbW92ZWQgcHJvcGVydHkgcHJvYmUKCjIwMTEtMDktMDkgMTE6NDI6MDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogbGV0IGJzaWQgOSBhbmQgMTAgdGhyb3VnaAoJICBGaWxlcyB3aXRoIDkgYW5kIDEwIGhhcHBlbiwgYW5kIHNlZW0gdG8gY29tcGx5IHdpdGggdGhlIDw9IDgKCSAgZm9ybWF0LCBzbyBsZXQgdGhlbSB0aHJvdWdoLgoJICBUaGUgc3BlYyBzYXlzIG5vdGhpbmcgYWJvdXQgOSBhbmQgMTAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NDYKCjIwMTEtMTItMTkgMjM6NTA6MTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgaW50ZXJwb2xhdGlvbi1tb2RlIGFwaQoKMjAxMS0xMi0xOSAyMjo1Mzo1NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGFwaQoKMjAxMS0xMi0xOSAxOTowMzo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdXBkYXRlIGZvciBuZXcgaW50ZXJsYWNlZCBjYXBzCgoyMDExLTEyLTE2IDE5OjE1OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcHJvcGVybHkgZGV0ZXJtaW5lIGZpbmFsIGR1cmF0aW9uCgkgIC4uLiB3aGljaCBjYW4gYmUgYXV0aG9yYXRpdmVseSBvYnRhaW5lZCBmcm9tIG91ciBvd24gd3JpdHRlbiB0aW1lc3RhbXBzLgoKMjAxMS0xMi0xOSAxMzo1NjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IG9ubHkgd3JpdGUgZnVsbCBtZXRhZGF0YSBhdCBzdGFydAoJICAuLi4gcmF0aGVyIHRoYW4gaGF2aW5nIChwb3RlbnRpYWxseSkgdW5uZWNlc3NhcnkgZHVwbGljYXRlcyB3cml0dGVuIGFsbCBvdmVyLAoJICBvciBldmVuIGNvbnRyYWRpY3RvcnkgdmFyeWluZyBmaWxlc2l6ZSBpbmZvLCBvciBkdXJhdGlvbiBpbmZvIHRoYXQgd2lsbCBub3QKCSAgYmUgcmV3cml0dGVuIHVwb24gaGVhZGVyIHJld3JpdGUuCgoyMDExLTEyLTE2IDE5OjE1OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBidWZmZXIgY2FsbGJhY2sgYW5kIHJ1bm5pbmcgdGltZSBjbGlwcGVyCgkgIC4uLiBzaW5jZSB0aGUgZGVmYXVsdCBjb2xsZWN0aW9uIGhldXJpc3RpY3Mgc3VmZmljZS4KCjIwMTEtMTItMTYgMTg6MDM6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBidWZmZXIgY2FsbGJhY2sgYW5kIHJ1bm5pbmcgdGltZSBjbGlwcGVyCgkgIC4uLiBzaW5jZSBkZWZhdWx0IGNvbGxlY3Rpb24gaGV1cmlzdGljcyBzdWZmaWNlLgoKMjAxMS0xMi0xNiAxNzoyMDo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBicmluZyBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzIHVwIHRvIHNwZWNzCgkgIC4uLiBhbmQgbWlub3Igc3BlbGxpbmcgZml4LgoKMjAxMS0xMi0xNiAxNjo1NjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGRpdGlvbmFsIHN1YnRpdGxlIHN1cHBvcnQKCjIwMTEtMTItMTUgMjE6NTA6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBhZGRpdGlvbmFsIGJ1ZmZlciBoYW5kbGluZyBjbGVhbnVwCgoyMDExLTEyLTE1IDIxOjQ1OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgYnVmZmVyIGNhbGxiYWNrIGFuZCBydW5uaW5nIHRpbWUgY2xpcHBlcgoKMjAxMS0xMi0wNyAxMzoyNDo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHBhcnNlIExPQVMgdmFyaWFudAoJICBUaGUgTE9BUyB2YXJpYW50IHNlZW1zIHRvIGhhdmUgdGhyZWUgZGlmZmVyZW50IHN1YnZhcmlhbnRzIGl0c2VsZiwKCSAgb25seSBvbmUgb2YgdGhlbSBpcyBpbXBsZW1lbnRlZCBhcyBteSB0d28gc2FtcGxlcyBoYXBwZW4gdG8gYmUKCSAgdXNpbmcgdGhhdCBvbmUuCgkgIFRoZSBzYW1wbGUgcmF0ZSBpcyBub3QgYWx3YXlzIHJlcG9ydGVkIGNvcnJlY3RseSwgYXMgdGhlICJtYWluIgoJICBzYW1wbGUgcmF0ZSBpcyBhcHBhcmVudGx5IHNvbWV0aW1lcyBoYWxmIHdoYXQgaXQgc2hvdWxkIGJlIChib3RoCgkgIG9mIG15IHNhbXBsZXMgcmVwb3J0IDI0MDAwIEh6IHRoZXJlKSwgYW5kIHRoZXJlIGFyZSB0d28gb3RoZXIKCSAgcGFydHMgb2YgdGhlIHN1YnZhcmlhbnQgd2l0aCBkaWZmZXJlbnQgc2FtcGxpbmcgcmF0ZXMuIE9uZSBvZiB0aGVtCgkgIGlzIHBhcnNlZCwgYnV0IG5vdCB0aGUgb3RoZXIsIGFzIGl0J3MgbG9jYXRlZCBhZnRlciBzb21lIG90aGVyCgkgIGxhcmdlIGFtb3VudCBvZiB2YXJpYWJsZSBkYXRhIHRoYXQgbmVlZHMgcGFyc2luZyBmaXJzdCwgYW5kIHRoZXJlCgkgIHNlZW1zIHRvIGJlIGEgTE9UIG9mIGl0LCB3aGljaCBpcyB1c2VsZXNzIGZvciBvdXIgbmVlZHMgaGVyZS4KCSAgVGhpcyBlbmRzIHVwIGJlaW5nIHJhdGhlciBpbmNvbnNlcXVlbnRpYWwsIGFzIGZmZGVjX2FhY19sYXRtLAoJICB3aGljaCBpcyB0aGUgb25seSBkZWNvZGVyIHRoYXQgY2FuIGRlY29kZSBzdWNoIHN0cmVhbXMsIGRvZXMgbm90CgkgIG5lZWQgdGhlIHNhbXBsZSByYXRlIG9uIHRoZSBjYXBzIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMS0xMi0xOSAxMDo0ODo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZG9uJ3QgcmVtb3ZlIHNyY3BhZAoJICBEb24ndCByZW1vdmUgdGhlIGFsd2F5cyBzcmNwYWQgaW4gcmVhZHkgYW5kIG1ha2UgdGhlIGVsZW1lbnQgcmV1c2FibGUuCgoyMDExLTEyLTE1IDE2OjQwOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTUgMTY6MzA6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNSAxNjoxNjo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE1IDE2OjE1OjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTQgMTk6MTM6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBzbXB0ZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTk6MTA6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgbXVsdGlwYXJ0bXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxOTowNzoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE5OjAyOjIzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6NTU6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjUyOjM3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZseG11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6Mzg6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODozNDoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgIGNhaXJvdGV4dG92ZXJsYXk6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTEzIDE4OjE4OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaWx0ZXIgYm9ndXMgaW5kZXggZW50cmllcyB3aXRoIG1pc3NpbmcgYmxvY2sgbnVtYmVyCgkgIC4uLiB0byBhdm9pZCBjb250cmFkaWN0b3J5IGluZm9ybWF0aW9uIHJlc3VsdGluZyBpbiBzZWVrcyBzZW5kaW5nIG1vcmUKCSAgZG93bnN0cmVhbSB0aGFuIG5lZWRlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc2VnbWVudC4KCjIwMTEtMTItMTMgMTg6MTU6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNhdGVyIGZvciBzYWZlciBhcml0aG1ldGljIHdpdGggZ2xvYmFsIHN0YXJ0IHRpbWUKCjIwMTEtMTItMTMgMTc6MDI6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR3ZWFrIGZpbmFsIGNsb3Npbmcgc2VnbWVudCBzZW5kaW5nCgkgIC4uLiB0byBhdm9pZCBpdCBpbnRlcmZlcmluZyB3aXRoIChzcGFyc2UpIHN0cmVhbSBzeW5jaW5nLgoKMjAxMS0xMi0xMiAxMTo1MTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWFrZSBkZWJ1ZyBtZXNzYWdlIG1vcmUgdXNlZnVsCgkgIEFkZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFnbGlzdCBhbmQgd2hpY2ggcGFkIHJlY2VpdmVkIHRoZQoJICB0YWcgZXZlbnQgb24gdGhlIGRlYnVnIGxvZ2dpbmcuCgoyMDExLTEyLTEzIDExOjQ2OjQzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogYXZvaWQgdXNpbmcgZmxvYXRpbmcgcG9pbnQgdW5uZWNlc3NhcmlseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTExCgoyMDExLTEyLTEzIDExOjQyOjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZml4IGZvcm1hdCBzcGVjaWZpZXIgc2lnbmVkbmVzcwoJICBVc2UgdW5zaWduZWQgc3BlY2lmaWVycyBmb3IgYWxsIHVuc2lnbmVkIHZhbHVlcy4KCSAgQSBsb3Qgb2YgdGhlIHZhbHVlcyB1c2VkIGhlcmUgYXJlIHVuc2lnbmVkLCBhbmQgc29tZSBjYW4gdGFrZQoJICBoaWdoIGVub3VnaCB2YWx1ZXMgdGhhdCB0aGVpciBzaWduZWQgY291bnRlcnBhcnQgd2lsbCBiZSBuZWdhdGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTkxMQoKMjAxMS0xMi0xMiAxNjo0OToxOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBhZGQgYSBpZ25vcmUtbGVuZ3RoIHByb3BlcnR5CgkgIFRoaXMgYWxsb3dzIHBsYXlpbmcgYnJva2VuIHN0cmVhbXMgd2hpY2ggd3JpdGUgYW4gaW5jb3JyZWN0CgkgIGxlbmd0aCBpbiB0aGVpciBkYXRhIGNodW5rcyAoc3VjaCBhcywgYXQgbGVhc3QsIG9uZSBzdHJlYW1pbmcKCSAgY2FtZXJhKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTkxMQoKMjAxMS0xMi0xMiAxMTo1NDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJICBnbGliLWNvbXBhdDogQWRkIGxpY2Vuc2UgYm9pbGVycGxhdGUgZm9yIExHUEwKCjIwMTEtMTItMTIgMTU6MTU6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1pbmQgKHVuKXNpZ25lZCBpbiBzb21lIHRpbWVzdGFtcCBhcml0aG1ldGljCgkgIC4uLiB0byBhdm9pZCBlbmRpbmcgdXAgd2l0aCBpbnZhbGlkIChuZWdhdGl2ZSkgZHVyYXRpb24uCgoyMDExLTAyLTA5IDE1OjMxOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbmNyZWFzZSBwYXJzZSB0b2xlcmFuY2UgZm9yIGZ1enp5IGZpbGUgY2FzZXMKCjIwMTEtMTItMTIgMTA6Mzg6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBkaXN0IGdsaWItY29tcGF0LXByaXZhdGUuaCBwcm9wZXJseQoJICBBZGQgbWlzc2luZyBzbGFzaC4KCjIwMTEtMTItMTIgMTA6MTg6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHVzZSBhdGV4aXQsIGdfYXRleGl0IGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZ2xpYiBtYXN0ZXIKCjIwMTEtMTItMTIgMDI6NTI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgU3VwcHJlc3MgZGVwcmVjYXRpb24gd2FybmluZ3MgaW4gc2VsZWN0ZWQgZmlsZXMsIGZvciBnX3N0YXRpY19yZWNfbXV0ZXhfKiBtb3N0bHkKCSAgR1N0YXRpY1JlY011dGV4IGlzIHBhcnQgb2Ygb3VyIEFQSS9BQkksIG5vdCBtdWNoIHdlIGNhbiBkbyBoZXJlCgkgIGluIDAuMTAgZm9yIG1vc3Qgb2YgdGhlc2UuCgoyMDExLTEyLTEyIDAyOjQxOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgdGVzdHM6IGdfdGhyZWFkX2luaXQoKSBpcyBkZXByZWNhdGVkIGluIGdsaWIgbWFzdGVyCgkgIEl0J3Mgbm90IG5lZWRlZCBhbnkgbG9uZ2VyLgoKMjAxMS0xMi0xMiAwMjozODozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBVc2UgZ190aHJlYWRfdHJ5X25ldygpIGluc3RlYWQgb2YgZ190aHJlYWRfY3JhdGUoKSB3aXRoIG5ld2VyIGdsaWIgdmVyc2lvbnMKCjIwMTEtMTItMTIgMDI6MzE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogdXNlIG5ldyBnbGliIEFQSSBmb3Igc3RhdGljIG11dGV4IGlmIGF2YWlsYWJsZQoKMjAxMS0xMi0xMiAwMjozMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgV29yayBhcm91bmQgZGVwcmVjYXRlZCB0aHJlYWQgQVBJIGluIGdsaWIgbWFzdGVyCgkgIEFkZCBwcml2YXRlIHJlcGxhY2VtZW50cyBmb3IgZGVwcmVjYXRlZCBmdW5jdGlvbnMgc3VjaCBhcwoJICBnX211dGV4X25ldygpLCBnX211dGV4X2ZyZWUoKSwgZ19jb25kX25ldygpIGV0Yy4sIG1vc3RseQoJICB0byBhdm9pZCB0aGUgZGVwcmVjYXRpb24gd2FybmluZ3MuIFdlJ2xsIGNoYW5nZSB0aGVzZQoJICBvdmVyIHRvIHRoZSBuZXcgQVBJIG9uY2Ugd2UgZGVwZW5kIG9uIGdsaWIgPj0gMi4zMi4KCjIwMTEtMTItMTIgMTA6MjQ6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR0xpYiA+PSAyLjI0CgkgIEFsbCBvdGhlciBtb2R1bGVzIHJlcXVpcmUgdGhpcyBhbHJlYWR5IGFuZCBub2JvZHkgaXMgdGVzdGluZyB3aXRoCgkgIG9sZGVyIHZlcnNpb25zIGFueXdheS4KCjIwMTEtMTItMTEgMTg6NDA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiBmaXggaW52ZXJ0ZWQgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIFNwb3R0ZWQgYnkgTWlrZSBNb3JyaXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTg4MgoKMjAxMS0xMi0xMSAxNzo1NToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGRvbid0IGxlYWsgcGFkIHRlbXBsYXRlCgoyMDExLTEyLTEwIDE0OjQ4OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwOiBmaXggc3RhcnQvc3RvcCByYWNlIGluIHNvdXBodHRwY2xpZW50c2luawoJICBGaXggY3Jhc2ggb3IgaGFuZyBpbiBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3Qgd2hlbiBkb2luZyBzdG9wKCkKCSAgcmlnaHQgYWZ0ZXIgc3RhcnQoKS4gQ3JlYXRlIG1haW4gbG9vcCBpbiB0aGUgc3RhcnQgZnVuY3Rpb24gYWxyZWFkeQoJICBhbmQgbm90IGp1c3QgaW4gdGhlIHRocmVhZCBmdW5jdGlvbiwgc28gdGhhdCBzdG9wKCkgYWx3YXlzIGhhcyBhCgkgIHZhbGlkIG1haW4gbG9vcCB0byBxdWl0IG9uLiBBbHNvLCBjYWxsaW5nIGdfbWFpbl9sb29wX3F1aXQoKSBiZWZvcmUKCSAgZ19tYWluX2xvb3BfcnVuKCkgd29uJ3Qgd29yayBhbmQgcmVzdWx0IGluIHRoZSBzdG9wIGZ1bmN0aW9uIHdhaXRpbmcKCSAgZm9yIHRoZSB0aHJlYWQgdG8gam9pbiBmb3JldmVyLiBUaGVyZWZvcmUsIHdhaXQgZm9yIHRoZSB0aHJlYWQgdG8KCSAgYmUgcmVhZHkgYW5kIGdldCB0aGUgbWFpbiBsb29wIHJ1bm5pbmcgaW4gdGhlIHN0YXJ0KCkgZnVuY3Rpb24sIHRvCgkgIGJlIHN1cmUgc3RvcCgpIGFsd2F5cyB3b3Jrcy4KCjIwMTEtMTItMTAgMTM6MzU6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkaXN0IHRlc3QgZmlsZSB1c2VkIGluIG1hdHJvc2thcGFyc2UgdW5pdCB0ZXN0CgoyMDExLTEyLTEwIDEyOjMyOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3RzOiBmaXggdXAgcmd2b2x1bWUgdGVzdCBmb3IgYmFzZXRyYW5zZm9ybSBldmVudCBjYWNoaW5nCgkgIFNvbWUgdGVzdHMgYXNzdW1lZCB0aGF0IHRhZyBldmVudHMgd291bGQgYWx3YXlzIHB1c2hlZCB0aHJvdWdoCgkgIGltbWVkaWF0ZWx5LCB3aGljaCBpc24ndCB0aGUgY2FzZSBhbnkgbG9uZ2VyLCBzbyBwdXNoIGEgbmV3c2VnbWVudAoJICBldmVudCBhbmQgYW4gZW1wdHkgYnVmZmVyIGZpcnN0LgoKMjAxMS0xMi0xMCAxMToxMjowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IGZpeCBpdGVyYXRvciBhbmQgY2FwcwoKMjAxMS0xMi0xMCAxMToxMTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZm9yd2FyZCB0aGUgY2FwcyBldmVudAoKMjAxMS0xMi0xMCAxMTowOTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNpbXBseSBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50CgkgIGZvcndhcmQgdGhlIGNhcHMgZXZlbnQgd2UgZ2V0IGFzIGlucHV0IGluc3RlYWQgb2YgbWFraW5nIGEgbmV3IGV2ZW50IGV0Yy4uCgoyMDExLTEyLTA5IDIwOjEwOjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmb3J3YXJkIGNhcHMKCjIwMTEtMTItMDkgMTk6NDY6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cDogcGFzcyBwYXJlbnQgdG8gc2V0Y2FwcyBtZXRob2RzCgoyMDExLTEyLTEwIDAyOjIxOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VvLnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHYucG86CgkqIHBvL3NyLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0xMi0wOSAxNjowNDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogcmVuYW1lICJjbGllbnQiIHByb3BlcnRpZXMgdG8gImNsaWVudC1uYW1lIgoJICBCZXR0ZXIgbmFtZSwgYnV0IGFsc28gbWF0Y2hlcyB0aGUgcHJvcGVydHkgb24gdGhlIGphY2sKCSAgZWxlbWVudHMgKHdoZXJlICJjbGllbnQiIGlzIHVzZWQgZm9yIHNvbWV0aGluZyBlbHNlKS4KCjIwMTEtMTItMDkgMTU6NTA6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgbGVhayBjbGllbnQgbmFtZSB3aGVuIGZyZWVpbmcgdGhlIGVsZW1lbnQKCSAgQW5kIGFkZCBndGstZG9jIGNodW5rcyBmb3IgdGhlIG5ldyBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTg3MgoKMjAxMS0xMi0wOSAxNTo0NTowMyArMDAwMCAgTmljb2xhcyBCYXJvbiA8aG9nZ2luc0ByYWRpb20uZnI+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBhZGQgImNsaWVudC1uYW1lIiBwcm9wZXJ0eSB0byBqYWNrYXVkaW9zaW5rIGFuZCBqYWNrYXVkaW9zcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTg3MgoKMjAxMS0xMi0wOSAxMjoxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJICBsYXc6IGZpeCBDRkxBR1MgYW5kIExJQlMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMTItMDkgMTI6MTU6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTEyLTA5IDEwOjUxOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHA6IGZpeCBtYXJzaGFsbGVycwoJICBSZW1vdmUgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBtaW5vYmplY3QuCgkgIEluaXQgUlRDUCBidWZmZXIgY29ycmVjdGx5LgoJICBIYW5kbGUgcmVzdWx0cyBmcm9tIHNldGNhcHMKCSAgUmVtb3ZlIGFzc2VydHMuCgoyMDExLTEyLTA5IDEwOjUwOjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJICBsYXc6IGZpeCBuZWdvdGlhdGlvbgoKMjAxMS0xMi0wOCAxMTowMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzdHJlYW0tZm9ybWF0PXJhdyBnb2VzIHdpdGggYWFjIGNhcHMsIG5vdCBtcDMgY2FwcwoKMjAxMS0xMi0wOCAwMToyODoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmMKCjIwMTEtMTItMDIgMTI6MDc6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBkbyBub3QgaWdub3JlIHRoZSBoaWdoZXN0IGZyYW1lIGludGVydmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzODcKCjIwMTEtMTItMDIgMTE6NTk6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBkbyBub3QgaWdub3JlIHRoZSBsYXJnZXN0IHJlc29sdXRpb24KCSAgVGhlICdtYXgnIHZhbHVlIGlzbid0IGFuIFNUTCBzdHlsZSAib25lIGFmdGVyIHRoZSBlbmQiIGJvdW5kLAoJICBidXQgdGhlIGxhcmdlc3QgYWxsb3dlZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM4NwoKMjAxMS0xMi0wNiAxNjo0NzoyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBkb2NzOiBhZGQgYWRkIHRoZSB0d28gZW51bSB2YWx1ZXMgdGhhdCB3ZXJlIGp1c3QgYWRkZWQgdG9vCgoyMDExLTEyLTA2IDE2OjE0OjU0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBleHBvc2UgdGhlIGVudW0gcHJvcGVydHkgZG9jcyBmb3Igc3BsaXR0aW5nIG1vZGUuCgkgIEZpeGVzICM2NjU2NjYuCgoyMDExLTEyLTA2IDE0OjIzOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIGgyNjNwYXk6IGZpeCBpbnZhbGlkIHJldHVybiB2YWx1ZQoKMjAxMS0xMi0wNiAxMzo1OTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIHVudXNlZCBmbHVzaCBwYXJhbQoKMjAxMS0xMi0wNSAxODo0MDoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkgIHJ0cHhxdGRlcGF5OiBJbml0aWFsaXplIEdzdFJUUEJ1ZmZlciBiZWZvcmUgdXNhZ2UKCjIwMTEtMTItMDUgMTg6NDA6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IEluaXRpYWxpemUgR3N0UlRQQnVmZmVyIGJlZm9yZSB1c2FnZQoKMjAxMS0xMi0wNSAxODozOTo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBJbml0aWFsaXplIEdzdFJUUEJ1ZmZlciBiZWZvcmUgdXNhZ2UKCjIwMTEtMTItMDUgMTI6MTU6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiByZXBsYWNlIGRlcHJlY2F0ZWQgR1NUX0NMQVNTX0xPQ0sKCjIwMTEtMTEtMjQgMTM6NTg6MDEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IENlaWwganBlZyBkaW1lbnNpb25zLCBpbnN0ZWFkIG9mIGZsb29yCgkgIEEgSlBFRyBpbWFnZSBpbnNpZGUgYW4gUlRQIHN0cmVhbSBoYXMgYSBwcmVjZWVkaW5nIFJGQzI0MzUgaGVhZGVyIHRoYXQKCSAgY29udmV5cyB3aWR0aC9oZWlnaHQuIFRoZSBkaW1lbnNpb25zIGluIHRoaXMgaGVhZGVyIGFyZSBsaW1pdGVkIHRvIGJlCgkgIG11bHRpcGxlcyBvZiA4LiBTaW5jZSBKUEVHIHVzZXMgYW4gTUNVIG9mIDh4OCBwaXhlbHMgYW55IGltYWdlIG11c3QKCSAgYWxyZWFkeSBpbmRpcmVjdGx5IGhhdmUgaW1hZ2UgZGF0YSBkaW1lbnNpb25zIHRoYXQgYXJlIHJvdW5kZWQgdXAgaW4KCSAgb3JkZXIgdG8gY29udGFpbiBlbm91Z2ggZGF0YSB0byByZW5kZXIgdGhlIGltYWdlLiBUaGVyZWZvcmUgdGhpcyBmaXgKCSAgc2FmZWx5IHJvdW5kcyB0aGUgaW1hZ2UgZGltZW5zaW9ucyBpbiB0aGUgUkZDMjQzNSBoZWFkZXIgdXAgdG8gdGhlCgkgIGNsb3Nlc3QgbXVsdGlwbGUgb2YgOC4KCjIwMTEtMTItMDQgMTI6NTA6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBlbnN1cmUgd2Ugb25seSBjaGVjayBmb3Igc2FtcGxlL2Jsb2NrIG1peHVwIGF0IHN0YXJ0CgkgIE90aGVyd2lzZSB3ZSBtaWdodCB0cmlnZ2VyIGF0IHNvbWUgcG9pbnQgd2l0aGluIHRoZSBmaWxlLCBidXQgdGhlCgkgIGNoZWNrIGlzIG9ubHkgbWFraW5nIHNlbnNlIGZvciB0aGUgc2Vjb25kIGJsb2NrLgoKMjAxMS0xMi0wMyAxODoxNDo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogd2FybiBpZiBhY2N1bXVsYXRpbmcgaGVhZGVycyBhZnRlciB0aGV5IHdlcmUgcHVzaGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU0MTIKCjIwMTEtMTAtMjUgMTI6NTQ6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGZpeCBwYXJzaW5nCgkgIE1hcmsgbW9yZSBwYXJ0cyBhcyBiZWxvbmdpbmcgdG8gc3RyZWFtaGVhZGVycy4KCjIwMTEtMTItMDMgMTc6MzA6MTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGRpc2NvbnRpbnVpdHkgdGhyZXNob2xkIGNoZWNrIHdoZW4gdGltZXN0YW1wcyBnbyBiYWNrd2FyZHMKCSAgU2luY2UgdW5zaWduZWQgdHlwZXMgYXJlIHVzZWQsIGEgbmVnYXRpdmUgdmFsdWUgd291bGQgc2hvdyBhcyB2ZXJ5LCB2ZXJ5CgkgIHBvc2l0aXZlLgoJICBGaXhlcyBBL1Ygc3luYyBvbiBzb21lLi4uIGxlc3MgdGhhbiB3ZWxsIG1hZGUgZmlsZXMgd2hlcmUgdGltZXN0YW1wcyBnbwoJICBiYWNrd2FyZHMuCgoyMDExLTEyLTAyIDIyOjI1OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgYmFzZXNpbmsgZXZlbnQgaGFuZGxlciBjaGFuZ2VzCgoyMDExLTEyLTAyIDEyOjAxOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogYWRkIGEgY29tbWVudCBhYm91dCBhICJoaWRkZW4iIGFzc3VtcHRpb24gb24gcmFuayB2YWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM4NwoKMjAxMS0xMi0wMiAwMTo1ODozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sCgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYwoKMjAxMS0xMi0wMSAxODo1NTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgdXBkYXRlIGZvciB0YWcgQVBJIGNoYW5nZXMKCjIwMTEtMTItMDEgMTU6Mjk6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBsYWNhdGUgZ2NjIHNpbmNlIC1XZXJyb3IgaXMgdXNlZAoJICBJbml0aWFsaXplIHZhbHVlcyB0aGF0IEdDQyBjYW5ub3QgcHJvdmUgYXJlIG5vdCB1c2VkIHdpdGhvdXQKCSAgYmVpbmcgaW5pdGlhbGl6ZWQsIGFuZCBhc3NlcnQgdGhhdCBJIGRpZCBub3QgbWVzcyB1cCBteSBwcm9vZi4KCjIwMTEtMTItMDEgMTQ6MTM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggdXAgTElCUyBvcmRlciBzb20gbW9yZWAKCjIwMTEtMTItMDEgMTM6MjI6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IGZpeCBuYW1lIG9mIG5ldyBwcm9wZXJ0eSBhbmQgdGhlIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mzc5CgoyMDExLTA5LTI1IDE0OjU3OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgYmFzaWMgYnVmZmVyIGxpc3QgaGFuZGxpbmcKCSAgV2UgYXNzdW1lIGZvciBub3cgdGhhdCBhbGwgYnVmZmVycyBpbiBhIGJ1ZmZlciBsaXN0CgkgIHNob3VsZCBlbmQgdXAgaW4gdGhlIHNhbWUgZmlsZSAoc28gd2UgY2FuIGdyb3VwIEdPUHMKCSAgaW4gYnVmZmVyIGxpc3RzLCBmb3IgZXhhbXBsZSkuIENvdWxkIG9wdGltaXNlIHRoaXMKCSAgYSBiaXQgdG8gYXZvaWQgdGhlIG1lbWNweS4KCjIwMTEtMDktMjMgMTg6NDM6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHdyaXRlIHN0cmVhbS1oZWFkZXJzIHdoZW4gc3dpdGNoaW5nIHRvIHRoZSBuZXh0IGZpbGUgaW4gbWF4LXNpemUgbW9kZQoKMjAxMS0wOS0yMyAxODozMTowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBuZXcgJ21heC1zaXplJyBtb2RlIGZvciBzd2l0Y2hpbmcgdG8gdGhlIG5leHQgZmlsZQoKMjAxMS0wOS0yMyAxNzo0OTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGFkZCAibWF4LWZpbGUtc2l6ZSIgcHJvcGVydHkgZm9yIG5ldyBuZXh0LWZpbGUgbW9kZQoKMjAxMS0xMi0wMSAxMzozODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgZm9yZ2V0IFNTQSBzdWJ0aXRsZXMgaW4gbGFzdCBjb21taXQKCjIwMTEtMTItMDEgMTM6MzQ6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogT25seSBjaGVjayBmb3IgbWFya3VwIGFuZCBlc2NhcGUgaWYgbmVjZXNzYXJ5IGZvciBwbGFpbnRleHQgc3VidGl0bGVzCgkgIE90aGVyd2lzZSB3ZSBicmVhayBVU0YgYW5kIEFTUy9TU0Egc3VidGl0bGVzLgoKMjAxMS0xMi0wMSAxMzoyMzozMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICBtdWx0aWZpbGU6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBBZGQgLWJhc2UgbGlicyBpbmNsdWRlcyB0byBDRkxBR1MsIGZpeCBvcmRlciBvZiBMSUJTIDxjaXQ+LgoKMjAxMS0xMi0wMSAxMzowODowMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IGZpeCBnX21rZHRlbXAgcHJlc2VuY2UgY2hlY2sgaW4gbXVsdGlmaWxlIHRlc3RzCgkgIGdfbWtkdGVtcCB3YXMgYWRkZWQgaW4gZ2xpYiAyLjMwIGV2ZW4gdGhvdWdoIHRoZSBkb2MgY2xhaW1zIGl0IHdhcyBhZGRlZCBpbgoJICAyLjI2LgoKMjAxMS0wNy0xNyAyMzo1NjowNCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlc2luazogYWRkIGZsYWcgdG8gY3V0IGFmdGVyIGEgZm9yY2Uga2V5IHVuaXQgZXZlbnQKCjIwMTEtMTItMDEgMTI6NDc6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENvcHkgYWxsIGJ1ZmZlciBmbGFncyB3aGVuIGNyZWF0aW5nIGEgc3VidGl0bGUgYnVmZmVyIGNvcHkgYWZ0ZXIgcG9zdHByb2Nlc3NpbmcKCSAgVGhpcyBhbHNvIGNvcGllcyB0aGUgY2Fwcy4gT3RoZXJ3aXNlIHdlIGNvdWxkIGVuZCB1cCBwdXNpbmcKCSAgdGhlIGZpcnN0IGJ1ZmZlciB3aXRob3V0IGFueSBjYXBzLCB3aGljaCBjYXVzZXMgZG93bnN0cmVhbQoJICB0byBub3QgZ2V0IG5vdGlmaWVkIGFib3V0IHRoZSBjYXBzLgoJICBGaXhlcyBidWcgIzY2NDg5Mi4KCjIwMTEtMTAtMTEgMDI6MDc6MTMgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1ha2UgZGVmYXVsdCBmcmFtZXJhdGUgb3B0aW9uYWwgcGVyIHN0cmVhbQoJICB0aGVyZSBpcyBhdCBsZWFzdCB0d28gdXNlIGNhc2VzIHdoZXJlIGRlZmF1bHQgZnJhbWUgcmF0ZQoJICBzaG91bGQgb3IgbWF5IGJlIGRpc2FibGVkOgoJICAtIHZwOCBzdHJlYW0gd2l0aCBhbHRyZWYgZnJhbWUgZW5hYmxlZC4gSWYgZGVmYXVsdCBmcmFtZSByYXRlCgkgIGlzIGVuYWJsZWQsIHNvbWUgcGxheWVycyB3aWxsIG1pc3NpbnRlcnByZXRlIGl0IChjcml0aWNhbCEpCgkgIC0gZm9yIHdlYm0gY29udGFpbmVyLCB0byByZWR1Y2UgbWljcm8gb3ZlcmhlYWQKCSAgLSBmb3Igc3RyZWFtIHdpdGggdmFyaWFibGUgZnJhbWUgcmF0ZS4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0xMS0zMCAyMjoxMzoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJICByaXBwbGV0djogZml4IENMQU1QIGVuZC12YWx1ZXMKCjIwMTEtMTEtMzAgMTk6MjU6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDExLTExLTMwIDE5OjAwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuYzoKCSogZ3N0L211bHRpZmlsZS9wYXR0ZXJuc3BlYy5oOgoJICBzcGxpdGZpbGVzcmM6IHNwZWNpZnkgZmlsZW5hbWVzIHZpYSBub3JtYWwgd2lsZGNhcmRzIGluc3RlYWQgb2YgcmVndWxhciBleHByZXNzaW9ucwoJICBMZXNzIGNyYWNrdGFzdGljIGluIHRoZSBlbmQuCgoyMDExLTEwLTEwIDE4OjI4OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogY2hlY2sgYnl0ZXMgYWN0dWFsbHkgcmVhZCwganVzdCBpbiBjYXNlCgkgIEhhbmRsZSBjb3JuZXIgY2FzZSB3aGVyZSB3ZSB0cnkgdG8gcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUKCSAgbGFzdCBmaWxlIHBhcnQsIGluIHdoaWNoIGNhc2Ugd2Ugd2FudCB0byByZXR1cm4gYSBzaG9ydCByZWFkLgoJICBJZiB3ZSBnZXQgZmV3ZXIgYnl0ZXMgdGhhbiBleHBlY3RlZCBmb3IgYW55IG90aGVyIGZpbGUgcGFydCwKCSAgd2Ugc2hvdWxkIGp1c3QgZXJyb3Igb3V0LCBzaW5jZSBzb21ldGhpbmcgZmlzaHkncyBnb2luZyBvbgoJICB0aGVuLgoKMjAxMS0xMC0wNiAwODozMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IHNldCBvZmZzZXRzIG9uIGJ1ZmZlcnMKCSAgTG9va3MgbGlrZSBzb21lIHBhcnNlcnMgKGluIHNvbWUgdmVyc2lvbnMgYXQgbGVhc3QpIGV4cGVjdCB0aGUKCSAgb2Zmc2V0cyB0byBiZSBzZXQsIGFuZCBiZWhhdmUgd2VpcmQgaWYgdGhhdCdzIG5vdCB0aGUgY2FzZQoJICAoZS5nLiBvZmYtYnktb25lIGluIGgyNjRwYXJzZSkuCgoyMDExLTA3LTI4IDIwOjE5OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuaDoKCSAgbXVsdGlmaWxlOiBhZGQgc3BsaXRmaWxlc3JjIGVsZW1lbnQKCSAgQWRkIG5ldyBzcGxpdGZpbGVzcmMgZWxlbWVudCB0aGF0IHByZXNlbnRzIG11bHRpcGxlIGZpbGVzCgkgIChzZWxlY3RhYmxlIHZpYSBhIGxvY2F0aW9uIHJlZ2V4KSBhcyBvbmUgc2luZ2xlIGNvbnRpZ3VvdXMKCSAgZmlsZS4KCjIwMTEtMTEtMzAgMDc6NTc6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgdXBkYXRlIGZvciBtb3ZlZCBhdWRpbyBpbnRlcmZhY2VzCgoyMDExLTExLTI5IDE3OjM0OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgUmV2ZXJ0ICJwdWxzZWF1ZGlvc2luazogZml4IGNhcHMgbGVhayIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkNmE5ZGU5ZTJhZWRjOGI2NmFiMzIxOTkwMmI1YTM3ZThkNjVhZGEyLgoJICBzZXRjYXBzIGZ1bmN0aW9ucyBhcmVuJ3Qgc3VwcG9zZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgdGhlIGNhcHMgcGFzc2VkCgoyMDExLTExLTI5IDE5OjEwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgZml4IGZvciBtb3ZlZCBpbnRlcmZhY2VzCgoyMDExLTExLTI4IDIxOjI3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMToyNzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJ2EyMzM3YjhhZjQ1Y2I1ZThjMDkxZmYwZTFjM2VmNGI2Y2M3YjIwYTMnIGludG8gMC4xMQoKMjAxMS0xMS0yOCAxODoyNTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBVcGRhdGUgZm9yIGluZGV4YWJsZSBjaGFuZ2UKCjIwMTEtMTEtMjggMTc6NTI6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHVwZGF0ZSBmb3IgY2xvY2sgcHJvdmlkZXIgQVBJIGNoYW5nZQoKMjAxMS0xMS0yOCAxNjo1NzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZml4IGZvciBlbGVtZW50IGZsYWcgdXBkYXRlcwoKMjAxMS0xMS0yOCAxMjo1ODo0NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2NjQKCjIwMTEtMTEtMjggMTE6NDc6MTEgKzAxMDAgIENoYWQgPGNoYW5uYUBjYWx0ZWNoLmVkdT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJICB0YWdpbmplY3Q6IHNldCBnYXAtYXdhcmUKCSAgVGhlIGVsZW1lbnQgZG9lcyBub3QgbW9kaWZ5IHRoZSBkYXRhIGFueXdheS4KCjIwMTEtMTEtMjcgMjM6MzI6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSBwbyBmaWxlcwoKMjAxMS0xMS0yNyAyMzozMTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jCgoyMDExLTExLTI2IDIxOjM5OjMzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBhbHNvIHN5bmMgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmaWx0ZXIgYmFuZHMKCjIwMTEtMTEtMjYgMTY6MDY6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbml0aWFsaXNlIHNlZW5fbWFya3VwX3RhZyBmaWVsZCBvbiBzdWJ0aXRsZSBzdHJlYW0gY29udGV4dAoKMjAxMS0xMS0yNiAxMDowMTowNyArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thOiBwb3J0IHRvIDAuMTEKCSAgU3VwcG9ydCBmb3IgVEFHX0lNQUdFIGFuZCBUQUdfQVRUQUNITUVOVCBpcyBjb21tZW50ZWQgb3V0OyB0aGlzIHJlcXVpcmVzIGNhcHMKCSAgb24gYnVmZmVycyB3aGljaCBpcyBnb25lIGZyb20gMC4xMS4KCSAgU2VnbWVudCBoYW5kbGluZyBpbiB0aGUgZGVtdXhlciBpcyBhIGJpdCBjb21wbGV4OyBJIGFkZGVkIHNvbWUgRklYTUUgY29tbWVudHMKCSAgaW4gcGxhY2VzIHdoZXJlIEknbSBub3QgeWV0IHN1cmUgaWYgSSBwb3J0ZWQgY29ycmVjdGx5LgoKMjAxMS0xMS0yNiAxMzo1NDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZWF1ZGlvOiByZXF1aXJlIHB1bHNlYXVkaW8gPj0gMS4wCgoyMDExLTExLTI2IDEzOjM0OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmMKCSAgZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jCgkgIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaAoJICBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYwoJICBTb21lIHBvc3NpYmxlIEZJWE1FcyByZW1haW5pbmcgaW4gdGhlIGF1ZGlvIHBhcnNlciBnZXRjYXBzIGZ1bmN0aW9ucy4KCjIwMTEtMTEtMjUgMTk6Mjg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgaXNtbG11eDogVXNlIGlzby1mcmFnbWVudGVkIGFzIHZhcmlhbnQgdHlwZQoJICBVc2luZyAnaXNvJyBjb25mbGljdHMgd2l0aCBtcDRtdXggdmFyaWFudCB0eXBlLCBpc21sbXV4IG5vdwoJICB1c2VzIGlzby1mcmFnbWVudGVkCgkgIEZpeGVzICM2NTY4MjMKCjIwMTEtMTEtMjQgMTI6MDU6MzMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogSW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UKCSAgUHVsc2VBdWRpbyAxLjAgc3VwcG9ydHMgcGVyLXNvdXJjZS1vdXRwdXQgdm9sdW1lcywgYW5kIHRoaXMgZXhwb3NlcyB0aGUKCSAgZnVuY3Rpb25hbGl0eSB2aWEgdGhlIEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UuCgkgIFdoZW4gY29tcGlsZWQgYWdhaW5zdCBwcmUtMS4wIFB1bHNlQXVkaW8sIHRoZSBpbnRlcmZhY2UgaXMgbm90CgkgIGltcGxlbWVudGVkLCBhbmQgdGhlICJ2b2x1bWUiIG9yICJtdXRlIiBwcm9wZXJ0aWVzIGFyZSBub3QgYXZhaWxhYmxlLgoJICBUaGlzIGJpdCBvZiB1Z2xpbmVzcyB3aWxsIGdvIGF3YXkgd2hlbiB3ZSBjYW4gZGVwZW5kIG9uIFB1bHNlQXVkaW8gMS4wCgkgIG9yIGdyZWF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTUwNTUKCjIwMTEtMDktMTAgMjE6MjE6MzggLTA3MDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBUcml2aWFsIGNvbW1lbnQgY29weS1wYXN0ZS1vIGZpeAoKMjAxMS0xMS0xNCAxMjo0MzoyNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IFJlbW92ZSByZWR1bmRhbnQgY29kZQoKMjAxMS0xMS0xNCAxMjo0MTo0MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IENsZWFuIHVwIHJlZmNvdW50aW5nIGluIGV2ZW50IHByb2JlCgkgIE1ha2VzIHN1cmUgd2UgZG9uJ3QgbGVhayBhIHJlZmNvdW50IGlmIHRoZSBvYmplY3QgaXMgZGlzcG9zZWQgYmVmb3JlIGEKCSAgTkVXU0VHTUVOVCB0dXJucyB1cC4KCjIwMTEtMTEtMjQgMTY6MzE6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IHNlZWtpbmcKCSAgV2hpY2ggSSBhY2NpZGVudGFsbHkgYnJva2Ugd2hlbiBmaXhpbmcgZmx2IHZpZGVvcyBicmVha2luZyBvbgoJICBzcHVyaW91cyB0aW1lc3RhbXAgZGlzY29udGludWl0aWVzIGluIGJyb2tlbiBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTQzMAoKMjAxMS0xMS0yNSAxMzoxMzo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJICBlZmZlY3R2OiByZXBhaXIgY29sb3IgbW9kZXMgaW4gcmFkaW9hY3R2IGJ5IHRha2luZyByZ2IsYmdyIGludG8gYWNjb3VudAoKMjAxMS0xMS0yNSAxMTo0NDo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSAgcmFkaW9hY3R2OiBhZGQgb25lIG1vcmUgc2V0IG9mIGNhcHMKCSAgSXQgYWxzbyB3b3JrIGluIHRoaXMgZm9ybWF0LiBBdm9pZHMgdGhlIG5lZWQgZm9yIGNvbnZlcnNpb24uCgoyMDExLTExLTI1IDExOjQ0OjE4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIGVmZmVjdHR2OiBmaXggcmV2ZXJzZSBuZWdvdGlhdGlvbgoJICBUaGUgcGx1Z2lucyB3ZXJlIHVzaW5nIF9maXhlZF9jYXBzXyBhbmQgdGh1cyBub3QgYWRqdXN0aW5nIHRvIG5ldyB1cHN0cmVhbQoJICBzaXplcy4gU3BvdHRlZCBieSBUaW0gTcO8bGxlci4KCjIwMTEtMTEtMjUgMTE6NDM6MTYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIHdhcnB0djogcmVtb3ZlIG5vdCBuZWVkZWQgaWZkZWYKCjIwMTEtMTEtMjUgMTA6MTU6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSAgcmlwcGxldHY6IGNsZWFuIHVwIHRoZSByZW5kZXJpbmcgY29kZSBhIGJpdAoJICBUaGlzIGlzIGNvcnJydXB0cyB0aGUgbWVtb3kgd2hlbiByZXNpemluZy4gQWRkIGEgRklYTUUgdG8gbWFrZSBpdCByZXNpemVhYmxlCgkgIG9uY2UgdGhhdCBpcyBzb2x2ZWQuCgoyMDExLTExLTI0IDIxOjQxOjAzICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBnc3RjaGVjayBBUEkgY2hhbmdlCgoyMDExLTExLTI0IDIwOjQyOjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R0djogZml4IHJldmVyc2UgbmVnb3RpYXRpb24KCSAgVGhlIHBsdWdpbnMgd2VyZSB1c2luZyBfZml4ZWRfY2Fwc18gYW5kIHRodXMgbm90IGFkanVzdGluZyB0byBuZXcgdXBzdHJlYW0KCSAgc2l6ZXMuIFNwb3R0ZWQgYnkgVGltIE3DvGxsZXIuCgoyMDExLTExLTI0IDE0OjE0OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogRml4IGxlYWsgb2YgZmlsZW5hbWUgc3RyaW5ncwoJICBEbyBub3QgZm9yZ2V0IHRvIGZyZWUgdGhlIGZpbGVuYW1lIHN0cmluZ3Mgd2hlbiBkZWxldGluZwoJICB0aGUgbGlzdCBvZiBmaWxlcy4KCjIwMTEtMTEtMjQgMTQ6MTE6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IGZpeCBidWlsZCBvZiB0ZXN0cwoJICBUZXN0cyBmYWlsIHRvIGJ1aWxkIGJlY2F1c2UgZ19ta2R0ZW1wIGlzIGF2YWlsYWJsZSBmcm9tIGdsaWIgc2luY2UKCSAgMi4yNi4KCSAgVGhpcyBwYXRjaCBhZGRzIGEgY29uZGl0aW9uIGFyb3VuZCB0aGUgcmVkZWZpbml0aW9uIG9mCgkgIGdfbWtkdGVtcCBvbiB0aGUgdGVzdHMgdG8gb25seSBidWlsZCBpdCBpZiBnbGliIGlzIG9sZGVyIHRoYW4KCSAgMi4yNi4KCjIwMTEtMDktMjcgMTY6NDk6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBza2lwIGlkMzIgdGFncwoJICBUaGlzIGFsbG93cyBkZWNvZGluZyBhdCBsZWFzdCBvbmUgc2FtcGxlIHdoZXJlIHNvbWV0aGluZyBoYXMKCSAgc3R1ZmZlZCBzb21lIElEMyB0YWcgYmVmb3JlIHRoZSAoc3VwcG9zZWRseSBpbml0aWFsKSBGTVRcIC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDI0OQoKMjAxMS0xMC0zMSAxNzowNjoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgIGVkZ2V0djogdHJpdmlhbCBjb21tZW50IGZpeCBmb3IgY2xhcml0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxODQxCgoyMDExLTEwLTMxIDE3OjA0OjIzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiBkb24ndCBsZWF2ZSBiaXRzIG9mIHRoZSBvdXRwdXQgYnVmZmVyIHVuaW5pdGlhbGl6ZWQKCSAgTGV0J3MgaW5pdGlhbGl6ZSB0aGVtIHRvIHplcm8uIEl0IGxvb2tzIGFscmlnaHQsIGJ1dCB0aGVuIGl0CgkgIGFsc28gbG9va3MgYWxyaWdodCB3aXRoIHYzLCBvciB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHBpeGVscwoJICBmcm9tIHRoZSBzb3VyY2UuIEkgZG9uJ3Qga25vdyB3aGF0IHRoZSBvcmlnaW5hbCBpbnRlbnQgd291bGQKCSAgYmUsIGFuZCB0aGUgb3JpZ2luYWwgZWZmZWN0diBzb3VyY2UgYWxzbyBoYXMgdGhpcyBidWcvZmVhdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTg0MQoKMjAxMS0xMS0yNCAxMDoyNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogVXNlIHRoZSBzaW5rcGFkIHRlbXBsYXRlIGNhcHMgYXMgZmFsbGJhY2ssIG5vdCB0aGUgc3JjcGFkIG9uZXMKCjIwMTEtMTEtMjQgMDk6NTk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjU3OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjU1OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo1MzoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NDk6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogTWFyayBzb21lIG1vcmUgZnVuY3Rpb25zIGFzIHN0YXRpYwoKMjAxMS0xMS0yNCAwOTo0ODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NDQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogTWFyayBzb21lIGZ1bmN0aW9ucyBhcyBzdGF0aWMgYW5kIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gZGVjbGFyYXRpb25zCgoyMDExLTExLTI0IDA5OjQzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwMTo0ODoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogdXBkYXRlIHNvdXAgdGVzdCBmb3IgcmVtb3ZlZCBpcmFkaW8tbW9kZSBwcm9wZXJ0eQoKMjAxMS0xMS0yNCAwMTo0NTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogZ2V0IHJpZCBvZiBpcmFkaW8tKiBwcm9wZXJ0aWVzLCBwb3N0IHRhZ3MgaW5zdGVhZAoKMjAxMS0xMS0yNCAwMTo0MDowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWx3YXlzIHNlbmQgaWNlY2FzdCByZXF1ZXN0IGhlYWRlciwgZHJvcCBpcmFkaW8tbW9kZSBwcm9wZXJ0eQoJICBTZXJ2ZXIgc2hvdWxkIGlnbm9yZSB1bmtub3duL3VuaGFuZGxlZCBoZWFkZXJzLi4KCjIwMTEtMTEtMjQgMDE6MTk6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IG1ha2UgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eSBhIGd1aW50NjQKCjIwMTEtMTEtMjQgMDA6NTI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEucHk6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnB5OgoJICBydHBtYW5hZ2VyOiByZW5hbWUgZ3N0cnRwKiAtPiBydHAqCgkgIFRoaXMgd2FzIGRvbmUgaW4gMC4xMCB0byBhdm9pZCBjb25mbGljdCB3aXRoIHRoZSBydHAgZWxlbWVudHMgaW4KCSAgZmFyc2lnaHQsIGJ1dCB0aGUgZ3N0LXByZWZpeGluZyBpcyBubyBsb25nZXIgbmVlZGVkIGluIDAuMTEKCjIwMTEtMTEtMjMgMTA6MjM6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTIzIDA5OjI2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBhdm9pZCBlbmRsZXNzIGNhcHMgbG9vcAoJICBDaGVjayBpZiB0aGUgY2FwcyBhcmUgdGhlIHNhbWUgYmVmb3JlIGFkZGluZyBhIG5ldyBwcm9iZS4gQmVjYXVzZSBvZiByZWNvbmZpZ3VyZQoJICBldmVudHMsIHVwc3RyZWFtcyBzZW5kcyBtdWx0aXBsZSBjYXBzIGV2ZW50cy4KCjIwMTEtMTEtMjMgMDA6NTc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thcGFyc2UuYzoKCSogdGVzdHMvZmlsZXMvcGlua25vaXNlLXZvcmJpcy5ta3Y6CgkgIHRlc3RzOiBhZGQgYmFzaWMgdW5pdCB0ZXN0IGZvciBtYXRyb3NrYXBhcnNlCgoyMDExLTExLTIzIDAwOjU2OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBkb24ndCBsZWFrIHN0cmVhbSBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ1NDgKCjIwMTEtMTEtMjIgMDE6NDA6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgTW9yZSBwcmludGYgZm9ybWF0IHdhcm5pbmcgZml4ZXMKCjIwMTEtMTEtMjEgMjA6MzE6MzEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TIFggLyA2NGJpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE1CgoyMDExLTExLTIxIDEzOjM3OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciBhY3RpdmF0aW9uIGNoYW5nZXMKCjIwMTEtMTEtMTggMTc6NTk6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHNjaGVkdWxpbmcgcXVlcnkKCjIwMTEtMTEtMTggMTM6NTc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYWRkIHBhcmVudCB0byBhY3RpdmF0ZSBmdW5jdGlvbnMKCjIwMTEtMTEtMTcgMTc6MzY6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWN0aXZhdGUgcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgU2V0aW5nIGNhcHMgb24gYW4gaW5hY3RpdmUgZmx1c2hpbmcgcGFkIGRvZXMgbm90aGluZy4KCjIwMTEtMTEtMTcgMTc6MTc6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmMKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jCgoyMDExLTExLTE3IDE1OjAyOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBhZGQgcGFyZW50IHRvIHBhZCBmdW5jdGlvbnMKCjIwMTEtMTEtMTcgMDg6MjQ6NTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgY29sbGVjdHBhZHM6IHBvcnQgQVBJIGNoYW5nZXMKCjIwMTEtMTEtMTYgMTk6MDg6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBlbnN1cmUgdG8gZnJlZSBhbGxvY2F0ZWQgcGFkZGVkIGRhdGEKCjIwMTEtMTEtMTYgMTg6NTc6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiByZXNldCB0YWcgc2V0dGVyIGludGVyZmFjZSB3aGVuIGFwcHJvcHJpYXRlCgoyMDExLTExLTE2IDE4OjU3OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVzZXQgdGFnIHNldHRlciBpbnRlcmZhY2Ugd2hlbiBhcHByb3ByaWF0ZQoKMjAxMS0xMS0xNiAxNzo1NDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBhZGQgcGFyZW50IHRvIGludGVybmFsIGxpbmtzCgoyMDExLTExLTE2IDE3OjI3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGFkZCBwYXJlbnQgdG8gcXVlcnkgZnVuY3Rpb24KCjIwMTEtMTEtMTYgMTI6NDA6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IHVwZGF0ZSBmb3IgcmVuYW1lZCBmbGFncwoJICBVc2UgdGhlIF9jaGVja19yZWNvbmZpZ3VyZSBtZXRob2QgaW5zdGVhZCBvZiBjaGVja2luZyBmbGFncy4KCSAgRG9uJ3QgbmVlZCB0byByZWYgdGhlIHBhcmVudCBhbnltb3JlLCBjb3JlIGRvZXMgdGhhdC4KCjIwMTEtMTEtMTUgMTg6MDE6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBfcXVlcnlfcGVlcl8qKCkgLT4gX3BlZXJfcXVlcnlfKigpCgoyMDExLTExLTE1IDE3OjQ1OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIF9hY2NlcHRfY2FwcygpIC0+IF9xdWVyeV9hY2NlcHRfY2FwcygpCgoyMDExLTExLTE1IDE3OjI5OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBfcGVlcl9nZXRfY2FwcygpIC0+IF9wZWVyX3F1ZXJ5X2NhcHMoKQoKMjAxMS0xMS0xNSAxNjo1NToyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHVwZGF0ZSBmb3IgX2dldF9jYXBzKCkgLT4gX3F1ZXJ5X2NhcHMoKQoKMjAxMS0xMS0xNSAxNjozMTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgY2hhbmdlIGdldGNhcHMgdG8gcXVlcnkKCSAgQ2hhaW4gdXAgZXZlbnQgZnVuY3Rpb24gaW4gcGF5bG9hZGVycy4KCjIwMTEtMTEtMTUgMTM6MjM6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggc3B1cmlvdXMgdGltZXN0YW1wIGRpc2NvbnRpbnVpdHkKCSAgV2UgbmVlZCB0byB0ZWxsIHRoZSBiYXNlIGNsYXNzIHRoYXQgd2UncmUgZHJvcHBpbmcgYnVmZmVycywKCSAgc28gaXQgZHJvcHMgdGhlIGlucHV0IHRpbWVzdGFtcHMgY29ycmVzcG9uZGluZyB0byB0aGVzZS4KCSAgT3RoZXJ3aXNlLCB0aGUgZmlyc3QgYWN0dWFsIGF1ZGlvIGJ1ZmZlcnMgd2Ugb3V0cHV0IHdpbGwgYmUKCSAgc3RhbXBlZCB3aXRoIHRob3NlIC0gR1NUX0NMT0NLX1RJTUVTVEFNUF9OT05FLiBUaGF0IG1pc21hdGNoCgkgIGJldHdlZW4gaW5wdXQgYnVmZmVyIGNvdW50IGFuZCBvdXRwdXQgYnVmZmVyIGNvdW50IHdpbGwgc3RheQoJICB3aGlsZSBwbGF5aW5nLiBXaXRoIGVub3VnaCBoZWFkZXJzIGFuZCBsb25nIGVub3VnaCBidWZmZXIKCSAgZHVyYXRpb25zLCB0aGUgc2luayB3aWxsIGhhdmUgcGxheWVkIGVub3VnaCBiZWZvcmUgcmVjZWl2aW5nCgkgIHRoZSBmaXJzdCB2YWxpZCB0aW1lc3RhbXAgKHVzdWFsbHkgMCksIGFuZCB3aWxsIHRyaWdnZXIgYW4KCSAgYXVkaWJsZSBkaXNjb250aW51aXR5LgoKMjAxMS0xMS0xNCAxNTozNDo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGRldGVjdCB3aGVuIGEgZmlsZSBsaWVzIGFib3V0IGZpeGVkIGJsb2NrIHNpemUKCSAgSWYgdGhlIHNhbXBsZS9ibG9jayBudW1iZXIgaGFwcGVucyB0byBiZSB0aGUgc2FtZSBhcyB0aGUgYmxvY2sKCSAgc2l6ZSwgd2UgYXNzdW1lIHZhcmlhYmxlIGJsb2NrIHNpemUsIGFuZCB0aHVzIGNvdW50ZXJzIGluIHNhbXBsZXMKCSAgaW4gdGhlIGhlYWRlcnMuIFRoaXMgY2FuIG9ubHkgZ2V0IHVzIGEgZmFsc2UgcG9zaXRpdmUgZm9yIGEgYmxvY2sKCSAgc2l6ZSBvZiAxLCB3aGljaCBpcyBpbnZhbGlkLiBXZSBjYW4gZ2V0IGZhbHNlIG5lZ2F0aXZlcyBtb3JlCgkgIG9mdGVuIHRob3VnaCAoZWcsIGlmIG5vdCBzdGFydGluZyBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSksCgkgIGJ1dCB0aGVuIHRoYXQncyBhbHJlYWR5IEdJR08uCgoyMDExLTA5LTAyIDE5OjIwOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBBZGQgc3BlY2lhbCBtb2RlIHRvIHVzZSBGSVIgYXMgcmVwYWlyIGFzIEdvb2dsZSBkb2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDktMDEgMTc6NDc6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogU2VuZCBGSVIgcmVxdWVzdHMgaW4gcmVzcG9uc2UgdG8ga2V5IHVuaXQgcmVxdWVzdHMgd2l0aCBhbGwtaGVhZGVycz1UUlVFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDktMDEgMTY6MjU6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogUHV0IHRoZSBQTEkgcmVxdWVzdHMgaW4gZWFjaCBSVFBTb3VyY2UKCSAgQWxzbyByZWZhY3RvciBhIGJpdCBhbmQgcHV0IGFsbCB0aGUga2V5ZnJhbWUgcmVxdWVzdCBjb2RlIGluIG9uZQoJICBwbGFjZSBpbnNpZGUgcnRwc2Vzc2lvbi5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDgtMzEgMTQ6MzU6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEhhY2sgdG8gRklSIGJlY2F1c2UgR29vZ2xlIGRvZXNuJ3Qgc2V0IHRoZSBzZW5kZXIgc3NyYyBjb3JyZWN0bHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOC0zMCAxOTowNjoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBQcm9jZXNzIHJlY2VpdmVkIEZ1bGwgSW50cmEgUmVxdWVzdHMKCSAgUHJvY2VzcyBGSVIgcmVxdWVzdHMgYWNjb3JkaW5nIHRvIFJGQyA1MTA0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMTEtMDcgMTg6NDM6MjYgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIHRvIDEvMQoJICBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCBzZXR0aW5nIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gZnJvbSBWNEwyLiBTbwoJICBzaW1wbHkgc2V0IGl0IHRvIGJlIDEvMSBpbiB0aGUgY2FwcyB0byBwcmV2ZW50IG5lZ290aWF0aW9uIGZhaWx1cmVzIHdoZW4KCSAgZml4YXRpbmcgdG8gd2VpcmQgdmFsdWVzIChlLmcuIHdoZW4gdGhlIGRvd25zdHJlYW0gY2FwcyBoYXMKCSAgcGl4ZWwtYXNwZWN0LXJhdGlvID0gWyBNSU4sIE1BWCBdICkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzU4MAoKMjAxMS0xMS0xNCAwOTozOToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB0ZXN0czogbWFrZSBpZDNkZW11eCB0ZXN0IGNvbXBpbGUKCSAgU3RpbGwgZmFpbHMgdGhvdWdoLgoKMjAxMS0xMS0xMiAxNTo0MjoyNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogbm8gbmVlZCB0byBleHBsaWNpdGVseSBhZGQgY29udHJvbGxlZCBwcm9wZXJ0aWVzIGFueW1vcmUKCjIwMTEtMTEtMTMgMjM6NDI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgVXBkYXRlIGZvciBHc3RVUklIYW5kbGVyIGdldF9wcm90b2NvbHMoKSBjaGFuZ2VzCgoyMDExLTExLTEzIDE4OjUwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHNvdXAsIHB1c2hmaWxlLCBydHNwLCB1ZHAsIHY0bDI6IHVwZGF0ZSBmb3IgR3N0VVJJSGFuZGxlciBBUEkgY2hhbmdlcwoKMjAxMS0xMS0xMSAxOToyNDoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoKMjAxMS0xMS0xMSAxOToyMTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHA6IGZpeCBmb3IgcnRwIGhlYWRlciBjaGFuZ2VzCgoyMDExLTExLTExIDEwOjA2OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGZpeCBjYXBzIGxlYWsKCjIwMTEtMTEtMTEgMTQ6NTU6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvIG5vdCBsZWFrIGNsaWVudG5hbWUgd2hlbiBzZXR0aW5nIHVwIHByb3BlcnR5CgoyMDExLTExLTExIDE4OjA1OjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogQ2hhaW4gdXAgZGlzcG9zZSgpIGluIHB1bHNlYXVkaW9zaW5rCgoyMDExLTExLTExIDEyOjMyOjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgdXBkYXRlIGZvciBiYXNlIGNsYXNzIHJlbmFtZQoKMjAxMS0xMS0xMSAxMjoyNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgdXBkYXRlIGZvciBiYXNlIGNsYXNzIHJlbmFtZQoKMjAxMS0xMS0xMSAxMjowMToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICB1cGRhdGUgZm9yIGF1ZGlvYmFzZSogcmVuYW1lCgoyMDExLTExLTExIDExOjUzOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgYXVkaW86IHVwZGF0ZSBmb3IgYmFzZSBjbGFzcyByZW5hbWUKCjIwMTEtMTEtMTEgMTE6MzM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIGZpeCBmb3IgcmluZ2J1ZmZlciByZW5hbWUKCjIwMTEtMTEtMTEgMTE6MjQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHVwZGF0ZSBmb3IgcmluZ2J1ZmZlciBjaGFuZ2UKCjIwMTEtMTEtMTAgMjM6MTU6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMTAgMjM6MDk6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICB2YXJpb3VzOiBhZGQgbWlzc2luZyBpbmNsdWRlcwoKMjAxMS0xMS0xMCAyMTozNToyNCArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY29tcGlsYXRpb24gd2l0aCBwdWxzZWF1ZGlvIDAuOQoKMjAxMS0xMS0xMCAxODozMjo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciBhZGFwdGVyIGFwaSBjaGFuZ2VzCgoyMDExLTExLTEwIDE3OjIzOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdXBkYXRlIGZvciBjaGFuZ2VkIGJhc2UgY2xhc3NlcwoKMjAxMS0xMS0xMCAxMzo1MDozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgZml4IGZvciBhdWRpbyBjbG9jayBjaGFuZ2UKCjIwMTEtMTEtMTAgMTE6MDM6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdXBkYXRlIGZvciByZW1vdmVkIGZpeGF0ZSBmdW5jdGlvbgoKMjAxMS0xMS0wOSAxNzo0MDoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDkgMTc6Mzg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICB1cGRhdGVzIGZvciBuZXcgYWNjZXB0Y2FwcyBxdWVyeQoKMjAxMS0xMS0wOCAxNTozNToyNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggd3Jvbmcgc3RyaWRlIHdoZW4gaW52ZXJ0aW5nIHVuY29tcHJlc3NlZCB2aWRlbwoJICBTdWNoIGZyYW1lcyBoYXZlIGEgc3RyaWRlIG11bHRpcGxlIG9mIDQsIHNlZQoJICBodHRwOi8vbHNjdWJlLm9yZy9waXBlcm1haWwvZmZtcGVnLWlzc3Vlcy8yMDEwLUFwcmlsLzAxMDI0Ny5odG1sLgoJICBUaGlzIHNob3dlZCB1cCBvbiBhIHNhbXBsZSB1c2luZyBhIG9kZCB3aWR0aCBvZiAyNCBiaXQgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIyODgKCjIwMTEtMTEtMDkgMTI6MjU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIGgyNjNwcGF5OiByZXBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wOSAxMjoxODowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYwoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMS0xMS0wOSAxMTo1MzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgcmVtb3ZlIHF1ZXJ5IHR5cGVzCgoyMDExLTExLTA5IDEwOjMyOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtaW5pbWFsIHNhbml0eSBjaGVjayBvbiBjcmVhdGlvbiBkYXRldGltZQoKMjAxMS0xMS0wMiAxMjo1ODoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFJldHVybiB0aGUgc2luayBwYWQgdGVtcGxhdGUgYXMgc2luayBjYXBzLCBub3QgdGhlIHNyYydzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMDktMDMtMTUgMTk6MjY6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IEFsc28gaW1wbGVtZW50IHNpemUvZnJhbWVyYXRlIHJlc3RyaWN0aW9ucyBpbiBnZXRjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMDktMDMtMDQgMjA6NTA6MTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IEltcGxlbWVudCBnZXRjYXBzIGZvbGxvd2luZyBSRkMgNDYyOSwgcGlja3MgdGhlIHJpZ2h0IGFubmV4ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3Nzc4NAoKMjAxMS0xMS0wOCAxNDozMTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBzZXQgc2VnbWVudCBzdG9wIGF0IHN0YXJ0dXAgcmF0aGVyIHRoYW4gb25seSBwb3N0IHNlZWsKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSBjb25zaXN0ZW50IHBsYXliYWNrIHdpdGggb3Igd2l0aG91dCBzZWVrLCBlc3BlY2lhbGx5CgkgIGluIHByZXNlbmNlIG9mIHNvbWUgYm9ndXMgZWRpdCBsaXN0IGVudHJpZXMuCgoyMDExLTExLTA4IDExOjE4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgdXBkYXRlIGZvciBwcm9iZSBhcGkgY2hhbmdlcwoKMjAxMS0xMS0wOCAwODo1MDoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogY29kZSBjbGVhbnVwcwoJICBNb3ZlIHZhcmlhYmxlcyB0byB0aGUgc2NvcGUgd2hlcmUgdGhleSBhcmUgbmVlZGVkLiBVc2Ugb3VyIG1hY3JvcyBhbmQgZnVuY3Rpb25zCgkgIG1vcmUuCgoyMDExLTExLTA4IDA4OjQ5OjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBhZGQgYSBzaW5rX3F1ZXJ5IHRvIGVhdCBhbGxvY2F0aW9uIHF1ZXJpZXMKCSAgV2Ugc2hvdWxkIG5vdCBmb3J3YXJkIGFsbG9jYXRpb24gcXVlcmllcyBmb3IgYXVkaW8gdG8gdGhlIHZpZGVvIHNpbmsuCgoyMDExLTExLTAyIDE3OjAyOjU0ICswMDAwICBSYXVsIEd1dGllcnJleiBTZWdhbGVzIDxyZ3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgZ3N0L2Zsdi86IGFkZCBhbWZkZWZzLmggdG8gbm9pbnN0X0hFQURFUlMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzMzNAoKMjAxMS0xMS0wNyAxNzoxNDoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGZpeCBmb3IgcHJvYmUgdXBkYXRlcwoKMjAxMS0xMC0wMyAxNzo1MDo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IGRldGVjdCBsYXJnZSBwdHMgZ2FwcyBhbmQgcmVzeW5jCgkgIFNob3VsZCB3b3JrIG9uIG11bHRpcGxlIGdhcHMsIGJ1dCB0ZXN0ZWQgb24gb25seSBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE0MzAKCjIwMTEtMDgtMjIgMTA6NDA6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggb2ZmIGJ5IG9uZSBiZXR3ZWVuIGdyYW5wb3MgYW5kIGxhc3Rfc3RvcAoKMjAxMS0xMC0wNyAxOTo0MTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBsYXN0IGZyYW1lIHRpbWVzdGFtcCBpbiBmaXhlZCBibG9jayBzaXplIG1vZGUKCSAgVGhlIGxhc3QgYmxvY2sgbWF5IGhhdmUgYSBkaWZmZXJlbnQgYmxvY2sgc2l6ZSwgc28gd2Ugc2hvdWxkIG5vdAoJICB1c2UgaXQgdG8gc2NhbGUgb3Igd2UnbGwgZW5kIHVwIHdpdGggYSB3cm9uZyB0aW1lc3RhbXAuCgkgIFNlZSBjb21tZW50IGFuZCBxdW90ZSBmcm9tIHRoZSBGTEFDIGZvcm1hdCBkb2N1bWVudGF0aW9uIGluIHRoZSBjb2RlLgoJICBGaXhlcyBsb29wZWQgcGxheWJhY2sgb2YgRkxBQyBmaWxlcyAodmlhIGFib3V0LXRvLWZpbmlzaCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjEyMTUKCjIwMTEtMTAtMjcgMTU6NTI6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBhZGQgYSAnc2lsZW50JyBwcm9wZXJ0eSB0byBza2lwIHJlbmRlcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyODU2CgoyMDExLTExLTA3IDEyOjAwOjEyICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IGZpeCByZWdyZXNzaW9uIGNhdXNpbmcgbWFsZm9ybWVkIGZpbGVzCgkgIFRoaXMgd2FzIGNhdXNlZCBieSBtZSBpbiAxYjIxM2QuIEl0IHNlZW1zIEkgd2FzIHRvbyBmb2N1c2VkIG9uIDAuMTEgd2hlbiBJIGRpZAoJICB0aGlzIGFuZCB0ZXN0ZWQgdGhlIHdyb25nIGJyYW5jaC4KCSAgVGhlIHByb2JsZW0gd2FzIHJlcG9ydGVkIGJ5IEFsZXhleSBGaXNoZXIuCgoyMDExLTExLTA0IDE4OjQxOjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTEtMTEtMDQgMTc6Mzk6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTY6MjE6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IG1vcmUgMC4xMSBmaXhpbmcKCSAgTWFrZSBzdXJlIHRoZSBjYXBzIGV2ZW50IGdldHMgdG8gdGhlIHNpbmsuCgoyMDExLTExLTA0IDE1OjM1OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBwb3J0IHNvbWUgbW9yZQoJICBSZW5hbWUgZGVjb2RlYmluMiAtPiBkZWNvZGViaW4gc29tZSBtb3JlCgkgIENsZWFudXAgdXAgc2lua3BhZCBldmVudCBoYW5kbGluZwoKMjAxMS0xMS0wNCAxMzo1NjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogcG9ydCBzb21lIG1vcmUgdG8gMC4xMQoJICBXZSBtdXN0IG5vdCBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50LiBpbnN0ZWFkIHdlIHdpbGwgZGVjaWRlIHdoYXQgdG8gZG8gd2hlbiB0aGUKCSAgcGFkIGJsb2NrIGlzIHRha2VuLgoJICBVc2UgZGVjb2RlYmluIGluc3RlYWQgb2YgZGVjb2RlYmluMgoKMjAxMS0xMS0wNCAxMzoxMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDExOjU4OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIG1ha2UgJXUgaW4gYWxsIHJlcXVlc3QgcGFkIHRlbXBsYXRlcwoKMjAxMS0xMS0wNCAxMTowMTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jCgoyMDExLTExLTA0IDEwOjMyOjQ2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBQb3J0IGFwZWRlbXV4CgoyMDExLTExLTAzIDIzOjI4OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cDogdXNlIEdMaWIncyBHX0JJR19FTkRJQU4gZGVmaW5lIGluc3RlYWQgb2YgQklHX0VORElBTgoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3MzIKCjIwMTEtMTEtMDMgMTY6NDM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG5ldCBsaWJyYXJ5CgoyMDExLTExLTAyIDEyOjA5OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdGFnczogdXBkYXRlIGZvciB0YWcgQVBJIHJlbW92YWwKCjIwMTEtMTEtMDIgMTA6NDA6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTMxIDAyOjQwOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV0YnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTEtMTAtMzEgMDI6MzU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldGFkZHJlc3MgY2hhbmdlCgoyMDExLTEwLTMxIDAyOjI0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YSBhcGkgY2hhbmdlCgoyMDExLTEwLTI5IDA5OjI5OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXcgdGFzayBhcGkKCjIwMTEtMTAtMjkgMDk6MDk6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHN0cnVjdHVyZTogZml4IGZvciBhcGkgdXBkYXRlCgoyMDExLTEwLTI5IDA4OjI1OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgYnVmZmVybGlzdDogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTExLTAxIDAwOjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFVwZGF0ZSBmb3IgcGFkIEFQSSBjaGFuZ2VzCgkgIEdzdFByb2JlVHlwZSwgR3N0UHJvYmVSZXR1cm4gYW5kIEdzdEFjdGl2YXRlTW9kZSAtPiBHc3RQYWQqCgoyMDExLTEwLTMxIDE4OjM4OjU1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IG9idmlvdXMgY3Jhc2gKCjIwMTEtMTAtMzEgMTY6MTg6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgc2hvcnRjdXQgZXZhbHVhdGlvbiB3aGVuIGFkZGluZyBwYWlyZWQgbXA0IHRhZwoJICBGaXhlcyAocGFydCBvZikgIzYzODcxMS4KCjIwMTEtMTAtMzEgMTU6NDM6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IHVzZSB1bm9mZmljYWwgVl9NSlBFRyBjb2RlYyBpZAoJICAuLi4gYnV0IGFzIG5vdCBzcGVjJ2VkIGVzcGVjaWFsbHksIGNvbnNpZGVyIGl0IGEgVmZXIGNvbXBhdGliaWxpdHkgY2FzZS4KCSAgRml4ZXMgIzY1OTgzNy4KCjIwMTEtMTAtMzAgMTk6MzA6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiByZW1vdmUgZGVhZCBjb2RlIGZyb20gaGVhZGVyCgkgIFdlIHJlcXVpcmUgYSBuZXctZW5vdWdoIGxpYmZsYWMgdGhhdCB0aGlzIGNvbmRpdGlvbiB3aWxsIG5ldmVyIGFwcGx5LgoKMjAxMS0xMC0zMCAxOTowOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHBhcnNlIHN0cmVhbSBoZWFkZXJzIGZyb20gY2FwcyBpbiBzZXRfZm9ybWF0IGZ1bmN0aW9uCgkgIE5vdCB0aGF0IHRoaXMgc2VlbXMgdG8gYmUgYWN0dWFsbHkgbmVlZGVkLCBsaWJmbGFjIGhhcHBpbHkgZGVjb2RlcwoJICBzdHVmZiBldmVuIGlmIHdlIGp1c3QgZHJvcCBhbGwgaGVhZGVycyBhbmQgbmV2ZXIgZmVlZCBpdCB0byB0aGUKCSAgbGlicmFyeS4KCjIwMTEtMTAtMzAgMTg6NDk6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGRvbid0IGV4dHJhY3QgbWV0YWRhdGEsIGxlYXZlIHRoYXQgdG8gdGhlIHBhcnNlciBvciBjb250YWluZXIKCjIwMTEtMTAtMzAgMTg6NDU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IHdlIGV4cGVjdCBmcmFtZWQgaW5wdXQgbm93LCByZW1vdmUgc29tZSBtb3JlIGNvZGUKCjIwMTEtMTAtMDkgMTY6MTg6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IG5haXZlIHBvcnQgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIFRoaXMgd291bGQgcHJvYmFibHkgaGF2ZSBiZWVuIHRvbyBpbnZhc2l2ZSB0byBkbyBpbiB0aGUgMC4xMAoJICBicmFuY2gsIHdpdGggYWxsIHRoZSBwdWxsLW1vZGUgYW5kIHBhcnNlciBoYW5kbGluZyBjb2RlIGluCgkgIHRoZXJlLgoKMjAxMS0xMC0zMCAxMTo0NDo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBleHQsIGdzdDogdXBkYXRlIGZvciB0YWdsaXN0IEFQSSBjaGFuZ2VzCgoyMDExLTEwLTMwIDExOjQxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIGF1ZGlvIHRlc3RzIGluIHVuaW5zdGFsbGVkIHNldHVwCgoyMDExLTEwLTI4IDIxOjI2OjMzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBzaW1wbGlmeSBnZXRfdW5pdF9zaXplCgoyMDExLTEwLTI4IDIxOjE5OjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIHRlc3RzOiBhdWRpb2VjaG86IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAyMToxODozMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IGZpeCBpbnRlcm5hbCBidWZmZXIgc2l6ZSBjYWxjdWxhdGlvbgoKMjAxMS0xMC0yOCAxNDowNTo0OCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSAgdGVzdHM6IGF1ZGlvY2hlYmJhbmQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAxNjo1MjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMjggMTU6MDg6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGZpeCBwb3J0aW5nIGVycm9ycwoJICBUaGUgcHJvYmVzIHdlcmUgcG9ydGVkIHdyb25nbHkgYW5kIGNhdXNlZCBkZWFkbG9ja3MuCgoyMDExLTEwLTI4IDA5OjU3OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIHNvZi1tYXJrZXIgdG8gdGVtcGxhdGUgY2Fwcywgc28gd2UgZG9uJ3QgZ2V0IHBsdWdnZWQgZm9yIGxvc3NsZXNzIGpwZWcKCSAganBlZ2RlYyAodXNpbmcgbGlianBlZyA2LjIvOCkgY2FuJ3QgZGVjb2RlIHNvbWUgbG9zc2xlc3MgdHlwZXMgb2YgSlBFRy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1NjY0OAoKMjAxMS0xMC0yOCAxMzowNjoyMCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgIHRlc3RzOiBhdWRpb2NoZWJsaW1pdDogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDEzOjAyOjU2ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogZml4IGNyYXNoIGluIHByb2Nlc3MoKQoKMjAxMS0xMC0yOCAxMTo0ODozMSArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJICB0ZXN0czogYXVkaW9hbXBsaWZ5OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMTI6NTE6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IGZpeCBjaGVjayBmb3IgZW1wdHkgY2FwcwoKMjAxMS0xMC0yOCAxMjozMDozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWxhYm9yYXRlIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0xMC0xMSAyMDo1Njo1MSArMDQwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGJlIGNhcmVmdWwgd2l0aCBuZWdhdGl2ZSBjdHMKCSAgRml4ZXMgIzY2MTQ3Ny4KCjIwMTEtMTAtMDYgMTM6MDQ6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR1bmUgbm9uLXVwZGF0ZSBzZWVrIGhhbmRsaW5nIGNhc2VzCgkgIEZpeGVzICM2NjEwNDkuCgoyMDExLTEwLTI4IDExOjQ2OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jCgoyMDExLTEwLTI4IDExOjE2OjM4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogZG9uJ3Qgc2V0IHByb2Nlc3MgZnVuY3Rpb24gdG9vIGVhcmx5CgkgIEdzdEF1ZGlvSW5mbyBhbmQgR3N0QXVkaW9GaWx0ZXIgaGF2ZSBiZWVuIGNoYW5nZWQgc28gdGhhdCB0aGlzIGNvZGUgZG9lc24ndAoJICBjcmFzaCBhbnltb3JlIHdoZW4gYSBwcm9wZXJ0eSBpcyBzZXQgaW4gTlVMTCBzdGF0ZS4KCjIwMTEtMTAtMjggMTA6NDI6MDQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSAgdGVzdHM6IGF1ZGlvZHluYW1pYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDAwOjI0OjE0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgdGVzdHM6IHNwZWN0cnVtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjcgMjM6NTc6MTcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkgIHRlc3RzOiBhdWRpb3Bhbm9yYW1hOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjcgMjM6NTY6MTIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBnZXRfdW5pdF9zaXplCgoyMDExLTEwLTI4IDEwOjQwOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBVc2UgdGhlIGNsaXAgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aGUgcHJlcGFyZV9idWZmZXIgZnVuY3Rpb24KCjIwMTEtMTAtMjggMDk6MDU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHJ0cG1hbmFnZXIsIHY0bDI6IGZpeCBjb21waWxlciB3YXJuaW5ncyBhZnRlciBnc3RfY2Fwc19uZXdfc2ltcGxlKCkgY2hhbmdlCgoyMDExLTEwLTI4IDA5OjAxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3MgYWZ0ZXIgZ3N0X2NhcHNfbmV3X3NpbXBsZSgpIGNoYW5nZQoKMjAxMS0xMC0yOCAwOTozNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyMjogVXNlIGNvbGxlY3RwYWRzMiBmcm9tIGNvcmUKCjIwMTEtMTAtMjcgMTk6Mzk6MjAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHBvcnQgdG8gMC4xMSByYXcgYXVkaW8gY2FwcwoKMjAxMS0xMC0yNyAxOTowNjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmx2L2dzdGZsdm11eC5jCgoyMDExLTEwLTI3IDE5OjAwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIG1ha2Ugc29tZSBtb3JlIHRoaW5ncyBjb21waWxlIGFnYWluCgoyMDExLTEwLTI3IDE2OjA4OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoKMjAxMS0xMC0yNyAxNjowMzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0yOCAwMDo0MTo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCBwb2ludGxlc3NseSBob2xkIG9iamVjdCBsb2NrIG92ZXIgY2FwcyBvcGVyYXRpb25zCgkgIEF2b2lkcyBhIGRlYWRsb2NrIHdoZW4gZ2V0Y2FwcyBpcyByZWN1cnNpdmUgZHVlIHRvIHRoZSBnZXRjYXBzIGJlaW5nCgkgIHJlZmxlY3RlZCB1cHN0cmVhbS9kb3duc3RyZWFtLiBUaGUgbG9jayBpc24ndCBhY3R1YWxseSBwcm90ZWN0aW5nCgkgIGFueXRoaW5nIGhlcmUuCgoyMDExLTEwLTI3IDAwOjM3OjAzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZmx2L2FtZmRlZnMuaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBhZGQgc29tZSBjb21tZW50cyBhbmQgZGVmaW5lcyB0byBjbGFyaWZ5IGNvZGUuCgoyMDExLTEwLTEwIDE1OjM2OjE0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGVibWwtd3JpdGUgdG8gYmUgbW9yZSAwLjExIGZyaWVuZGx5CgkgIFN3aXRjaGluZyB0byBhIG1vcmUgMC4xMS1mcmllbmRseSBwYXR0ZXJuLCB3aGVyZSBnZXR0aW5nIHRoZSBidWZmZXIncyBkYXRhCgkgIHBvaW50ZXIgYW5kIHNldHRpbmcgdGhlIHNpemUgbWFueSB0aW1lcyBpcyBsZXNzIG5hdHVyYWwuIFRoaXMgaXMgb2YgY291cnNlIGluCgkgIHByZXBhcmF0aW9uIHRvIHRoZSB1cGNvbWluZyBwb3J0IG9mIHRoZSBwbHVnaW4uCgoyMDExLTEwLTExIDIxOjQ1OjQ2ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlbW92ZSBzdGFsZSBmbG9hdGNhc3QgaW5jbHVkZQoJICBHRE9VQkxFX1RPX0JFIHdhcyBtb3ZlZCB0byBjb3JlIGEgbG9uZyB0aW1lIGFnby4KCjIwMTEtMTAtMTEgMjI6MTA6MjcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggcG9zc2libGUgY3Jhc2ggd2l0aCBtYWxmb3JtZWQgZGlyYWMgY29kZWNfZGF0YQoJICBTaW5jZSBzaXplIGlzIHVuc2lnbmVkLCB3ZSBuZWVkIHRvIHNhZmVndWFyZCBhZ2FpbnN0IHdyYXBwaW5nIGJlbG93IHplcm8uCgoyMDExLTEwLTIxIDIyOjMzOjM0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiByZW1vdmUgYXZvaWRhYmxlIGNhbGwgdG8gZ3N0X29iamVjdF9zZXRfbmFtZQoKMjAxMS0xMC0yMSAyMjozMjozOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGF2b2lkYWJsZSBjYWxsIHRvIGdzdF9vYmplY3Rfc2V0X25hbWUKCjIwMTEtMTAtMjEgMTQ6NTE6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICBpbnRlcmZhY2VzOiBjbGVhbiB1cCB0aGUgdXNlIG9mIGlmYWNlIGFuZCBjbGFzcy9rbGFzcwoKMjAxMS0xMC0yMSAxMTozNzowNSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSBzbyBpdHMgcGFyYWxlbC1pbnN0YWxsYWJsZSBhbmQgb25seSB0cmllcyB0byBwYWNrYWdlIHBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTE2IDIwOjMwOjI1ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBpbmNyZWFzZSBhcmJpdHJhcnkgcmVzb2x1dGlvbiBsaW1pdHMKCSAgQXBwYXJlbnRseSBsaWJwbmcgY2FuIHRlY2huaWNhbGx5IGRvIHVwIHRvIDJeMzEtMSByb3dzIGFuZCBjb2x1bW5zLiBIb3dldmVyIGl0CgkgIGltcG9zZXMgYW4gKGFyYml0cmFyeSkgZGVmYXVsdCBsaW1pdCBvZiAxIG1pbGxpb24gKHRoYXQgY291bGQgdGhlb3JldGljYWxseSBiZQoJICBsaWZ0ZWQgYnkgdXNpbmcgc29tZSBhZGRpdGlvbmFsIEFQSSkuCgkgIE1vdmVkIGFycmF5IGFsbG9jYXRpb24gdG8gdGhlIGhlYXAgbm93LgoKMjAxMS0xMC0xNiAyMDoyNTo0MSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogZG9uJ3QgdW5jb25kaXRpb25hbGx5IGFsbG9jYXRlIDQwOTYgcG9pbnRlcnMgb24gdGhlIHN0YWNrCgkgIEluc3RlYWQgYWxsb2NhdGUgYXMgbWFueSBhcyBuZWVkZWQgKG9uIHRoZSBzdGFjayBzdGlsbCkuCgoyMDExLTEwLTE2IDIwOjA1OjI4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBlbnN1cmUgc2V0Y2FwcyB3YXMgY2FsbGVkIGJlZm9yZSBjaGFpbiBmdW5jdGlvbgoJICBUaGlzIGlzIG5lZWRlZCB0byBwcm9wZXJseSBlcnJvciBvdXQgZm9yIGUuZy4gImZha2VzcmMgISBwbmdlbmMgISBmYWtlc2luayIuCgoyMDExLTEwLTE2IDE5OjQ0OjI3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiB2YWxpZGF0ZSBpbnB1dCBidWZmZXIgc2l6ZQoJICBKdXN0IGZvciBzYWZldHk7IG9mIGNvdXJzZSBzdWNoIG1pc21hdGNoIHJlcHJlc2VudHMgYSBidWcgaW4gYW5vdGhlciBlbGVtZW50LgoKMjAxMS0xMC0xNiAxOTo0MToyOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogbWFrZSBzZXRjYXBzIG1vcmUgcm9idXN0LCB1c2UgZ3N0dmlkZW8gZnVuY3Rpb25zCgkgIEEgc2V0Y2FwcyBmdW5jdGlvbiBuZWVkcyB0byBhY3R1YWxseSB2ZXJpZnkgdGhlIGNhcHMgY2FyZWZ1bGx5LiBJbiB0aGlzIGNhc2UsCgkgIGl0IHdhcyBwb3NzaWJsZSB0byBlLmcuIGxpbmsgYSB2aWRlbyBkZWNvZGVyIHdpdGggWVVWK1JHQiB0ZW1wbGF0ZSBjYXBzIHRvCgkgIHBuZ2VuYy4gIFRoYXQgd291bGQgY2F1c2UgYSBjcmFzaCB3aGVuIHRoZSBkZWNvZGVyIHB1c2hlcyBhIFlVViBidWZmZXIuIFNhbWUKCSAgdGhpbmcgd2hlbiBwdXNoaW5nIGEgdmFsaWQgYnVmZmVyIHRoYXQgZXhjZWVkcyB0aGUgcmVzb2x1dGlvbiBsaW1pdHMuCgkgIEFsc28sIG1pc3NpbmcgZnJhbWVyYXRlIGNhcHMgZmllbGQgd291bGQgY2F1c2UgYSBnbGliIGNyaXRpY2FsIHdhcm5pbmcgZHVlIHRvCgkgIGludmFsaWQgR1ZhbHVlLiBUaGlzIGZhaWxzIGhhcmQgbm93LgoKMjAxMS0xMC0yMSAxMDowMTo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBlYm1sOiBzbWFsbCBjb3JyZWN0aW9uIHRvIHByZXZpb3VzIGNvbW1pdAoJICBTaWduYWwgYSBzaG9ydCByZWFkIHdpdGggVU5FWFBFQ1RFRCwgZXhhY3RseSBsaWtlIHRoZSBwZWVrX2J5dGVzIGZ1bmN0aW9uLgoKMjAxMS0xMC0xOSAxMzowOTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgZWJtbDogRml4IHB1c2gtYmFzZWQgYmVoYXZpb3VyCgkgIFRoZSAncGVlaycgbWV0aG9kIHdhcyBjb21wbGV0ZWx5IHdyb25nICghPykKCjIwMTEtMTAtMTggMTg6MzE6MTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBHZXQgY2FwcyBjb3JyZWN0bHkgb24gcGFkIGJsb2NrCgkgIEluc3RlYWQgb2YgYWx3YXlzIGdvaW5nIHVwc3RyZWFtLCB3ZSBzaG91bGQgZmlyc3Qgc2VlIGlmIGFscmVhZHkgZ290CgkgIGNhcHMgZnJvbSBhIHNldGNhcHMoKSBjYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxMjYyCgoyMDExLTEwLTE4IDEyOjI1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogZG9uJ3QgdW5yZWYgYnVmZmVyIHdpdGggZ3N0X29iamVjdF91bnJlZigpCgoyMDExLTEwLTE4IDEyOjA1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9ubHkgdXNlIGlzX3BjbSBmb3IgMS4wIG9mIHB1bHNlYXVkaW8KCjIwMTEtMTAtMTggMTE6NTg6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb25seSBkaXNhYmxlIHRyaWNrbW9kZXMgZm9yICFwY20KCSAgT25seSBkaXNhYmxlIHRyaWNrbW9kZXMgd2hlbiB3ZSBhcmUgbm90IGRlYWxpbmcgd2l0aCByYXcgUENNIHNhbXBsZXMuCgoyMDExLTEwLTE2IDE1OjMyOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMTYgMTU6MjY6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYwoKMjAxMS0xMC0xNCAxMDo1NjoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogRml4IGEgbGVhawoJICBCdWZmZXJzIHdlcmVuJ3QgYmVpbmcgdW5yZWYnZWQgaW4gb25lIGNhc2UgaW5zaWRlLCBjYXVzaW5nIG1lbW9yeSB1c2FnZQoJICB0byBibG93IHVwLgoKMjAxMS0xMC0xNCAwOToxMDowMSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHNldCBjb2xvdXIgbWFza3MgZm9yIHZpZGVvL3gtcmF3LXJnYiBpbiBydHB2cmF3ZGVwYXkKCjIwMTEtMTAtMTMgMDE6MDU6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZS1lbmFibGUgdmlkZW9jcm9wIHBsdWdpbgoJICBBbHJlYWR5IHBvcnRlZCB0byAwLjExCgoyMDExLTEwLTEzIDAxOjA1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJICBhc3BlY3RyYXRpb2Nyb3A6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMyAwMDozOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMTc6NDM6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJICB0ZXN0czogYXNwZWN0cmF0aW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMDg6MjQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgdGVzdHM6IGFscGhhY29sb3I6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMyAxNzoxMjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IHJlZ2lzdGVyIHR5cGUKCSAgSXQncyBhIHN1YmNsYXNzIG9mIEdzdEF1ZGlvRW5jb2RlciBhbmQgbm90IG9mIEdzdEVsZW1lbnQKCjIwMTEtMTAtMTMgMTY6NTk6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZpeCBpbmNvcnJlY3QgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgY2FsbAoJICBUaGlzIGdvdCBleHBvc2VkIHdoZW4gZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgd2FzIGNoYW5nZWQgZnJvbSBhIG1hY3JvIHRvIGEKCSAgZnVuY3Rpb24uCgoyMDExLTEwLTEzIDA5OjM0OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCB3cm9uZyB1c2FnZSBvZiBnc3RfaXRlcmF0b3JfZmlsdGVyCgkgIEl0IHRha2VzIGEgR1ZhbHVlKiBhcyB0aGUgdXNlcl9kYXRhLgoJICBBbmQgZG9uJ3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBkZW11eGVyIGJlZm9yZSByZXR1cm5pbmcuCgoyMDExLTEwLTEzIDA5OjAyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBmaXggY29tcGlsZQoKMjAxMS0xMC0xMyAwODo1ODowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCSAgZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmMKCjIwMTEtMTAtMTIgMDg6MDk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgdGVzdHM6IGNtbWxlbmM6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAwODowMjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICB0ZXN0czogY21tbGRlYzogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDA3OjI5OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IFVzZSBuZXcgR3N0SXRlcmF0b3IgQVBJIGNvcnJlY3RseQoJICBHc3RJdGVyYXRvciBub3cgdXNlcyBHVmFsdWUsIHVzZSBpdCBjb3JyZWN0bHkuCgoyMDExLTEwLTEyIDExOjI2OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBPbmx5IHVzZSAyNCBMU0IgZm9yIGRlcHRoPTI0IFJHQiBjYXBzCgkgIC4uLiBhbmQgaW5kZW50IHRoZSBtYXNrcyBmb3IgY2xhcml0eQoKMjAxMS0xMC0xMSAxNDo1ODo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBzZWdtZW50IGhhbmRsaW5nLCBzbyB3ZSBhY3R1YWxseSB1c2UgcnVubmluZyB0aW1lCgkgIGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQgYWRqdXN0cyB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBydW5uaW5nIHRpbWUgdXNpbmcKCSAgdGhlIHNlZ21lbnQgc3RvcmVkIGluIHRoZSBwYWQncyBjb2xsZWN0IGRhdGEuIEhvd2V2ZXIsIHRoZSBldmVudCBoYW5kbGVyIGRpZG4ndAoJICBwYXNzIHRoZSBuZXdzZWdtZW50IGV2ZW50IG9uIHRvIGNvbGxlY3RwYWRzJyBoYW5kbGVyLCBzbyB0aGlzIHNlZ21lbnQgd2FzIG5ldmVyCgkgIHVwZGF0ZWQgYXQgYWxsLgoJICBSZS1maXhlcyBidWcgIzQzMjYxMi4KCjIwMTEtMTAtMTAgMTk6MDE6MjMgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkgIGdzdHJ0cGc3MjJwYXk6IENvbXBlbnNhdGUgZm9yIGNsb2NrcmF0ZSB2cy4gc2FtcGxlcmF0ZSBkaWZmZXJlbmNlCgkgIFRoZSBSVFAgY2xvY2stcmF0ZSB1c2VkIGZvciBHNzIyIGlzIDgwMDAsIGV2ZW4gdGhvdWdoIHRoZSBzYW1wbGVyYXRlIGlzCgkgIDE2MDAwLiBDb21wZW5zYXRlIGZvciB0aGlzIGJ5IHByZXRlbmRpbmcgRzcyMiBoYXMgOCBiaXRzIHBlciBzYW1wbGUKCSAgaW5zdGVhZCBvZiB0aGUgNCBiaXRzIGFzIGlmIGl0IHdlcmUgYSBjb2RlYyB0aGF0IHJhbiBhdCBoYWxmIHRoZSBzcGVlZCwKCSAgYnV0IHdpdGggdHdpY2UgdGhlIG51bWJlciBvZiBiaXRzLiBGaXhlcyAjNjYxMzc2CgoyMDExLTA5LTI3IDE5OjI1OjUzICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogSW1wbGVtZW50IHVwc3RyZWFtIG5lZ290aWF0aW9uCgkgIEFkZCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBmb3IganBlZ2RlYy4gRml4ZXMgIzY2MDI3NQoKMjAxMS0xMC0xMCAxOTowMjo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGRvbid0IGxlYWsgYXVkaW8gY29kZWNfZGF0YSBidWZmZXIKCjIwMTEtMTAtMTAgMTc6NDE6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgYWxwaGE6IERvbid0IHVzZSBzdGFydCgpIHZtZXRob2QKCSAgVGhlIG9ubHkgdGhpbmcgd2UncmUgZG9pbmcgaXMgaW5pdGlhbGl6aW5nIHBhcmFtZXRlcnMgLi4uCgkgICogd2hpY2ggd29uJ3Qgd29yayBiZWNhdXNlIHdlIGRvbid0IGhhdmUgdXBzdHJlYW0vZG93bnN0cmVhbSBjYXBzCgkgICogd2hpY2ggd2lsbCBiZSBpbml0aWFsaXplZCB3aGVuIDo6c2V0X2NhcHMoKSBpcyBjYWxsZWQKCjIwMTEtMTAtMTAgMTQ6MDg6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTEwIDEzOjIyOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgaWQzZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMzoyMDowNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIG1pc3NpbmcgUExVR0lOX0FTRV9MSUJTIHRvIExEQURECgoyMDExLTEwLTEwIDEyOjU0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMjoyNzowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGFubm9kZXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMTo0ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYwoKMjAxMS0xMC0xMCAwMDoxODo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBwb3J0IHB1bHNldXRpbCB0byAwLjExCgoyMDExLTEwLTA5IDIxOjE3OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOSAxODo1ODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeGluZyBnZXRjYXBzIGZ1bmN0aW9uCgkgIFVwZGF0ZSBnZXRjYXBzIGZ1bmN0aW9uIHRvIDAuMTEgQVBJCgoyMDExLTEwLTA5IDIxOjMxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IG9ubHkgcHVzaCBoZWFkZXIgYnVmZmVycyBmb2xsb3dpbmcgaW5pdGlhbCBldmVudHMKCjIwMTEtMTAtMDkgMTY6Mjk6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA5IDE2OjI0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IHVwZGF0ZSBmb3IgX19nc3RfZGVidWdfbWluIG5hbWUgY2hhbmdlCgoyMDExLTEwLTA5IDExOjE4OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IEZpeCBtZW1vcnkgbGVhayBvbiBhdG9tcyByZWNvdmVyeSBmdW5jdGlvbgoJICBSZW1lbWJlciB0byBmcmVlIHRoZSBmdHlwIGRhdGEgYWZ0ZXIgd3JpdGluZyBpdCB0byBhIGZpbGUuCgkgIEZpeGVzICM2NjA5NjkKCjIwMTEtMTAtMDYgMTI6MjY6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZXBvcnQgbmV3IGJpdHMKCjIwMTEtMTAtMDYgMTI6MjM6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmMKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmMKCSAgZ3N0L2lzb21wNC9hdG9tcy5jCgkgIGdzdC9pc29tcDQvZ3N0cXRtdXguYwoKMjAxMS0wOS0yMSAxODo0NTo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgc2VnbWVudCBoYW5kbGluZyB3aXRoIG5vbi16ZXJvIHN0YXJ0aW5nIHRpbWVzdGFtcAoJICAuLi4gYXMgd2VsbCBhcyByZWxhdGVkIGl0ZW1zLCBzdWNoIGFzIHNlZWtpbmcgYW5kIHBvc2l0aW9uIHJlcG9ydGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTgwOAoKMjAxMS0wOS0yOSAxODo0MTo1MyArMDQwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdjRsMiwgeGltYWdlc3JjOiBmaXggc29tZSBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAxNTAKCjIwMTEtMDktMzAgMTI6NDI6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBSZWZhY3RvciBiaXRyYXRlIGNoZWNrIHRlc3QKCSAgUmVmYWN0b3IgYml0cmF0ZSBjaGVjayB0ZXN0IHRvIGFjY29tb2RhdGUgbXVsdGlwbGUgdGVzdHMKCSAgZm9yIGJpdHJhdGUKCjIwMTEtMDktMzAgMTM6MDI6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogdXBkYXRlIGVzZHMgYXRvbSB1bmRlciB3YXZlIGF0b20gZm9yIGFhYyBiaXRyYXRlcwoJICBBQUMgaW4gbW92IGZvcm1hdCBwdXRzIGFuIEVTRFMgYXRvbSBpbnNpZGUgb2YgYSBXQVZFIGF0b20gaW4KCSAgU1RTRCBhdG9tLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgYml0cmF0ZSBvbiB0aGlzIEVTRFMuIFRoaXMgcGF0Y2gKCSAgZml4ZXMgaXQuCgoyMDExLTA5LTMwIDEyOjQxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSAgcXRtdXg6IEFsc28gdXBkYXRlIGJ0cnQgYXRvbQoJICBXaGVuIHJld3JpdGluZyBiaXRyYXRlcywgYWxzbyB1cGRhdGUgdGhlIGJ0cnQgYXRvbSB1bmRlciBzdHNkCgoyMDExLTA5LTMwIDEwOjU1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWRkIHRlc3RzIGZvciBiaXRyYXRlIGF2ZXJhZ2UgY2FsY3VsYXRpb24KCSAgQWRkcyB0ZXN0cyB0byBtYWtlIHN1cmUgcXRtdXgvbXA0bXV4IHNldHMgYXZlcmFnZSBiaXRyYXRlCgkgIGNvcnJlY3RseQoKMjAxMS0wOS0yOCAxMTo0MTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBDYWxjdWxhdGUgYXZlcmFnZSBiaXRyYXRlIGZvciBzdHJlYW1zCgkgIENhbGN1bGF0ZSBhbmQgdXNlIGF2ZXJhZ2UgYml0cmF0ZSBmb3Igc3RyZWFtcyB3aGVuIG5vCgkgIGJpdHJhdGUgdGFnIHdhcyByZWNlaXZlZAoKMjAxMS0wOS0yOCAxMDo0MToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBdm9pZCBhIGJ1ZmZlciBtZXRhZGF0YSBjb3B5IGlmIHBvc3NpYmxlCgkgIElmIGZpcnN0X3RzIGlzIDAgdGhlcmUgaXMgbm8gbmVlZCB0byBzdWJ0cmFjdCwgc28gd2UgbWlnaHQKCSAgc2tpcCBzb21lIGNvcHlpbmcgdG8gbWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlLgoKMjAxMS0wOS0yOSAyMzoyMTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGluaXRpYWxpc2UgdmFyaWFibGUgYmVmb3JlIGFkZGluZyB0byBpdAoKMjAxMS0wOS0yOSAxNzoyMToyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0wOS0yOSAxNjozMzowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IGNsZWFuIHVwIHNvbWUgdW51c2VkIHJlbW5hbnRzCgoyMDExLTA5LTI5IDE3OjMyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjggMTk6MTA6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBnZXQgcmlkIG9mIGdyYW51bGVwb3MgaGFuZGxpbmcKCSAgTGVhdmUgdGhhdCB0byB0aGUgcGFyc2VyIG9yIGRlbXV4ZXIuIFRoZXJlJ3Mgc3RpbGwgc29tZQoJICBjb2RlIGZvciBvcGVyYXRpbmcgaW4gREVGQVVMVCAoc2FtcGxlcykgZm9ybWF0LCBidXQgdGhhdAoJICB3aWxsIGJlIHJlbW92ZWQgbGF0ZXIuCgoyMDExLTA5LTI4IDE4OjMyOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBnZXQgcmlkIG9mIHB1bGwtbW9kZSBzdXBwb3J0IGFuZCBmb2N1cyBvbiBiZWluZyBhIGRlY29kZXIKCSAgTGVhdmUgYWxsIHRoZSBvdGhlciBzdHVmZiB0byBmbGFjcGFyc2UuCgoyMDExLTA5LTI4IDE3OjI5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGZsYWMsIGpwZWc6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA5LTI4IDE3OjQwOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogcG9ydCB0byAwLjExCgoyMDExLTA5LTI4IDE3OjM5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYwoKMjAxMS0wOS0yOCAxNjoxODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjggMTY6MDk6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yNyAxNTo1OToyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FkZW11eDogZW5zdXJlIG1pbmltYWwgYWxpZ25tZW50IGZvciBhdWRpby94LXJhdy0qIGJ1ZmZlcnMKCSAgU2luY2UgbWF0cm9za2FkZW11eCB3aWxsIGF0dGVtcHQgdG8gcHVzaCB1bmFsaWduZWQgYnVmZmVycywKCSAgZG93bnN0cmVhbSBtaWdodCBoYXZlIHRyb3VibGUgd2l0aCB0aG9zZSwgZXNwZWNpYWxseSBpZiBkb3duc3RyZWFtCgkgIHVzZXMgT1JDLCBzdWNoIGFzIGF1ZGlvY29udmVydC4KCSAgRW5zdXJlIHdlIHB1c2ggYnVmZmVycyBhbGlnbmVkIHRvIHRoZSBiYXNpYyB0eXBlIGF0IGxlYXN0IGZvcgoJICB0aG9zZSByYXcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTc5OAoKMjAxMS0wOS0yOCAxMjo0NDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb21tb24KCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYwoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYwoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYwoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYwoKMjAxMS0wOS0yOCAwMDoxMDowOSArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9nb29tX2NvcmUuYzoKCSAgZ29vbTJrMTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIDY0IGJpdCBtaW5ndy13NjQKCSAgRml4ZXMgYnVnICM2NjAyOTQuCgoyMDExLTA5LTI1IDE1OjEzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5oOgoJICBzb3VwOiByZW5hbWUgc291cGh0dHBzaW5rIHRvIHNvdXBodHRwY2xpZW50c2luawoJICBUbyBhdm9pZCBjb25mdXNpb24sIGFuZCBiZWNhdXNlIHdlIG1pZ2h0IHdhbnQgYSBzZXJ2ZXIKCSAgc2luayBhdCBzb21lIHBvaW50IHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTk0NwoKMjAxMS0wOS0yMyAxNjozOTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmg6CgkgIHNvdXBodHRwc2luazogZG9uJ3QgY3JlYXRlIHVudXNlZCBzZWNvbmQgc2luayBwYWQgb2JqZWN0CgkgIFRoZSBiYXNlIGNsYXNzIHdpbGwgY3JlYXRlIHRoZSBzaW5rIHBhZC4KCjIwMTEtMDktMjMgMTU6MzY6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogY29ycmVjdGx5IGNoZWNrIGZvciBhYzMvZS1hYzMgc3dpdGNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5NDMKCjIwMTEtMDktMjEgMTQ6MDE6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gdG8gMC4xMSBicmFuY2gKCjIwMTEtMDktMjAgMTM6Mzg6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBpbXByb3ZlIGRvd25zdHJlYW0gZmxvdyByZXR1cm4gZmVlZGJhY2sgdG8gdXBzdHJlYW0KCSAgLi4uIGFsdGhvdWdoIGJhc2VydHBkZXBheSBkb2VzIG5vdCByZWFsbHkgbWFrZSBpdCBlYXN5L3Bvc3NpYmxlIHRvIGRvIHNvCgkgIGFsbCB0aGUgd2F5LgoKMjAxMS0wOS0yMCAxMjoxMTo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICB4aW1hZ2VzcmM6IGFkZCB4aWQgYW5kIHhuYW1lIHByb3BlcnRpZXMgdG8gYWxsb3cgY2FwdHVyaW5nIGEgcGFydGljdWxhciB3aW5kb3cKCSAgQSBwYXJ0aWN1bGFyIHdpbmRvdyBtYXkgYmUgc2VsZWN0ZWQgdXNpbmcgdGhlIG5ldyB4aWQgKFgtV2luZG93CgkgIFhJRCwgZWcgYSBwb2ludGVyKSBhbmQgeG5hbWUgKHdpbmRvdyB0aXRsZSkgcHJvcGVydGllcy4gSWYgYm90aAoJICBhcmUgc3BlY2lmaWVkLCB0aGUgWElEIGlzIHVzZWQgaW4gcHJlZmVyZW5jZSwgZmFsbGluZyBiYWNrIHRvCgkgIHhuYW1lIGlmIG5vdCBmb3VuZC4KCSAgRGVmYXVsdCAoaWYgbm9uZSBvZiB4aWQgYW5kIHhuYW1lIGFyZSBzcGVjaWZpZWQsIG9yIGlmIG5vIHN1Y2gKCSAgd2luZG93IGlzIGZvdW5kKSBpcyB0byBjYXB0dXJlIHRoZSByb290IHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjkzMgoKMjAxMS0wOC0wMiAxNzozOTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCB0byBtYWtlIHN1cmUgZW5jb2RlYmluIHBpY2tzIG1wNG11eCBmb3IgdmFyaWFudD1pc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTQ5NgoKMjAxMS0wOS0xOSAxMjoxNToxMSArMDIwMCAgSGEgTmd1eWVuIDxoYW5ndXl0dkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGaXggYSBsZWFrZWQgY2xvY2sgZm9yIGVhY2ggYnVmZmVyaW5nIG1lc3NhZ2UKCSAgRml4ZXMgYnVnICM2NTkyMzcuCgoyMDExLTA5LTE5IDEyOjExOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGVtYmVkZGVkIElEMzIgdGFncwoKMjAxMS0wOS0wMiAxMzo0MTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBzb3VyY2UgcHJlbWF0dXJlIHRpbWluZyBvdXQKCSAgVXNlIHNsaWdodGx5IGFkanVzdGVkIHNlbmRlciBpbnRlcnZhbCB0byBkZXRlcm1pbmUgc2VuZGVyIHRpbWVvdXQgcmF0aGVyIHRoYW4KCSAgb3VyIG93biBzZW5kZXIgc2lkZSBpbnRlcnZhbCAod2hpY2ggbWF5IGhhdmUgYmVlbiBmb3JjZWQgc21hbGwpLgoKMjAxMS0wOC0yNSAxMjo0MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBhdm9pZCB0aW1pbmcgb3V0IHNvdXJjZSB0b28gcXVpY2tseQoJICAuLi4gZm9sbG93aW5nIGEgUEFVU0UvUExBWSBjeWNsZSwgcGFydGljdWxhcmx5IGFwcGxpY2FibGUgd2hlbiBvcGVyYXRpbmcKCSAgd2l0aCBhIHNob3J0IFJUQ1AgaW50ZXJ2YWwgKHBvc3NpYmx5IGZvcmNlZCBzbyBzZXJ2ZXItc2lkZSkuCgoyMDExLTA4LTI0IDE0OjM3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyL3J0cGJpbjogcmVsYXggZHJvcHBpbmcgcnRjcCBwYWNrZXRzCgkgIC4uLiB0byBhdCBsZWFzdCBoYXZpbmcgaXQgdHJpZ2dlciBhL3Ygc3luY2hyb25pemF0aW9uLCBwb3NzaWJseSB3aXRob3V0CgkgIHVzaW5nIHByb3ZpZGVkIHZhbHVlcyB3aGljaCBhcmUgc3RpbGwgbm90IGNvbnNpZGVyZWQgc2FuZQoJICAoYXMgcHJldmlvdXNseSBkcm9wcGVkKS4KCjIwMTEtMDgtMjQgMTQ6MzQ6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc29tZSBtb3JlIHJlc2V0IHdoZW4gY2xlYXJpbmcgcHQgbWFwCgkgIC4uLiB3aGljaCBpbiBwYXJ0aWN1bGFyIGNhdGVycyBmb3Igc29tZSBtb3JlIHJlc2V0IGZvbGxvd2luZyBhIHBvc3NpYmxlCgkgIHJ0c3AgUExBWS4KCjIwMTEtMDgtMjEgMjE6NTg6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkbyBub3Qgc2V0IGVsZW1lbnRzIHRvIFBMQVlJTkcgd2hlbiBkb2luZyBzZWVrIGluIFBBVVNFRAoKMjAxMS0wOS0wMSAxNDo0Nzo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvbmx5IHJlc2V0IHNrZXcgb24gZ2FwIGlmIGlucHV0IHRzIGF2YWlsYWJsZQoKMjAxMS0wOC0xOCAxNDoxMjoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBjaGVjayBzb21lIG1vcmUgZm9yIHBvc3NpYmxlIHJ0cCB0aW1lc3RhbXAgZGlzY29udGludWl0eQoJICAuLi4gd2hlbiBvcGVyYXRpbmcgaW4gbm9uIHNsYXZlIG1vZGUsIGFuZCByZXNldCBpZiBkZXRlY3RlZC4KCSAgVGhpcyBzaG91bGQgYXZvaWQgc29tZSAobGFyZ2UpIGJvZ3VzIG91dGdvaW5nIHRpbWVzdGFtcCBkdWUgdG8ganVtcHMKCSAgaW4gcnRwIHRpbWUsIGFzIHJlc3VsdCBvZiBQQVVTRS9QTEFZIG9yIHNlZWsgb3IgLi4uCgoyMDExLTA4LTA4IDEyOjQ4OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc3dpdGNoIHRvIHJ0cCB0aW1lIGJhc2VkIHN5bmNpbmcgd2hlbiBndWVzc2VkIGFwcHJvcHJpYXRlCgoyMDExLTA4LTA4IDEyOjE1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhbHRlcm5hdGl2ZSBpbnRlci1zdHJlYW0gc3luY2luZyBtZXRob2RzCgkgIC4uLiBhdCBsZWFzdCBpZiBub3Qgc3luY2luZyB0byBOUFQgdGltZToKCSAgKiBlaXRoZXIgc3luYyB1c2luZyBSVENQIFNSIGRhdGEgKGFzIGN1cnJlbnRseSkKCSAgKiBvbmx5IHBlcmZvcm0gdGhlIGFib3ZlIG9uY2UgdXNpbmcgaW5pdGlhbCBSVENQIFNSIHBhY2tldHMKCSAgKiBkaXNjYXJkIFJUQ1AgYW5kIHN5bmMgYnkgZXF1YXRpbmcgcHJvdmlkZWQgc3RyZWFtJ3MgY2xvY2stYmFzZSBydHB0aW1lLAoJICBhcyBwcm92aWRlZCBieSBqaXR0ZXJidWZmZXIgKHR5cGljYWxseSBvYnRhaW5lZCBmcm9tIFJUUC1JbmZvIGluIFJUU1ApLgoKMjAxMS0wOC0wOCAxMjoxMToyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhbHNvIHByb3ZpZGUgY2xvY2stYmFzZSB0byBzeW5jIHNpZ25hbAoKMjAxMS0wOC0wOCAxMjowOTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWxsb3cgY29uZmlndXJhYmxlIHJ0Y3Agc3RyZWFtIHN5bmNpbmcgaW50ZXJ2YWwKCSAgLi4uIHJhdGhlciB0aGFuIG5lY2Vzc2FyaWx5IHN5bmNpbmcgYXQgZWFjaCBSVENQIFNSLgoKMjAxMS0wOC0wMSAwODozNTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHRyaWdnZXIgcmVjb25zaWRlcmF0aW9uIGlmIHJ0Y3AgaW50ZXJ2YWwgc2V0CgoyMDExLTA4LTAxIDA4OjMyOjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY29uZmlndXJlIHJ0Y3AgaW50ZXJ2YWwgaWYgcHJvdmlkZWQKCSAgLi4uIGluIFBMQVkgcmVzcG9uc2UuCgoyMDExLTA5LTE2IDE2OjUzOjIyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogRml4IGFsbG93aW5nIHplcm8gZHVyYXRpb24gdHJhY2tzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc0ODYKCjIwMTEtMDktMDUgMTA6MTE6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHBzcmM6IGVycm9yIG91dCB3aGVuIG5vIHByb3RvY29sIGlzIHNwZWNpZmllZCBpbiB0aGUgdXJpCgkgIEl0IGlzIGNlcnRhaW5seSBiZXR0ZXIgdGhhbiB0byBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODE3OAoKMjAxMS0wOS0xOSAwOTozNzo1OCArMDIwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGRvIG5vdCB1c2UgaW52YWxpZCBidWZmZXIgdGltZXN0YW1wcwoKMjAxMS0wMy0yOSAxMjowOToxOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBOZXcgcHVsc2VhdWRpb3NpbmsgZWxlbWVudCB0byBoYW5kbGUgZm9ybWF0IGNoYW5nZXMKCSAgVGhpcyBpbnRyb2R1Y2VzIGEgbmV3IGJpbiB3aGljaCB3cmFwcyBhcm91bmQgcHVsc2VzaW5rIGFuZCBkZXBlbmRpbmcgb24KCSAgdGhlIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBzaW5rLCBwbHVncyBpbi9vdXQgYSBkZWNvZGViaW4yIGFzCgkgIHJlcXVpcmVkLiBUaGlzIGFsbG93cyB1c2VycyB0byBzd2l0Y2ggc2lua3Mgb24gdGhlIHN0cmVhbSBhbmQgYWRhcHRzCgkgIGFjY29yZGluZ2x5IChmb3IgZXhhbXBsZSwgeW91IGNvdWxkIHdhdGNoIGEgbW92aWUgaW4gcGFzc3Rocm91Z2ggbW9kZSBvbgoJICB5b3VyIHJlY2VpdmVyIHdoaWNoIHN1cHBvcnRzIEFDMyBkZWNvZGUsIHRoZW4gcGx1ZyBvdXQgYW5kIHN3aXRjaCB0byBhCgkgIG5vbi1kaWdpdGFsIHByb2ZpbGUgdG8gY29udGludWUgdW5pbnRlcnJ1cHRlZCBvbiBhbmFsb2cgb3V0cHV0KS4KCSAgVGhlIGJpbiBpcyByZXF1aXJlZCBiZWNhdXNlIGRvaW5nIHRoZSBzYW1lIHdpdGggcGxheWJpbjIvcGxheXNpbmsgd2lsbAoJICByZXF1aXJlIEFQSSBjaGFuZ2VzIHRoYXQgY2Fubm90IGJlIG1hZGUgaW4gMC4xMC4gV2l0aCAwLjExLzEuMCwgd2UKCSAgc2hvdWxkIGJlIGFibGUgdG8gYXNrIGZvciB1cHN0cmVhbSBjYXBzIHJlbmVnb3RpYXRpb24gdG8gZGVhbCB3aXRoIGFsbAoJICB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MTc5CgoyMDExLTA5LTE2IDE1OjAzOjIzICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBBdm9pZCBzZW5kaW5nIEVPUyB3aGVuIGluIHBhdXNlZCBzdGF0ZQoJICBDaGFuZ2VkIHRoZSBlYm1sIHJlYWRlcidzIGdzdF9lYm1sX3BlZWtfaWRfbGVuZ3RoKCkgZnVuY3Rpb24gc28KCSAgdGhhdCBpdCByZXR1cm5zIHRoZSBhY3R1YWwgcmVhc29uIGZvciB3aHkgdGhlIHBlZWsgZmFpbGVkLCBpbnN0ZWFkCgkgIG9mIChhbG1vc3QpIGFsd2F5cyByZXR1cm5pbmcgR1NUX0ZMT1dfVU5FWFBFQ1RFRC4gVGhpcyBwcmV2ZW50cwoJICB0aGUgcHVsbGluZyB0YXNrIGZyb20gc2VuZGluZyBFT1Mgd2hlbiBkb2luZyBhIGZsdXNoaW5nIHNlZWsuCgoyMDExLTA5LTE1IDE1OjUzOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc3R1dHRlcmluZyBBL1YKCSAgU29tZW9uZSBnb3QgaGFkIGJ5IGltcGxpY2l0IHByb21vdGlvbiB0byB1bnNpZ25lZCBpbiBvcHMgd2l0aAoJICBhIHNpZ25lZCBhbmQgYW4gdW5zaWduZWQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkxNTMKCjIwMTEtMDktMTQgMTY6Mzc6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiB0b2dnbGUgcGF1c2UvcGxheSBvbiBzcGFjZSBiYXIKCSAgQSB1c2VmdWwgdGhpbmcgdG8gaGF2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA2NQoKMjAxMS0wOS0xNCAxNDo0NjowMCArMDIwMCAgRGF2aWQgU3ZlbnNzb24gRm9ycyA8ZGF2aWRzZkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogY29uZmlndXJhYmxlIHRpbWVzdGFtcCBnYXAgaGFuZGxpbmcKCSAgbWF0cm9za2FkZW11eCBwZXJmb3JtcyBzZWdtZW50IHRyaWNrcyB0byBza2lwIGdhcHMgaW4gc3RyZWFtcywKCSAgbm90YWJseSBhdCBzdGFydCBmb3Igbm9uIDAgYmFzZWQgZmlsZXMuICBUaGVyZSBtYXkgaG93ZXZlciBiZQoJICBjYXNlcyB3aGVuIGZ1bGwgcHJlc2VudGF0aW9uIChpbmNsdWRpbmcgaW50ZXJtZWRpYXRlIGdhcHMpIGlzCgkgIGRlc2lyZWQsIHNvIGEgcHJvcGVydHkgYWxsb3dzIHRvIGNvbmZpZ3VyZSBhcyBvZiB3aGljaCBnYXAKCSAgdG8gYWN0IChvciBub3QgYXQgYWxsKS4KCSAgQVBJOiBHc3RNYXRyb3NrYURlbXV4OjptYXgtZ2FwLXRpbWUKCSAgRml4ZXMgIzY1OTAwOS4KCjIwMTEtMDktMTIgMDk6MjE6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIHRlc3RzOiBmbHZtdXg6IEZpeCBmbHZtdXgncyB0ZXN0cyBhZnRlciBmaXggZm9yIHJlcXVlc3QgcGFkcyBoYW5kbGluZwoJICBOb3cgdGhhdCBmbHZtdXggZG9lc24ndCByZWxlYXNlIGl0cyByZXF1ZXN0IHBhZHMgb24gUEFVU0VELT5SRUFEWSB0aGUKCSAgdGVzdCBkb2Vzbid0IG5lZWQgdG8gcmUtcmVxdWVzdCB0aGVtIGZvciBldmVyeSByZXVzZSB0ZXN0IHN0YXJ0LgoKMjAxMS0wOS0wOSAwOToxMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggY3R0cyBnZW5lcmF0aW9uIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3Qgc3RhcnQgYXQgMCB0aW1lc3RhbXBzCgkgIFN1YnRyYWN0IHRoZSBmaXJzdCB0aW1lc3RhbXAgb2YgYSBzdHJlYW0gZnJvbSBhbGwgaW5wdXQgYnVmZmVycyB0bwoJICBnZXQgMC1iYXNlZCB0aW1lc3RhbXBzIGZvciBjcmVhdGluZyBhIHNhbmUgY3R0cyB0YWJsZS4gV2l0aG91dCB0aGlzCgkgIHBhdGNoIHRoZSBjdHRzIGNvdWxkIGhhdmUgbGFyZ2VyIHZhbHVlcyB0aGFuIG5lZWRlZCwgY2F1c2luZyB0aGUKCSAgcGxheWJhY2sgdG8gaGF2ZSBhIGRlbGF5IGF0IHN0YXJ0dXAuCgkgIEFzIHRoZSBmaXJzdCB0aW1lc3RhbXAgaXMgb25seSBmb3VuZCBhZnRlciBhIGZldyBidWZmZXJzIGFyZSBxdWV1ZWQKCSAgKGR1ZSB0byBwb3NzaWJsZSByZW9yZGVyZWQgYnVmZmVycyksIG9uY2Ugd2UgZmluZCB0aGUgZmlyc3QgdGltZXN0YW1wCgkgIHdlIHN1YnRyYWN0IGl0IGZyb20gYWxsIGJ1ZmZlcnMgb24gdGhlIHF1ZXVlLCBmcm9tIHRoYXQgcG9pbnQgb24sCgkgIGFsbCBidWZmZXJzIGhhdmUgdGhlaXIgdGltZXN0YW1wcyBzdWJ0cmFjdCB3aGVuIHRoZXkgYXJlIGNvbGxlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODY1OQoKMjAxMS0wOS0xMiAwNzo1NToxOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHJlbGVhc2UgcmVxdWVzdCBwYWRzIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgRG9uJ3QgcmVsZWFzZSByZXF1ZXN0IHBhZHMgYnV0IGp1c3QgcmVzZXQgdGhlbS4gVGhpcyBtYWtlcyBwaXBlbGluZXMgdXNpbmcKCSAgZmx2bXV4IHJldXNhYmxlLgoKMjAxMS0wOS0wOSAxMjozNTo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiB1c2UgYnNpZCA5IGFuZCAxMCB0byBjb250cm9sIHNhbXBsZSByYXRlCgkgIFNlZSBodHRwOi8vbWF0cm9za2Eub3JnL3RlY2huaWNhbC9zcGVjcy9jb2RlY2lkL2luZGV4Lmh0bWwKCSAgVGhlIHNwZWMgaXMgc2lsZW50IGFib3V0IHRoaXMgdGhvdWdoLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NDYKCjIwMTEtMDktMDcgMTQ6MTM6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBlbnN1cmUgc29tZSBpbml0aWFsIHN0YXRlIHZhcmlhYmxlIHNldHVwCgkgIC4uLiB3aGljaCBtaWdodCBvdGhlcndpc2UgYmUgc2tpcHBlZCBpZiB0aGUgUExBWSBjb21tYW5kIGlzIGlzc3VlZCBiZWZvcmUKCSAgdGhlIE9QRU4gY29tbWFuZCBoYWQgYSBjaGFuY2UgdG8gYWN0dWFsbHkgYmUgYWN0ZWQgdXBvbi4KCSAgRml4ZXMgIzY1NzM3Ni4KCjIwMTEtMDktMDggMTU6MDI6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR3ZWFrIGdhcCBoYW5kbGluZwoJICAuLi4gc28gYXMgdG8gYXZvaWQgYnVmZmVycyBiZWZvcmUgYW5kIGFmdGVyIGdhcCB0byBoYXZlIGlkZW50aWNhbCBydW5uaW5nIHRpbWUuCgoyMDExLTA5LTA4IDEzOjI4OjI0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdXNlIEdTVF9SRVNPVVJDRV9FUlJPUl9CVVNZIGlmIHY0bDJfaW9jdGwgZmFpbHMgd2l0aCBFQlVTWQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTQzCgoyMDExLTA5LTA3IDA4OjU0OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBvbmUgR19VTkxJS0VMWSBmb3IgdXNlciBwcm9wZXJ0eQoJICBVc2luZyBHX1VOTElLRUxZIG9uIHVzZXIgcHJvcGVydGllcyBpc24ndCBuaWNlLCBzcGVjaWFsbHkgd2hlbgoJICB0aGF0IGlzIHRoZSBkZWZhdWx0IG9wdGlvbi4KCjIwMTEtMDMtMTUgMTE6MDM6NTMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogaGFuZGxlIEdzdEZvcmNlS2V5VW5pdCBldmVudAoJICAuLi4gYnkgc3RhcnRpbmcgYSBuZXcgY2x1c3RlciBhZnRlciBmb3J3YXJkaW5nIGV2ZW50LgoJICBGaXhlcyAjNjQ0MTU0LgoKMjAxMS0wOS0wNyAxNDoyNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgY21tbDogVXNlIGNvbXBsZXRlIGNtbWwgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDExLTA5LTA3IDE0OjI2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBVc2UgY29tcGxldGUgTVBFRyBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTEtMDktMDcgMTQ6MTg6NTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGNsZWFudXAgbWFrZWZpbGVzCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IHBhcnRzIHRoYXQgd2UgZG9uJ3QgbmVlZC4gUmVtb3ZlICJ0aGUgd2luZ28gYWRkaXRpb24iIC0gbm8KCSAgc28gdXNlZnVsIGFmdGVyIGFsbC4gTmFycm93IGRvd24gZmlsZS1nbG9icyBmb3IgcGx1Z2luIGRvY3MuCgoyMDExLTA4LTI5IDE0OjEyOjIyICswMjAwICBLb25zdGFudGluIE1pbGxlciA8a29uc3RhbnRpbi5taWxsZXJAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGhhbmRsZSBIVFRQIHJlc3BvbnNlIDQwNyBhcyBlcnJvciBpZiBwcm94eSBhdXRoZW50aWNhdGlvbiBkYXRhIGlzIGF2YWlsYWJsZQoJICBGaXhlcyBidWcgIzY1NzQyMi4KCjIwMTEtMDktMDcgMTI6MTE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogQWRkIENvbnZlcnRlciB0byB0aGUgY2xhc3NpZmljYXRpb24gYmVjYXVzZSBpdCBjYW4gY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudCBhbGlnbm1lbnRzCgkgIFRoaXMgYWxsb3dzIGRlY29kZWJpbjIgdG8gbGV0IGl0IG5lZ290aWF0ZSBwcm9wZXJseS4KCjIwMTEtMDktMDcgMTI6MTA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEltcHJvdmUgc3JjIHRlbXBsYXRlIGNhcHMKCSAgUmVtb3ZlIHRoZSBwYXJzZWQvZnJhbWVkIGZpZWxkcyBhbmQgYWRkIGFsbCBmaWVsZHMgdG8gdGhlIHRlbXBsYXRlCgkgIGNhcHMgdGhhdCBhbHdheXMgZXhpc3QuCgoyMDExLTA5LTA2IDE1OjU5OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogcGFyc2UgY29kZWNfZGF0YSB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIHNhbXBsZXMgcGVyIGZyYW1lCgkgIEZpeGVzICM2NTY3MzQuCgoyMDExLTA5LTA2IDIxOjI0OjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhMzllYjgzIHRvIDExZjBjZDUKCjIwMTEtMDktMDYgMTY6NTc6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdHJ5IHRvIGRpc2FibGUgZGVpbnRlcmxhY2UuLgoKMjAxMS0wOS0wNiAxNTo0MDozMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDE2OjM3OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbW1vbgoKMjAxMS0wOS0wNiAxNjowNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmMKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTEtMDktMDYgMTU6NDA6MzIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwNWNkOWEgdG8gYTM5ZWI4MwoKMjAxMS0wOS0wNiAxNTowNTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IG1ha2UgZGVmYXVsdCBkdXJhdGlvbiBjaGVjayBsZXNzIHNlbnNpdGl2ZQoJICBGcmFtZSBkdXJhdGlvbiBtaWdodCB2YXJ5IGZvciAxIHVzZWNvbmQsIGluIHRoaXMgY2FzZSBtYXRyb3NrYW11eAoJICBkZWNpZGVzIHRvIGNyZWF0ZSBCTE9DS0dST1VQIGluc3RlYWQgb2YgU0lNUExFQkxPQ0suCgkgIENvbnZlcnQgZHVyYXRpb24gdG8gdGltZWNvZGVzY2FsZSB3aGljaCBpcyAodHlwaWNhbGx5KSBsZXNzIHByZWNpc2UsIGFuZAoJICB0aGVuIGFsc28gYWxsb3cgdGhlIGRpZmZlcmVuY2Ugb2YgMS8tMSB0byBhcnJhbmdlIGZvciBsZXNzIHNlbnNpdGl2ZSBjaGVjay4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBGaXhlcyAjNjUzMDgwLgoKMjAxMS0wOS0wNiAxMzoxODo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGltcHJvdmUgYm9ndXMgaW50ZXJsZWF2ZWQgaW5kZXggY29tcGVuc2F0aW5nCgkgIFBhdGNoIGJ5IDxndWRha2VAZ21haWwuY29tPgoJICBGaXhlcyAjNjU0NTg1LgoKMjAxMS0wOS0wNiAxMzoxNjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIC1nb29kOiBwb3J0IHRvIG5ldyBhdWRpbyBjYXBzCgoyMDExLTA5LTA2IDEwOjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBbGxvdyBwb3NpdGl2ZSwgbm9uLTEuMCBzZWdtZW50IHJhdGVzCgkgIE9ubHkgbmVnYXRpdmUgcmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQuIEZpeGVzIGJ1ZyAjNjU4MzA1LgoKMjAxMS0wOS0wNSAxNTo1MDo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IHBhcnNlcnM6IHByb3ZpZGUgbW9yZSByZWFsIGRhdGEgd2hlbiB0ZXN0aW5nIGRyYWluaW5nIG9mIGdhcmJhZ2UKCjIwMTEtMDktMDUgMTU6NTA6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogZml4IGFuZCBzdHJlYW1saW5lIHZhbGlkIGZyYW1lIGNoZWNraW5nCgkgIC4uLiB0byBoYW5kbGUgdmFyaW91cyBjb21iaW5hdGlvbnMgb2Ygc3luYyBvciBub3QsIGFuZCBzdWZmaWNpZW50IGRhdGEKCSAgb3Igbm90IGFzIG1pZ2h0IGJlIGV4cGVjdGVkLgoJICBGaXhlcyAjNjUwNzE0LgoKMjAxMS0wOS0wNSAxNDo0OTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBhdm9pZCBhZGp1c3RtZW50IGZvciBrZXlmcmFtZSBzZWVrCgkgIC4uLiBzaW5jZSBhbGwgaW5kZXggZGF0YSBtYXkgbm90IHlldCBiZSBhdmFpbGFibGUgYXQgdGhhdCB0aW1lLgoKMjAxMS0wOS0wNSAxNDo0ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBtYXJrIGFsbCBhdWRpbyB0cmFjayBzYW1wbGVzIGFzIGtleWZyYW1lCgoyMDExLTA5LTA1IDE0OjQ2OjI5ICswMjAwICBCcmlhbiBMaSA8YnJpYW43MDAzQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IHByb3Blcmx5IGluaXQgcmV0dXJuIHZhcmlhYmxlIHZhbHVlCgkgIEZpeGVzICM2NTU5MTguCgoyMDExLTA5LTA1IDEzOjMxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIGd0ay1kb2MgZm9yIG5ldyBzaG9ydC1oZWFkZXIgcHJvcGVydHkKCjIwMTEtMDktMDUgMTM6MTg6MzkgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWxsb3cgc2VuZGluZyBzaG9ydCBSVFNQIHJlcXVlc3RzIHRvIGEgc2VydmVyCgkgIFNvbWUgZW5jb2RlcnMgKEFyZWNvbnQpIGRvIG5vdCBsaWtlIHRoZSBsb25nIE9QVElPTlMgc2VudCBhdCBzdGFydHVwIGFzIHNlbnQgYnkKCSAgR1N0cmVhbWVyLCBidXQgZG8gYWNjZXB0IHRoZSBzaG9ydCBoZWFkZXIgYXMgc2VudCBieSBMaXZlNTU1LgoJICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBleHRlbmRpbmcgdGhlIHJlcXVlc3Qgb3B0aW9uYWwgYnkgYWRkaW5nIGEgcHJvcGVydHkKCSAgKHNob3J0LWhlYWRlcikuCgkgIEZpeGVzICM2NTU4MDUuCgkgIEFQSTogR3N0UlRTUFNyYzpzaG9ydC1oZWFkZXIKCjIwMDktMDMtMDQgMTQ6NTE6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFNldCBIMjYzLTIwMDAgaWYgdGhhdHMgd2hhdCB0aGUgb3RoZXIgc2lkZSB3YW50cwoJICBUaGUgc3RhdGljIGNhcHMgc3RhdGVzIHRoaXMgZWxlbWVudCBzdXBwb3J0cyBIMjYzLTIwMDAsIGJ1dCBzZXRjYXBzIG5ldmVyCgkgIHNldHMgaXQsIHNvIGl0IHdhcyBsaWUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDExLTA4LTMwIDE5OjAyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBJbml0aWFsaXNlIHRoZSBsYXN0X2tleWZyYW1lX3JlcXVlc3QgdmFyaWFibGUKCjIwMTEtMDgtMzEgMTY6MDQ6MjQgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IG1ha2UgYWRkL3JlbW92ZS9jbGVhci9nZXQtc3RhdHMgYWN0aW9uIHNpZ25hbHMKCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3ODMwCgkgIFNpZ25lZC1vZmYtYnk6IFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoyMDExLTA4LTMxIDE4OjQ1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIG1wMnQ6IGZpeCBlbmNvZGluZyBuYW1lIGFjY29yZGluZyB0byBSRkMzNTUxCgoyMDExLTA4LTMwIDEzOjMzOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcHVzaCBtb2RlOyBwZXJmb3JtIHNvbWUgZXh0cmEgY2hlY2tzIHByaW9yIHRvIHVwc3RyZWFtIHNlZWtpbmcKCjIwMTEtMDgtMzAgMTM6Mjg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbW9kZTsgZml4IGJ1ZmZlcmVkIHN0cmVhbWluZwoJICBUaGF0IGlzLCBpbiBjYXNlIHdoZXJlIG5vIHNlZWsgaXMgcGVmb3JtZWQgdG8gbW9vdiwgYnV0IHByZWNlZGluZwoJICBsaW1pdGVkIG1kYXQgaXMgYnVmZmVyZWQuCgoyMDExLTA4LTMwIDE0OjA2OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0zMCAxMjo0OTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbGF3IGlzIHBvcnRlZCBub3cKCjIwMTEtMDgtMzAgMTI6MjU6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0yOSAxOToxMToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICBhbGF3OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDgtMjkgMTk6MTA6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCBjb21tZW50CgoyMDExLTA4LTI5IDE4OjAyOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogcG9ydCBzb3VwIGVsZW1lbnRzIHRvIDAuMTEKCjIwMTEtMDgtMjkgMTU6MTM6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIG92ZXJmbG93IHdyYXBhcm91bmQgaW4gdGltZXN0YW1wIHdoZW4gYWRkaW5nIGR1cmF0aW9ucwoJICBEbyBzb21lIHR5cGUganVnZ2xpbmcgdG8gYXZvaWQgb3ZlcmZsb3csIHdoaWxlIHN0aWxsIGFsbG93aW5nIGZvciAnbmVnYXRpdmUnCgkgIGR1cmF0aW9ucyAod2hpY2ggd291bGQgbmVlZCBhIHdyYXBhcm91bmQgZWZmZWN0KS4KCjIwMTEtMDgtMjkgMTM6NDM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jCgoyMDExLTA4LTI2IDE0OjIwOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGFsbG9jYXRpb246IGZpeCBmb3Igdm1ldGhvZCBjaGFuZ2VzCgoyMDExLTA4LTI1IDIzOjM3OjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogbWFrZSB0aGlzIHdvcmsgbW9yZSB0aGFuIG9uY2UgaW4gYSByb3cKCSAgV2UgdXNlZCB0byBza2lwIGZyYW1lIHJhdGUgc2V0dXAgaWYgdGhlIGNhbWVyYSB3YXMgYWxyZWFkeSBzZXR1cAoJICB3aXRoIHRoZSByZXF1ZXN0ZWQgZnJhbWUgcmF0ZS4gVGhpcyBicmVha3Mgc29tZSBjYW1lcmFzIHRob3VnaCwKCSAgY2F1c2luZyB0aGVtIHRvIG5vdCBvdXRwdXQgZGF0YSAoc2V2ZXJhbCBtb2RlbHMgb2YgVGhpbmtwYWQgY2FtZXJhcwoJICBoYXZlIHRoaXMgcHJvYmxlbSBhdCBsZWFzdCkuCgkgIFNvLCBkb24ndCBza2lwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4MzAwCgoyMDExLTA4LTI1IDE2OjQxOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBwb3J0IHRvIG5ldyB2aWRlbyBmbGFncwoKMjAxMS0wOC0yNCAxODo0MDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IGFkZCBzb21lIG1vcmUgY2hhbm5lbHMKCjIwMTEtMDgtMjQgMTQ6MTY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTIzIDEyOjEyOjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG9ubHkgcmVxdWlyZSB0d28gZnJhbWVzIGluIGEgcm93IHdoZW4gd2UgZG8gbm90IGhhdmUgc3luYwoJICBUaGlzIGF2b2lkcyBhIHNpbmdsZSBiaXQgZXJyb3IgZHJvcHBpbmcgdHdvIGZyYW1lcyB1bm5lY2Vzc2FyaWx5LgoJICBUaGUgdHdvIGNvbnNlY3V0aXZlIGZyYW1lcyBjaGVjayBpcyBzdGlsbCByZXF1aXJlZCB3aGVuIHdlIGRvbid0CgkgIGhhdmUgc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA4MAoKMjAxMS0wOC0yMyAyMTo0MToxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVHJpdmlhbCBpbmRlbnRhdGlvbiBmaXgKCjIwMTEtMDgtMjMgMTk6MDk6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZpZGVvOiBwb3J0IHRvIG5ldyBjb2xvcmltZXRyeSBpbmZvCgoyMDExLTA3LTIxIDE3OjIzOjI4IC0wNDAwICBNb250eSBNb250Z29tZXJ5IDxjbW9udGdvbUByZWRoYXQuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBDb3JyZWN0IHNhbXBsZSBudW1iZXIgcm91bmRpbmcgcmVzdWx0aW5nIGluIHRpbWVzdGFtcCBqaXR0ZXIKCSAgZmxhY2RlYyBjb252ZXJ0cyB0aGUgc3JjIHRpbWVzdGFtcCB0byBhIHNhbXBsZSBudW1iZXIsIHVzZXMgdGhhdCBpbnRlcm5hbGx5LCB0aGVuIHJlY29udmVydHMgdGhlIHNhbXBsZSBudW1iZXIgdG8gYSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVyLiAgVW5mb3J0dW5hdGVseSwgc2FtcGxlIG51bWJlcnMgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgaW4gYW4gaW50ZWdlciBudW1iZXIgb2YgbmFub3NlY29uZHMsIGFuZCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIHdhcyB0cnVuY2F0aW5nIHJhdGhlciB0aGFuIHJvdW5kaW5nLCByZXN1bHRpbmcgaW4gc2FtcGxlIG51bWJlcnMgYW5kIG91dHB1dCB0aW1lc3RhbXBzIHRoYXQgd2VyZSBvZnRlbiBvZmYgYnkgYSBmdWxsIHNhbXBsZS4KCSAgVGhpcyBjb3JyZWN0cyB0aGUgdGltZS0+c2FtcGxlIGNvbnZlc2lvbgoKMjAxMS0wOC0yMiAxMzoxMDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMjIgMTI6MjQ6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkgIGZvdXJjYzogcmVtb3ZlIGZvdXJjYyBmcm9tIGNhcHMKCjIwMTEtMDgtMjAgMTQ6NDg6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSAgYnJlYWtteWRhdGE6IGVsZW1lbnQgaXMgbm90IHBhc3N0aHJvdWdoCgoyMDExLTA3LTEzIDExOjIwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogcXVpZXQgZGVidWdnaW5nCgoyMDExLTA3LTEwIDIxOjQwOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogY2hhbmdlIGZpZWxkIGhhbmRsaW5nIHRocm91Z2ggbWV0aG9kcwoJICBUaGlzIGxpa2VseSBicmVha3Mgc3R1ZmYuICBUaGUgZ29vZDogYWxsIG9mIHRoZSBtZXRob2RzIG5vdyBjcmVhdGUKCSAgZmllbGQgaW1hZ2VzIGFsaWduZWQgd2l0aCBpbnB1dCBmcmFtZXMsIHdpdGhvdXQgdGltZXN0YW1wIG1hbmdsaW5nLgoJICBUaGUgYmFkOiB0aGlzIHRvdWNoZXMgYSBsb3Qgb2YgY29kZSwgbXVjaCBvZiB3aGljaCBpcyBoYWlyeSBhbmQgaW4KCSAgbmVlZCBvZiBjbGVhbnVwLiAgSG93ZXZlciwgYXQgdGhpcyBwb2ludCB3ZSBjYW4gcmVhc29uYWJseSBjcmVhdGUgYQoJICBQU05SLWJhc2VkIHRlc3QuCgoyMDExLTA4LTIxIDE0OjQxOjE0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiByZXNldCAtPnN0cmVhbWhlYWRlcnMgdG8gTlVMTCBvbiBfc3RvcAoJICBGaXhlcyBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgcmV1c2luZyBtdWx0aWZpbGVzaW5rCgoyMDExLTA4LTIwIDEwOjQ2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgY3V0dGVyOiBicmluZyBjdXR0ZXIgc29tZXdoYXQgaW50byB0aGlzIG1pbGxlbm5pdW0KCjIwMTEtMDgtMTkgMTY6Mjc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJnOiBmaXggY2FwcwoKMjAxMS0wOC0xOSAxNjoxMzoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBwb3J0IGFmdGVyIG1lcmdlCgoyMDExLTA4LTE5IDE2OjEyOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xOSAxNjowOTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgcG9ydCB0byBtb3JlIGF1ZGlvIGFwaSBjaGFuZ2VzCgoyMDExLTA4LTE5IDE0OjAxOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBwb3J0IG1vcmUgZWxlbWVudHMgdG8gbmV3IGF1ZGlvIGNhcHMgYW5kIEFQSQoKMjAxMS0wOC0xOSAxMTo0OTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIHBvcnQgdG8gbmV3IGF1ZGlvIEFQSSBhbmQgY2FwcwoKMjAxMS0wOC0xOCAxMzozNzozOSArMDIwMCAgRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWxsb3cgd3JpdGVzIGluIGJpZ2dlciBjaHVua3MKCSAgVGhlcmUncyBubyB1c2UgaW4gc3BsaXR0aW5nIHRoZSBpbmNvbWluZyBkYXRhIGRvd24gdG8gdGhlIHNlZ3NpemUKCSAgbGltaXQgLSBieSB3cml0aW5nIGFzIG11Y2ggYXMgcG9zc2libGUgaW4gb25lIGNodW5rLCB3ZSBpbmNyZWFzZQoJICBwZXJmb3JtYW5jZSBhbmQgYXZvaWQgUHVsc2VBdWRpbyB1bm5lY2Vzc2FyeSByZXdpbmRzLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCjIwMTEtMDgtMTggMTk6Mzc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTE4IDE5OjIxOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgIHBvcnQgdG8gbmV3IGF1ZGlvIGNhcHMuCgoyMDExLTA4LTA4IDIyOjE0OjI4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBlbnN1cmUgbm8tbW9yZS1wYWRzIGlzIGFsd2F5cyBlbWl0dGVkCgkgIEluIHBhcnRpY3VsYXIsIGRvIHNvIGV2ZW4gaWYgZmFpbGluZyB0byByZWFkIHdoaWxlIHByZXJvbGxpbmcsCgkgIHN1Y2ggYXMgd2hlbiByZWFkaW5nIGZyb20gYSBwYXJ0aWFsIGZpbGUgKGVnLCB3aGlsZSBpdCBpcyBiZWluZwoJICBkb3dubG9hZGVkKS4KCSAgVGhpcyBmaXhlcyBhIHdlZGdlIGluIHBsYXliaW4yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxOTY1CgoyMDExLTA4LTE3IDE3OjU3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBpbXByb3ZlIGZpeGF0ZSBmdW5jdGlvbgoJICBVc2UgbmV3IGNvcmUgZnVuY3Rpb24gdG8gZml4YXRlIGEgZmllbGQuCgkgIENoYWluIHVwIHRvIHBhcmVudCBmaXhhdGUgZnVuY3Rpb24uCgoyMDExLTA4LTE3IDE1OjUyOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoKMjAxMS0wOC0xNyAxNTozOToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBwb3J0IHRvIDAuMTEKCSAgQWxzbyBkaXNhYmxlIHNtb2tlIGZvciBub3cuCgoyMDExLTA4LTE2IDE3OjI3OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYXZvaWQgdGltZXN0YW1wL29mZnNldCB0cmFja2luZyBnb2luZyBvdXQgb2Ygc3luYwoJICBUaGUgbGliRkxBQyBBUEkgaXMgY2FsbGJhY2sgYmFzZWQsIGFuZCB3ZSBtdXN0IG9ubHkgY2FsbCBpdCB0bwoJICBvdXRwdXQgZGF0YSB3aGVuIHdlIGtub3cgd2UgaGF2ZSBlbm91Z2ggaW5wdXQgZGF0YS4gRm9yIHRoaXMKCSAgcmVhc29uLCBhIHNpbmdsZSBwcm9jZXNzaW5nIHN0ZXAgaXMgZG9uZSB3aGVuIHJlY2VpdmluZyBhIGJ1ZmZlci4KCSAgSG93ZXZlciwgaWYgdGhlcmUgd2VyZSBtZXRhZGF0YSBidWZmZXJzIHN0aWxsIHBlbmRpbmcsIGEgc3RlcAoJICBpbnRlbmRlZCBmb3IgdGhlIGZpcnN0IGF1ZGlvIGZyYW1lIG1pZ2h0IGVuZCB1cCB3cml0aW5nIHRoYXQKCSAgbGVmdG92ZXIgbWV0YWRhdGEuIFNpbmNlIGEgc2luZ2xlIHN0ZXAgaXMgZG9uZSBwZXIgYnVmZmVyLCB0aGlzCgkgIHdpbGwgY2F1c2UgZXZlcnkgYnVmZmVyIHRvIGJlIHdyaXR0ZW4gb25lIHN0ZXAgbGF0ZS4KCSAgVGhpcyB3b3VsZCBhZGQgc29tZSBsYXRlbmN5IChhIGJ1ZmZlcmZ1bGwncyB3b3J0aCksIHBvc3NpYmx5CgkgIGxvc2UgYSBidWZmZXIgd2hlbiBzZWVraW5nIG9yIHRoZSBsaWtlLCBhbmQgYWxzbyBjYXVzZSB0aW1lc3RhbXAKCSAgYW5kIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSB3cm9uZyBidWZmZXIsIGFzIHVwZGF0ZXMgdG8KCSAgdGhlICJjdXJyZW50IiBzZWdtZW50IGxhc3Rfc3RvcCAoZnJvbSBpbmNvbWluZyBidWZmZXIgdGltZXN0YW1wKQoJICB3aWxsIGJlIGFwcGxpZWQgdG8gYW4gb3V0cHV0IGJ1ZmZlciBvcmlnaW5hdGluZyBmcm9tIHRoZSBwcmV2aW91cwoJICBpbmNvbWluZyBidWZmZXIuCgkgIFRoaXMgZml4ZXMgdGhlIGlzc3VlIGJ5IGVuc3VyaW5nIHRoYXQsIHVwb24gcmVjZWl2aW5nIHRoZSBmaXJzdAoJICBhdWRpbyBmcmFtZSwgcHJvY2Vzc2luZyBpcyBkb25lIHRpbGwgYWxsIG1ldGFkYXRhIGlzIHByb2Nlc3NlZCwKCSAgc28gdGhlIG5leHQgInNpbmdsZSBzdGVwIiBkb25lIHdpbGwgYmUgZm9yIHRoZSBhdWRpbyBmcmFtZS4gQWZ0ZXIKCSAgdGhpcywgd2Ugc2hvdWxkIGtlZXAgdG8gMSBpbnB1dCBidWZmZXIgLT4gMSBvdXRwdXQgYnVmZmVyIGFuZCBzbwoJICBhdm9pZCBnZXR0aW5nIG91dCBvZiBzeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTYwCgoyMDExLTA4LTE3IDExOjE3OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xNiAxNTozMjowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGJhaWwgb24gcmVzZXJ2ZWQgdmFsdWUKCSAgTm93IHRoYXQgd2UgbG9vayBhdCB0aGUgcmlnaHQgYml0cywgd2UgY2FuIHRlc3QgYWdhaW5zdCB0aGUgcmVzZXJ2ZWQKCSAgdmFsdWUgYXMgd2UgZG8gZm9yIG90aGVyIGZpZWxkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNiAxNToyNzo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBiaXQgdHdpZGRsaW5nCgkgIFJpZ2h0IHNoaWZ0aW5nIGEgOCBiaXQgdmFsdWUgYnkgOCBiaXRzIGlzIHR3aWNlIHRvbyBtdWNoCgkgIHRvIGdldCB0aGUgaGlnaCA0IGJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTU6MjI6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiB3YXJuIGlmIHdlIHNlZSBhIHZhcmlhYmxlIGJsb2NrIHNpemUgd2hlcmUgdW5zdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNiAxODoyNToyOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGF2b2lkIGNyYXNoaW5nIGJ5IHJlc2V0dGluZyB0aGUgY29ycmVjdCBudW1iZXIgb2YgY2hhbm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjYwNgoKMjAxMS0wOC0xNiAxODozNTo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTEtMDgtMTYgMTM6MTY6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggb2ZmIGJ5IG9uZSBpbiBmcmFtZSBzaXplIGNoZWNrCgkgIFllcywgSSB3YXMgdHJhY2tpbmcgYW5vdGhlciBidWcgYW5kIHRoZSBzbWFsbCB0ZXN0IGZpbGUgSSBnZW5lcmF0ZWQKCSAgdG8gdGVzdCB3aXRoIGltcHJvYmFibHkganVzdCBoYXBwZW5lZCB0byB0cmlnZ2VyIHRoaXMsIHdpdGggYSBzZWNvbmQKCSAgYW5kIGxhc3QgZnJhbWUgb2YgMTYxNSBieXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0OQoKMjAxMS0wOC0xNSAxMjoxOToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBfbmVnb3RpYXRlZF9jYXBzKCkgY2hhbmdlCgoyMDExLTA4LTE0IDIwOjQ2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2Mi4zLjAuaHRtbDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1mcmFtZXMudHh0OgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLXN0cnVjdHVyZS50eHQ6CgkgIGlkM2RlbXV4OiByZW1vdmUgc3BlY3MgZnJvbSBnaXQgYXMgd2VsbCBub3cgdGhhdCBwYXJzaW5nIGNvZGUgaXMgaW4gLWJhc2UKCjIwMTEtMDctMTQgMTU6NDI6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IHVzZSAtYmFzZSBwcm92aWRlZCBpZDMgdGFnIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDM4OAoKMjAxMS0wOC0xMyAxNjo1MToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFja2F1ZGlvc3JjOiBmaXggZXJyb3IgbWVzc2FnZSBjb2RlCgkgIEFuZCBhbHNvIHBvc3QgJ25vdCBmb3VuZCcgZXJyb3IgaWYgamFja2QgaXMgbm90IGV2ZW4gaW5zdGFsbGVkLgoKMjAxMS0wOC0xMiAxNjozMjo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXRpYWxpemUgYml0cmF0ZSB2YXJpYWJsZSBhbmQgcmVzZXQgZm9yIGVhY2ggbG9vcAoJICBEb24ndCBjaGVjayBldmVudHVhbGx5IHVuc2V0IHZhcmlhYmxlIGFuZCBkb24ndCBhY2NpZGVudGlhbGx5IHVzZSB2YWx1ZXMgZnJvbSBsYXN0CgkgIGN5Y2xlLgoKMjAxMS0wOC0xMCAxMToyODoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTEtMDgtMDkgMTE6Mjg6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQcm9wZXJseSBlcnJvciBvdXQgaWYgU0RQIGNvbnRhaW5zIG5vIHN0cmVhbXMKCSAgQWxzbyBmaXhlcyB1bml0aWFsaXplZCB2YXJpYWJsZSBlcnJvciBvbiBtYWNvc3guCgoyMDExLTA4LTA5IDA5OjA1OjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogY2xlYXIgZmxhZ3Mgb24gYnVmZmVyIHJldXNlCgkgIFRoaXMgd2lsbCBlbnN1cmUgYSBsb2dpY2FsbHkgbmV3IGJ1ZmZlciBkb2VzIG5vdCBrZWVwIGZsYWdzIGZyb20KCSAgYSBwcmV2aW91cyB1c2Ugb2YgdGhhdCBidWZmZXIgKGVnLCBESVNDT05UIHdvdWxkIGJlIHNldCBvbiB0aGUgZmlyc3QKCSAgYnVmZmVyLCBhbmQgbWlzdGFrZW5seSBrZXB0IHdoZW4gcmV1c2VkKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MzcwOQoKMjAxMS0wOC0wOCAxMDo1NDoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHRha2UgY2FyZSBub3QgdG8gY2hhbmdlIHRoZSBjdXJyZW50IGZvcm1hdCB3aGVyZSBhcHByb3ByaWF0ZQoJICBTb21lIGRyaXZlcnMgYXJlIGJ1Z2d5IGFyZSB3aWxsIGNoYW5nZSB0aGUgY3VycmVudCBmb3JtYXQgd2hlbgoJICBwcm9jZXNzaW5nIFZJRElPQ19UUllfRk1ULiBTYXZlIGFuZCByZXN0b3JlIHRoZSBjdXJyZW50IGZvcm1hdAoJICB0byBlbnN1cmUgdGhlIGZvcm1hdCBpcyBrZXB0IHVuY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2NwoKMjAxMS0wOC0wOCAxNToyNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wOC0wOCAxNToyNjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgIGFhbGliOiBtYWtlIHN1cmUgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSBpcyBkZWZpbmVkCgkgIFNvIHdlIGRvbid0IGdldCB3YXJuaW5ncy4KCjIwMTEtMDgtMDggMTU6MjU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgdjRsMjogdXBkYXRlIGZvciBHc3RYT3ZlcmxheSA9PiBHc3RWaWRlb092ZXJsYXkgcmVuYW1lCgoyMDExLTA4LTA3IDEyOjIzOjI2ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogVXNlIGZyYWN0aW9uIGNvbXBhcmUgdXRpbCBmdW5jdGlvbi4KCSAgVXNlIHRoZSBmcmFjdGlvbiBjb21wYXJlIHV0aWxpdHkgdG8gY29tcGFyZSBmdW5jdGlvbiwgbm90IHRoZQoJICBoYW5kY3JhZnRlZCBvbmUuIFRoZSBoYW5kY3JhZnRlZCBvbmUgaXMgYnVnZ3kgYXMgaXQgZG9lc24ndCB0YWtlIGludG8KCSAgYWNjb3VudCByb3VuZGluZyBlcnJvci4gRm9yIGV4YW1wbGUgY29tcGFyaW5nIGEgZnJhbWVyYXRlIG9mIDIwLzEgb24gYQoJICBjYW1lcmEgY29uZmlndXJlZCBhcyAzMC8xIGZwcyB3b3VsZCB5aWVsZCB0cnVlOiAxID09ICgxICogMjApLzMwIGFuZCBub3QKCSAgcmUtY29uZmlndXJlIHRoZSBjYW1lcmEuIEZpeGVzICM2NTYxMDQKCjIwMTEtMDgtMDcgMTE6MTQ6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBhdm9pZCByYWNlIGluIHN0YXJ0aW5nCgkgIFNpbmUgdGhlIGJhc2UgY2xhc3Mgbm93IGRvZXMgdGhlIG5lZ290aWF0aW9uIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgd2UgaGF2ZQoJICB0byBiZSBjYXJlZnVsIGFuZCBjaGVjayBpZiB0aGUgc3RyZWFtIGlzIHJlYWR5IGJlZm9yZSBjaGFuZ2luZyBpdHMgY29ya2VkIHN0YXRlLgoKMjAxMS0wOC0wNSAxMjoyNzoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IFVzZSBHU1RfQ0ZMQUdTIHdoZW4gYnVpbGRpbmcgdGVzdHMKCSAgRW5zdXJlcyB3ZSBoYXZlIHRoZSBwcm9wZXIgZGVmaW5lIGZvciB1c2luZyB1bnN0YWJsZSBBUEkKCjIwMTEtMDgtMDUgMDg6NTk6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogZml4dXAgYWZ0ZXIgc21hbGwgYXBpIGNoYW5nZXMKCSAgUG9ydCB0byByZWNlbnRseSBjaGFuZ2VkIGFwaSBzbyB0aGF0IGl0IGNvbXBpbGVzIGFnYWluLgoKMjAxMS0wOC0wNSAxMTozMjo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICB5NG1lbmM6IE5vdyBkZXBlbmRzIG9uIGxpYmdzdHZpZGVvCgoyMDExLTA4LTA0IDE4OjQxOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBtb3JlIGNsZWFudXBzCgoyMDExLTA4LTA0IDE4OjE1OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzbWFsbCBjbGVhbnVwcwoKMjAxMS0wOC0wNCAxNjozNTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogY2FsbCBzZXRfY2FwcyBtZXRob2Qgb2YgYmFzZWNsYXNzCgkgIENhbGwgdGhlIGJhc2VjbGFzcyBzZXRfY2FwcyBmdW5jdGlvbiB0byBtYWtlIGl0IHNlbmQgdGhlIGNhcHMgZXZlbnQgYW5kCgkgIHByb3Blcmx5IHRyaWdnZXIgdGhlIG5lZ290aWF0aW9uIGZ1bmN0aW9ucy4KCjIwMTEtMDgtMDQgMTY6MjU6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNtYWxsIGNsZWFudXBzCgoyMDExLTA4LTA0IDE1OjI1OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IHBvcnQgdG8gbmV3IGNhcHMKCjIwMTEtMDgtMDQgMTM6NTI6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFNpemUgdmFyaWFibGUgc2hvdWxkIGJlIGEgZ3VpbnQgYW5kIG5vdCBhIGdzaXplCgoyMDExLTA4LTA0IDEyOjUwOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogYWN0aXZhdGUgdGhlIHBvb2wgaW4gZmFsbGJhY2sKCSAgV2hlbiBub2JvZHkgaXMgdXNpbmcgb3VyIHBvb2wsIGFjdGl2YXRlIGl0IG91cnNlbHZlcy4KCSAgQXZvaWQgbGVha2luZyB0aGUgYnVmZmVyIGFycmF5LgoJICBTZXQgZGVmYXVsdCBwb29sIGNvbmZpZ3VyYXRpb24gd2l0aCBjYXBzLgoJICBEb24ndCBrZWVwIGN1cnJlbnRfY2FwcywgY29yZSBkb2VzIHRoYXQgZm9yIHVzIG5vdy4KCjIwMTEtMDgtMDMgMjI6NTc6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIGZpeCBjb21waWxhdGlvbgoJICBoYWwgZWxlbWVudHMgd2VyZSByZW1vdmVkLCByZW1vdmUgdGhlbSBmcm9tIGRvY3MgdG9vCgkgIGNoYW5nZSBleGFtcGxlIGZvciBwYWQtYmxvY2sgQVBJIChhY3R1YWxseSByZW1vdmUgdGhlIHBhZCBibG9jaywgYW4gYXBwbGljYXRpb24KCSAgc2hvdWxkIG5vdCBiZSBib3RoZXJlZCB3aXRoIHdvcmtpbmcgYXJvdW5kIGJ1Z3MgaW4gZWxlbWVudHMpCgoyMDExLTA4LTAzIDE4OjM3OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHBvcnQgdG8gbmV3IEFQSQoKMjAxMS0wOC0wMyAxODoyNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmMKCjIwMTEtMDgtMDMgMjI6NTA6MDUgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thOiBSZWdpc3RlciBuZXcgZGVidWcgY2F0ZWdvcnkKCSAgUmVnaXN0ZXIgdGhlIG1hdHJvc2thcmVhZGNvbW1vbiBkZWJ1ZyBjYXRlZ29yeSB3aGVuIHRoZQoJICBwbHVnaW4gaXMgbG9hZGVkIHRvIGF2b2lkIGFzc2VydGlvbiBvdXRwdXQgd2hlbiBkZWJ1ZyBpcyB0dXJuZWQgb24uCgoyMDExLTA4LTAzIDEzOjM4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB0ZXN0L2lja2xlczogUG9ydCBnZGtwaXhidWZzaW5rIHRlc3QKCjIwMTEtMDgtMDMgMTM6MzM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgUmV2ZXJ0ICJ0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhdXRvZGV0ZWN0IHRlc3QgdGVtcG9yYXJpbHksIHNvIHRoYXQgdGhlIGJ1aWxkIGJvdHMgdXBkYXRlIC1iYWQgYW5kIHRoZSByYW5rcyBvZiB1bnIuLi4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDc1YWVkOGFmNmQyYTU3YzFkMjE0OTBjODI0ZTc1NGE2YjIzNjdhOS4KCSAgSXQgd29uJ3QgY29uc2lkZXIgZWxlbWVudHMgZnJvbSBhbnl3aGVyZSBlbHNlIGFueW1vcmUKCjIwMTEtMDgtMDMgMTM6MTA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBjaGVjazogVXBkYXRlIHBhcnNlciBtaW5pLWxpYiB0byAwLjExIEFQSQoKMjAxMS0wOC0wMyAxMzowOTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBmb3IgbW9kaWZpZWQgc291cmNlIGZpbGUgbG9jYXRpb24KCjIwMTEtMDgtMDMgMTM6MDg6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGNhaXJvX2dvYmplY3QgaXNuJ3QgcG9ydGVkIGVpdGhlcgoKMjAxMS0wOC0wMyAxMDo1OTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuaDoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmg6CgkqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuYzoKCSogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5oOgoJKiBleHQvaGFsL2hhbC5jOgoJKiBleHQvaGFsL2hhbC5oOgoJICBoYWw6IFJlbW92ZSBoYWwgcGx1Z2luCgkgIGhhbCBpcyBub3QgZGV2ZWxvcGVkIGFueW1vcmUgYW5kIG5vYm9keSBpcyB1c2luZyB0aGUgcGx1Z2luIG5vd2FkYXlzLgoKMjAxMS0wNy0yOSAxMzowMzo1NSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb2Z0ZW4gYXNzZXJ0aW9uIGNoZWNrIG9uIHN0cmVhbSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU1NzAKCjIwMTEtMDgtMDMgMTA6MDk6NDIgKzAyMDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWRkIHN1cHBvcnQgZm9yIEguMjY0IHBheWxvYWQgaW4gTUpQRUcgY29udGFpbmVyCgkgIFNlZSBodHRwOi8vd3d3LnF1aWNrY2FtdGVhbS5uZXQvdXZjLWgyNjQvVVNCX1ZpZGVvX1BheWxvYWRfSC4yNjRfMC44Ny5wZGYKCSAgRml4ZXMgYnVnICM2NTU1MzAuCgoyMDExLTA4LTAyIDIyOjA1OjA4IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBqYWNrYXVkaW9zaW5rOiBEb24ndCBjYWxsIGdfYWxsb2NhKCkgaW4gcHJvY2Vzc19jYgoJICBnX2FsbG9jYSgpIGlzIG5vdCBSVC1zYWZlLCBzbyBpbnN0ZWFkIHdlIHNob3VsZCBhbGxvY2F0ZSB0aGUKCSAgbWVtb3J5IG5lZWRlZCBpbiBhZHZhbmNlLiBGaXhlcyAjNjU1ODY2CgoyMDExLTA4LTAzIDA4OjU4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgaGFsIHRvIHRoZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMyAwODo1MzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIG1vbm9zY29wZSB0byB0aGUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDMgMDg6NTE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBGaXggdW51c2VkIGJ1dCBzZXQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDgtMDIgMjM6NDI6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGRvY3M6IGZpeCB0d28gbW9yZSBTaW5jZTogdGFncwoKMjAxMS0wNy0zMSAwNDoxOTowMCArMDMwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggU2luY2UgdGFncyBmb3IgZmllbGRhbmFseXNpcyByZWxhdGVkIG5ldyBwcm9wZXJ0aWVzCgkgIGNvbW1pdCBjMWIxMDBjZjljIGlzIGFmdGVyIDAuMTAuMjkgYW5kIDAuMTAuMzAgd2FzIGEgYnJhbmNoZWQgcmVsZWFzZS4KCSAgU28gZml4IFNpbmNlIHRhZ3MgZnJvbSAwLjEwLjI5IHRvIDAuMTAuMzEgZm9yIHRoZSBuZXcgcHJvcGVydGllcy4KCjIwMTEtMDgtMDIgMTE6NTE6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IGZpeCBwb3J0aW5nIGVycm9yCgoyMDExLTA4LTAyIDExOjI5OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEZWZpbmUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDIgMTE6Mjk6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHN1Ym1vZHVsZQoKMjAxMS0wOC0wMiAxMToxNzozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogU29ydCBBR19HU1RfQ0hFQ0tfUExVR0lOIGFscGhhYmV0aWNhbGx5CgoyMDExLTA3LTI5IDE3OjI3OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJICAtZ29vZDogZml4IGZvciBidWZmZXJwb29sIEFQSSBjaGFuZ2UKCjIwMTEtMDctMjkgMTc6MjE6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDogY2hhbmdlIGZvciBuZXcgQVBJCgoyMDExLTA3LTI5IDEzOjA1OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggdmFyaWFibGUtc2V0LWJ1dC1ub3QtdXNlZCBjb21waWxlciB3YXJuaW5nIHdpdGggb2xkZXIgcHVsc2UgdmVyc2lvbnMKCjIwMTEtMDctMjkgMTI6MDc6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBwcm9wZXJseSBpbml0IHJ0Y3BfbWluX2ludGVydmFsCgoyMDExLTAzLTA5IDExOjA0OjM2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlc2luazogQWRkIHN1cHBvcnQgZm9yIGNvbXByZXNzZWQgZm9ybWF0cwoJICBUaGlzIGFkZHMgc3VwcG9ydCBmb3IgdmFyaW91cyBjb21wcmVzc2VkIGZvcm1hdHMgKEFDMywgRS1BQzMsIERUUyBhbmQKCSAgTVAzKSBwYXlsb2FkZWQgaW4gSUVDIDYxOTM3IGZvcm1hdCAodXNlZCBmb3IgdHJhbnNtaXNzaW9uIG92ZXIgUy9QRElGLAoJICBIRE1JIGFuZCBCbHVldG9vdGgpLgoJICBUaGUgYWNjZXB0Y2FwcygpIGZ1bmN0aW9uIGFsbG93cyBiaW5zIHRvIHByb2JlIGZvciB3aGF0IGZvcm1hdHMgdGhlIHNpbmsKCSAgYmVpbmcgY29ubmVjdGVkIHRvIHN1cHBvcnQuIFRoaXMgb25seSB3b3JrcyBhZnRlciB0aGUgZWxlbWVudCBpcyBzZXQgdG8KCSAgYXQgbGVhc3QgUkVBRFkuCgkgIElmIHRoZSB1bmRlcmx5aW5nIHNpbmsgY2hhbmdlcyBhbmQgdGhlIGZvcm1hdCB3ZSBhcmUgc3RyZWFtaW5nIGlzIG5vdAoJICBhdmFpbGFibGUsIHdlIGVtaXQgYSBtZXNzYWdlIHRoYXQgd2lsbCBhbGxvdyB1cHN0cmVhbSBlbGVtZW50cy9iaW5zIHRvCgkgIGJsb2NrIGFuZCByZW5lZ290aWF0ZSBhIG5ldyBmb3JtYXQuCgoyMDExLTAzLTAxIDE1OjM0OjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VzaW5rOiBVc2UgdGhlIGV4dGVuZGVkIHN0cmVhbSBBUEkgaWYgYXZhaWxhYmxlCgkgIFRoaXMgdXNlcyB0aGUgbmV3IGV4dGVuZGVkIEFQSSBmb3IgY3JlYXRpbmcgc3RyZWFtcy4gVGhpcyB3aWxsIGFsbG93IHVzCgkgIHRvIHN1cHBvcnQgY29tcHJlc3NlZCBmb3JtYXRzIG5hdGl2ZWx5IGluIHB1bHNlc2luayBhcyB3ZWxsLgoKMjAxMS0wNy0yOSAwMDowNzo1MiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBBZGQgYSBzb3VyY2Utb3V0cHV0LWluZGV4IHByb3BlcnR5CgkgIFRoaXMgZXhwb3NlcyB0aGUgc291cmNlIG91dHB1dCBpbmRleCBvZiB0aGUgcmVjb3JkIHN0cmVhbSB0aGF0IHdlIG9wZW4KCSAgc28gdGhhdCBjbGllbnRzIGNhbiB1c2UgdGhpcyB3aXRoIHRoZSBpbnRyb3NwZWN0aW9uIGlmIHRoZXkgd2FudCAodG8KCSAgbW92ZSB0aGUgc3RyZWFtLCBmb3IgZXhhbXBsZSkuCgoyMDExLTA3LTI4IDE0OjQ0OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGtlZXAgYSByZWYgb24gdGhlIHNyYyBwYWQgd2hpbGUgdXNpbmcgaXQKCSAgUHJldmVudCBhIHBvc3NpYmxlIHJhY2UgaWYgY2xlYXJfc3NyYygpIGlzIGNhbGxlZCBiZXR3ZWVuIGdldHRpbmcgdGhlIHBhZCBhbmQKCSAgZG9pbmcgdGhlIHB1c2guCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MTYKCjIwMTEtMDUtMjQgMTE6Mjk6NTcgKzAzMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHJ0cHNzcmNkZW11eDogTWFrZSB0aGUgcGFkcyBsb2NrIHJlY3Vyc2l2ZSBhbmQgaG9sZCBpdCBhY3Jvc3MgdGhlIHNpZ25hbCBlbWl0CgkgIFdlIG5lZWQgdG8ga2VlcCB0aGUgbG9jayBoZWxkIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCBhIHB1c2ggYmVmb3JlIHRoZSAibmV3LXNzcmMtcGFkIgoJICBoYW5kbGVyIGhhcyBjb21wbGV0ZWQuIEJ1dCB3ZSBtYXkgd2FudCB0byBwdXNoIGFuIGV2ZW50IGZyb20gaW5zaWRlIHRoYXQgaGFuZGxlciwgaGVuY2UKCSAgdGhlIHJlY3Vyc2l2ZSBtdXRleC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkxNgoKMjAxMS0wNS0yNCAxMToxNzoyNSArMDMwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFVzZSBQQURzIGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkxNgoKMjAxMS0wNy0yOCAxMTowOTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiB1cGRhdGUgZm9yIHBvc2l0aW9uL3F1ZXJ5L2NvbnZlcnQgQVBJIGNoYW5nZXMKCjIwMTEtMDctMjggMTA6NTQ6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZ3N0OiB1ZHBhdGUgZm9yIHBvc2l0aW9uL2R1cmF0aW9uL2NvbnZlcnQgcXVlcnkgQVBJIGNoYW5nZXMKCjIwMTEtMDctMjggMDA6Mzc6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0YXZpZGVtdXguYzogSW4gZnVuY3Rpb24gJ2dzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtJzoKCSAgZ3N0YXZpZGVtdXguYzoxMjYxOjI0OiBlcnJvcjogJ2RhdGEnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj11bmluaXRpYWxpemVkXQoJICBnc3RhdmlkZW11eC5jOjEyMDQ6MTE6IG5vdGU6ICdkYXRhJyB3YXMgZGVjbGFyZWQgaGVyZQoKMjAxMS0wNy0yNyAxODoxNToyMCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IENvcGUgd2l0aCBGVS1BIEUgYml0IG5vdCBiZWluZyBzZXQKCSAgU29tZSBoMjY0IHBheWxvYWRlcnMgYXJlIHVuZm9ydHVuYXRlbHkgYnVnZ3kgYW5kIGRvbid0IGNvcnJlY3RseSBzZXQgdGhlCgkgIEUgYml0IGluIEZVLUEgTkFMIHdoZW4gdGhleSBoYXZlIGVuZGVkLiBXb3JrIGFyb3VuZCB0aGlzIGJ5IGFzc3VtaW5nCgkgIHN1Y2ggYSBmcmFnbWVudGF0aW9uIHVuaXQgaGFzIGVuZGVkIHdoZW4gdGhlcmUgd2FzIG5vIHBhY2tldCBsb3NzIGFuZCBhCgkgIG5ldyBOQUwgaXMgc3RhcnRlZAoKMjAxMS0wNC0xMiAxNzowMTo0NyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IFN1cHBvcnQgc3dpdGNoaW5nIGFsaWdubWVudCBvbi10aGUtZmx5CgkgIFRoaXMgYWxsb3dzIHN3aXRjaGluZyBvZiBhbGlnbm1lbnQgZm9yIEUtQUMzIHN0cmVhbXMgYXQgcnVuLXRpbWUuIFRoaXMKCSAgaXMgcmVxdWVzdGVkIGJ5IGRvd25zdHJlYW0gZWxlbWVudHMgdmlhIGEgY3VzdG9tIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMzEzCgoyMDExLTA3LTI3IDE2OjQ2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCSAgVXNlIHRoZSBtb3JlIHNwZWNpYWxpemVkIHR5cGUgZm9yIHRoZSBidWZmZXJwb29sLgoJICBVc2UgdGhlIHNpemUgZnJvbSB0aGUgZHJpdmVyIGFzIHRoZSBzaXplIG9mIHRoZSBpbWFnZSB0byByZWFkLgoJICBEb24ndCBjb25maWd1cmUgdGhlIHBvb2wgd2hlbiBjcmVhdGVkLiBUaGlzIHdpbGwgYmUgZG9uZSBpbiB0aGUgc2V0dXBfYWxsb2NhdGlvbgoJICBtZXRob2QgbGF0ZXIgb3IgYnkgdXBzdHJlYW0gZm9yIHNpbmtzLgoJICBSZW1vdmUgdW51c2VkIHByb3BlcnRpZXMgYW5kIHZhcmlhYmxlcy4gQnVmZmVycG9vbCBzaXplcyBhcmUgbm93IGNvbmZpZ3VyZWQgaW4KCSAgdGhlIGJ1ZmZlcnBvb2wgYnkgdGhlIGVsZW1lbnRzIGluIHRoZSBwaXBlbGluZS4gV2UgbWlnaHQgd2FudCB0byBpbmZsdWVuY2UgdGhlCgkgIHBvb2wgc2l6ZSBsYXRlciBzb21laG93LgoKMjAxMS0wNy0yNyAxMzo0NjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA3LTI3IDEzOjQzOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBhZGQgbWV0YWRhdGEKCjIwMTEtMDctMjcgMTM6NDE6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICBidWZmZXJwb29sOiBjaGVjayBmb3IgbWV0YWRhdGEKCSAgT25seSBhZGQgdmlkZW8gbWV0YWRhdGEgd2hlbiBpdCB3YXMgY29uZmlndXJlZCBpbiB0aGUgcG9vbC4gRmFpbCBpZiB0aGVyZSB3YXMgbm8KCSAgdmlkZW8gbWV0YWRhdGEgY29uZmlndXJlZCBhbmQgdGhlIHN0cmlkZXMgYXJlIG5vdCB0aGUgZGVmYXVsdCBvbmVzLgoKMjAxMS0wNy0yNyAxMjo0MjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICB3YXJwOiBhZGQgc3RyaWRlIHN1cHBvcnQKCjIwMTEtMDctMjcgMTI6NDE6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFkZCBjb2xvcnNwYWNlIHRvIGRlYnVnCgoyMDExLTA3LTI2IDE3OjQ1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogZml4IGNvbXBpbGF0aW9uCgoyMDExLTA3LTI2IDE2OjE1OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogcmVuYW1lIGEgdmFyaWFibGUKCSAgUmVuYW1lIHRoZSBzaXplIHZhcmlhYmxlIHRvIHNpemVpbWFnZSBhbmQgZmlsbCBpdCB3aXRoIHRoZSBzaXplIHRoYXQgaGFzIGJlZW4KCSAgZ2l2ZW4gdG8gdXNlIGJ5IHRoZSB2NGwyIGRyaXZlciBpbnN0ZWFkIG9mIG1ha2luZyBzb21ldGhpbmcgdXAuLgoKMjAxMS0wNy0yNiAxMzoxODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHVzZSBuZXcgc2V0dXBfYWxsb2NhdGlvbiB2bWV0aG9kCgoyMDExLTA3LTI2IDEwOjU2OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wbGVtZW50IG1vcmUgYml0cyBvZiBSVyBJL08gbW9kZQoJICBJbXBsZW1lbnQgdGhlIHJlbGFlc2Ugb2YgUlcgYnVmZmVycyBpbiB0aGUgcG9vbC4KCSAgV2FybiBmb3IgdW5zdXBwb3J0ZWQgd3JpdGUoKSBtb2RlIGZvciBzaW5rcy4KCjIwMTEtMDctMjYgMTA6NTQ6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGltcHJvdmUgSU8gbW9kZSBlcnJvciBoYW5kbGluZwoJICBFcnJvciBvdXQgd2hlbiBhbiB1bnN1cHBvcnRlZCBJTyBtb2RlIHdhcyBzZWxlY3RlZAoKMjAxMS0wNC0wOSAxMjoyNjo1NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBJRUMgNjE5MzcgYWxpZ25tZW50CgkgIFdoZW4gcHVzaGluZyBvdXQgYnVmZmVycyBvdmVyIFMvUERJRiBvciBIRE1JLCBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICByZXF1aXJlcyBlYWNoIGJ1ZmZlciB0byBjb250YWluIDYgYmxvY2tzIGZyb20gZWFjaCBzdWJzdHJlYW0uIFRoaXMgYWRkcwoJICBjb2RlIHRvIGNvbGxlY3QgYWxsIHRoZSBmcmFtZXMgbmVlZGVkIHRvIG1lZXQgdGhpcyByZXF1aXJlbWVudCBiZWZvcmUKCSAgcHVzaGluZyBvdXQgYSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAzMTMKCjIwMTEtMDYtMDggMTU6NTc6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWx3YXlzIHNlbmQgYXBwbGljYXRpb24gcmVxdWVzdGVkIGZlZWRiYWNrIGluIGltbWVkaWF0ZSBtb2RlCgkgIFNlbmQgYXMgbWFueSBhcHBsaWNhdGlvbiByZXF1ZXN0ZWQgZmVlZGJhY2sgbWVzc2FnZXMgaW4gaW1tZWRpYXRlIG1vZGUsIGV2ZW4gaWYgdGhleQoJICBoYXZlIGFscmVhZHkgYmVlbiBzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NTgzCgoyMDExLTA2LTA4IDE0OjQ4OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEb24ndCBsZXQgdGhlIGNvbXB1dGVkIFJUUCBiYW5kd2lkdGggZmFsbCB0b28gbG93CgkgIElmIGl0IGZhbGxzIHRvbyBsb3csIHRoZSBjb21wdXRlZCBSVENQIGJhbmR3aWR0aCB3aWxsIGJlIG5lYXIgemVybyBhbmQKCSAgdGhlIFJUQ1AgdGhyZWFkIHdpbGwgYmUgc3RvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU4MwoKMjAxMS0wNC0yNSAxNjoxMzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBXYWl0IGxvbmdlciB0byB0aW1lb3V0IFNTUkMgY29sbGlzaW9uCgkgIFVzaW5nIHRoZSBjdXJyZW50IFJUQ1AgaW50ZXJ2YWwgdG8gdGltZW91dCBTU1JDIGNvbGxpc2lvbiBjYW4gbGVhZCB0bwoJICBjb2xsaXNpb25zIGJlaW5nIHRpbWVkIG91dCBpbW1lZGlhdGVseSBpZiBhIEJZRSBwYWNrZXQgaXMgc2VudCBiZWNhdXNlCgkgIGl0IGlzIHNlbnQgaW1tZWRpYXRlbHksIHNvIHRoZSBpbnRlcnZhbCBpcyAwLiBUaGlzIGlzIG5vdCB3aGF0IHdlCgkgIHdhbnQuIFNvIGp1c3Qgc2V0IGEgc3RhdGljIDEwIHRpbWVzIHRoZSBkZWZhdWx0IFJUQ1AgaW50ZXJ2YWwsIGl0CgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODY0MgoKMjAxMS0wNy0yNSAxNTo1MToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgbWV0aG9kCgoyMDExLTA3LTI1IDE1OjM4OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggZmx1c2hpbmcgc3RhcnQgYW5kIHN0b3AKCSAgTW92ZSB0aGUgZmx1c2hpbmcgY2FsbHMgdG8gdGhlIHJpZ2h0IHBsYWNlIGluIHRoZSBidWZmZXJwb29sLgoJICBGaXggdGhlIG1pbiBhbmQgbWF4IGJ1ZmZlciBzaXplcy4KCjIwMTEtMDctMjUgMTQ6NDc6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBkZXF1ZXVlIGJ1ZmZlcnMgd2hlbiBhbGwgYXJlIHF1ZXVlZAoJICBQcmVmZXIgdG8gYWx3YXlzIHVzZSB0aGUgZGVmYXVsdCBidWZmZXJwb29sIHF1ZXVlIGZvciB0aGUgX2FjcXVpcmUgZnVuY3Rpb24KCSAgYmVjYXVzZSBpdCBwcm9wZXJseSBzdXBwb3J0cyB1bmJsb2NraW5nIHdoZW4gc2V0dGluZyBpbmFjdGl2ZSBldGMuIEFzIGEgcmVzdWx0LAoJICB3ZSBuZWVkIHRvIGRlcXVldWUgYnVmZmVycyBhbmQgcHV0IHRoZW0gYmFjayBpbiB0aGUgYnVmZmVycG9vbCBxdWV1ZSB3aGVuIHdlCgkgIGhhdmUgcXVldWVkIGFsbCBidWZmZXJzIGluIHRoZSBzaW5rLgoJICBSZW5hbWUgc29tZSB2YXJpYWJsZXMgdG8gbW9yZSBtZWFuaW5nZnVsbCBuYW1lcyB0byBhdm9pZCBhIHByb2JsZW0gd2l0aAoJICBmcmVlaW5nIHRoZSB3cm9uZyBhbW91bnQgb2YgYnVmZmVycy4KCjIwMTEtMDctMTkgMTM6Mzg6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgU09VUkNFIGZsYWcgYXQgaW5pdCB0aW1lCgkgIEZpeGVzICM2NTQ4MTYuCgoyMDExLTA3LTI1IDEwOjEwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICB2ZXJ0aWdvdHY6IGFkZCBzdHJpZGUgc3VwcG9ydAoKMjAxMS0wNy0xOSAxODoyNToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IG9ubHkgdG8gU1RSRUFNT0ZGIHdoZW4gc3RyZWFtaW5nCgkgIE9ubHkgY2FsbCBTVFJFQU1PRkYgd2hlbiB3ZSBwcmV2aW91c2x5IGNhbGxlZCBTVFJFQU1PTgoKMjAxMS0wNy0yMiAyMToyNjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgcmVwbGF5OiBmaXggZm9yIGV2ZW50IGhhbmRsZXIKCjIwMTEtMDctMjIgMjE6MTk6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkgIGZpeGVzIGZvciBldmVudCBoYW5kbGVyIGNoYW5nZXMKCjIwMTEtMDctMTggMTY6NDY6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IENvbXBsZXRlIG1lcmdlZCBBVSBvbiBtYXJrZXIgYml0CgkgIFRoZSBtYXJrZXIgYml0IG9uIGEgUlRQIHBhY2tldCBtZWFucyB0aGUgQVUgaGFzIGJlZW4gY29tcGxldGVkLCBzbyBwdXNoIGl0IG91dAoJICBpbW1lZGlhdGVseSB0byByZWR1Y2UgdGhlIGxhdGVuY3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCjIwMTEtMDctMTggMjA6Mjc6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IE9ubHkgc2V0IHRoZSBtYXJrZXIgYml0IG9uIHRoZSBsYXN0IE5BTFUgb2YgYSBtdWx0aS1OQUxVIGFjY2VzcyB1bml0CgkgIEFuIGFjY2VzcyB1bml0IGNvdWxkIGNvbnRhaW4gbXVsdGlwbGUgTkFMIHVuaXRzLCBpbiB0aGF0IGNhc2UsIG9ubHkgdGhlIGxhc3QKCSAgUlRQIHBhY2tldCBvZiB0aGUgbGFzdCBOQUxVIHNob3VsZCBoYXZlIGl0cyBtYXJrZXIgYml0IHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoKMjAxMS0wNy0yMCAwODo1Mjo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnQ6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA3LTE5IDE4OjIwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBoYW5kbGUgdW5zdXBwb3J0ZWQgZm9ybWF0cwoKMjAxMS0wNy0xOSAxNjo1OTo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBGaXggc2luayBidWZmZXJwb29sIGhhbmRsaW5nCgkgIFJlbW92ZSBvbGQgbWV0aG9kLCB1c2UgbmV3dyBfcHJvY2VzcyBtZXRob2QgZm9yIHRoZSBzaW5rLgoJICBJbmZvcm0gdGhlIHBhcmVudCBidWZmZXJwb29sIGNsYXNzIGFib3V0IHRoZSBzZXR0aW5ncyB0b28uIFRoaXMgaXMgbmVlZGVkIHRvIGxldAoJICBpdCBrbm93IGFib3V0IHRoZSBtYXgtYnVmZmVycy4KCSAgQWxsb2NhdGUgdGhlIG5lZ290aWF0ZWQgbWF4LWJ1ZmZlcnMgYW5kIGluaXRpYWxseSBtbWFwIG1pbi1idWZmZXJzLiBUaGUgaWRlYSBpcwoJICB0aGF0IHRoZSBidWZmZXJwb29sIHdpbGwgYWxsb2NhdGUgbW9yZSB3aGVuIG5lZWRlZC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIE9ubHkgcG9sbCBpbiBjYXB0dXJlIG1vZGUsIGl0IGRvZXMgbm90IHNlZW0gdG8gd29yayBpbiBwbGF5YmFjayBtb2RlIG9uIHRoaXMKCSAgYmVhZ2xlYm9hcmQuCgoyMDExLTA3LTE5IDEyOjA1OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogYXZvaWQgaGFuZ2luZyBvbiBpbnZhbGlkIHNob3J0IGlucHV0CgkgIC4uLiBhcyBpbiBzdWNoIGNhc2UgdGhlcmUgaXMgbm8gc3JjcGFkIHlldCBvbiB3aGljaCB0byBmb3J3YXJkIEVPUy4KCjIwMTEtMDctMTggMTU6MTM6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBGaXggZGVmYXVsdCB2YWx1ZSBsZWFraW5nCgkgIFJlbWVtYmVyIHRvIGZyZWUgdGhlIGRlZmF1bHQgdmFsdWUgb2YgY2xpZW50IG5hbWUsIGF2b2lkaW5nIGEKCSAgbGVhawoKMjAxMS0wNy0xOCAxODo1NDo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogTW9yZSB3b3JrIG9uIGJ1ZmZlcnBvb2xzCgkgIEFkZCBkaWZmZXJlbnQgdHJhbnNwb3J0IG1ldGhvZHMgdG8gdGhlIGJ1ZmZlcnBvb2wgKE1NQVAgYW5kIFJFQUQvV1JJVEUpCgkgIERvIG1vcmUgcGFyc2luZyBvZiB0aGUgYnVmZmVycG9vbCBjb25maWcuCgkgIFN0YXJ0IGFuZCBzdG9wIHN0cmVhbWluZyBiYXNlZCBvbiB0aGUgYnVmZmVycG9vbCBzdGF0ZS4KCSAgTWFrZSBzZXBhcmF0ZSBtZXRob2RzIGZvciBnZXR0aW5nIGEgYnVmZmVyIGZyb20gdGhlIHBvb2wgYW5kIGZpbGxpbmcgaXQgd2l0aAoJICBkYXRhLiBUaGlzIGFsbG93cyB1cyB0byBmaWxsIGJ1ZmZlcnMgZnJvbSBvdGhlciBwb29scyB0b28uIEVpdGhlciB1c2UgY29weSBvcgoJICByZWFkIHRvIGZpbGwgdXAgdGhlIHRhcmdldCBidWZmZXJzLgoJICBBZGQgcHJvcGVydHkgdG8gZm9yY2UgYSB0cmFuc2ZlciBtb2RlIGluIHY0bDJzcmMuCgkgIEluY3JlYXNlIGRlZmF1bHQgbnVtYmVyIG9mIGJ1ZmZlcnMgdG8gNC4KCSAgTmVnb3RpYXRlIGJ1ZmZlcnBvb2wgYW5kIGl0cyBwcm9wZXJ0aWVzIGluIHY0bDJzcmMuCgoyMDExLTA3LTE4IDE0OjI0OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcmVzZXQgdXBvbiBGTFVTSF9TVE9QCgkgIC4uLiB3aGljaCBpcyBwYXJ0aWN1bGFybHkgbmVlZGVkIHdoZW4gbWVyZ2luZyBOQUwgdW5pdHMsIHdoZXJlIG5vdCByZXNldHRpbmcKCSAgd291bGQgbGVhZCB0byBvdXRwdXQgb2YgYW4gb2xkZXIgKHByZS1mbHVzaCkgQVUgKHdpdGggdW5pbnRlbmRlZCB0aW1lc3RhbXApLgoKMjAxMS0wNy0xOCAxNDozMDo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG8gbm90IHVzZSBnX3NsaXN0X2ZyZWVfZnVsbAoJICAuLi4gYXMgdGhhdCBpcyBvbmx5IGluIEdMaWIgMi4yOCwgd2hpY2ggaXMgbm90IHlldCByZXF1aXJlZCBhdCB0aGlzIHRpbWUuCgoyMDExLTA3LTE4IDEwOjUyOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGFkZCBJTyBtZXRob2QgZW51bQoKMjAxMS0wNy0xOCAxMDo1MToyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGJ1ZmZlcnBvb2w6IGltcHJvdmUgX25ldyBmdW5jdGlvbgoKMjAxMS0wNy0xOCAwOTozODoyNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgbWF4LWZpbGVzIHByb3BlcnR5CgkgIEFkZCBtYXgtZmlsZXMgcHJvcGVydHkgdG8gbGltaXQgdGhlIG51bWJlciBvZiBmaWxlcyBzYXZlZCBvbiBkaXNrLgoJICBBUEk6IG11bHRpZmlsZXNpbms6Om1heC1maWxlcwoKMjAxMS0wNy0xNyAyMzozNjo1NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcmVmYWN0b3IgZmlsZSBvcGVuaW5nIGFuZCBjbG9zaW5nIGNvZGUKCjIwMTEtMDctMTYgMTk6Mzg6NTEgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIGhlYWRlciBoYXMgb25seSBvbmUgZGlzcGxheSB2YXJpYWJsZQoJICBDdXJyZW50IG1hdHJvc2thIGRlbXV4IGNhbGN1bGF0ZXMgdGhlIHBpeGVsIGFzcGVjdCByYXRpbyBvbmx5IGlmIGJvdGgKCSAgRGlzcGxheUhlaWdodCBhbmQgRGlzcGxheVdpZHRoIGFyZSBzZXQsIGJ1dCBpdCBpcyBsZWdhbCB0byB1c2Ugb25seQoJICBvbmUgdmFyaWFibGUgaWYgdGhlIG90aGVyIGlzIGVxdWFsIHRvIFBpeGVsV2lkdGggb3IgUGl4ZWxIZWlnaHQsIGF0CgkgIGxlYXN0IHRoZSBta2NsZWFuIHV0aWxpdHkgaXMgZG9pbmcgdGhhdC4gU28gdGhpcyBtYWtzZSBta2NsZWFuZWQKCSAgZmlsZXMgcGxheSBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ3NDQKCjIwMTEtMDctMTYgMjM6NDc6NTAgKzAxMDAgIEFudG9pbmUgSmFjb3V0b3QgPGFqYWNvdXRvdEBvcGVuYnNkLm9yZz4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IGZpeCBidWlsZCBvbiBQUEMgb24gb3BlbmJzZAoJICBBIG1pc3Npbmcgc3lzL3BhcmFtLmggaW5jbHVkZSByZXN1bHRzIGluOgoJICAvdXNyL2luY2x1ZGUvc3lzL3Byb2MuaDo2NDogZXJyb3I6ICdNQVhMT0dOQU1FJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhCgkgIGZ1bmN0aW9uKQoJICAvdXNyL2luY2x1ZGUvc3lzL3Byb2MuaDoyODU6IGVycm9yOiAnTUFYQ09NTEVOJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhCgkgIGZ1bmN0aW9uKQoJICB3aGVuIGNvbXBpbGluZyBnb29tIG9uIG9wZW5ic2QvcHBjLiBXZSBjYW4ganVzdCByZW1vdmUgdGhlIHR3byBzeXMvIGluY2x1ZGVzCgkgIGhlcmUsIHRoZXkgYXJlIG5vdCBuZWVkZWQgZm9yIGFueXRoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NzQ5CgoyMDExLTA3LTE1IDE3OjA2OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0xNSAxNjo1NTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wbGVtZW50IHNldHVwX2FsbG9jYXRpb24KCSAgSW1wbGVtZW50IHRoZSBzZXR1cF9hbGxvY2F0aW9uIHZtZXRob2QsIHdlJ2xsIGhvcGVmdWxseSBkbyBzb21ldGhpbmcgY2xldmVyIGluCgkgIHRoZXJlIGxhdGVyLgoKMjAxMS0wNy0xNSAxNjoyNjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaW1wcm92ZSBidWZmZXJwb29sIGNvbmZpZyBzZXR0aW5nCgkgIFBhc3MgdGhlIGNhcHMgYW5kIHRoZSBkZWZhdWx0IHZpZGVvIHNpemUgdG8gdGhlIGJ1ZmZlcnBvb2wgY29uZmlnLgoJICBEb24ndCBhY3RpdmF0ZSB0aGUgYnVmZmVycG9vbCwgdGhpcyB3aWxsIGJlIGRvbmUgYnkgdGhlIG9iamVjdCB0aGF0IGRlY2lkZXMgdG8KCSAgdXNlIHRoZSBidWZmZXJwb29sLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgZXJyb3IgcmVwb3J0aW5nLgoKMjAxMS0wNy0xNSAxMzo1MjozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGhhbmRsZSBkZXF1ZXVlaW5nIGNvcnJlY2x5CgkgIEZpcnN0IGNsZWFuIHVwIHRoZSBidWZmZXJzIGluIHRoZSBxdWV1ZSwgdGhlbiB0aGUgcmVtYWluaW5nIG9uZXMgaW4gdGhlCgkgIGRldmljZS4KCjIwMTEtMDctMTUgMTM6Mjk6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHVucmVmIGNvcGllZCBidWZmZXIKCSAgQWZ0ZXIgd2UgY29weSB0aGUgaW5jb21taW5nIGJ1ZmZlciB0byBvbmUgb2Ygb3VyIGJ1ZmZlcnBvb2wgYnVmZmVycywgdW5yZWYgdGhlCgkgIHRhcmdldCBidWZmZXIgYWZ0ZXIgcmVuZGVyaW5nIHNvIHRoYXQgaXQgaXMgcHV0IGJhY2sgaW4gdGhlIHBvb2wuCgoyMDExLTA3LTE1IDEzOjA3OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogZGVxdWV1ZSBidWZmZXJzIGZvciB0aGUgc2luawoJICBXaGVuIHdlIGhhdmUgYWxsIGJ1ZmZlcnMgcXVldWVkIGZvciBwbGF5YmFjayBhbmQgd2UgbmVlZCBhIG5ldyBlbXB0eSBidWZmZXIsCgkgIGRlcXVldWUgb25lIGFuZCByZXR1cm4gaXQuCgkgIFNldCB0aGUgcmlnaHQgc2l6ZSBmb3Igc2luayBidWZmZXJzLgoJICBJbXByb3ZlIGNvdW50aW5nIG9mIHF1ZXVlZCBidWZmZXJzLgoKMjAxMS0wNy0xNSAxMjozNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVzZSB0aGUgcGFyZW50IHF1ZXVlIGZvciB0aGUgc2luawoJICBXZSB3YW50IHRvIG1haW50YWluIGEgcXVldWUgb2YgZnJlZSBidWZmZXJzIGZvciB0aGUgc2luaywgdXNlIHRoZSBwYXJlbnQgbWV0aG9kcwoJICB0byBkbyB0aGF0LgoKMjAxMS0wNy0xNSAxMjowMDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGVycm9yIG1lc3NhZ2VzCgoyMDExLTA3LTE1IDExOjMwOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogYWRkIEFMTE9DQVRJT04gcXVlcnkgdG8gdGhlIHNpbmsKCjIwMTEtMDctMTUgMTE6Mjc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogY29udmVydCB0byBHc3RCdWZmZXJQb29sCgkgIEV4dGVuZCBmcm9tIEdzdEJ1ZmZlclBvb2wuCgkgIEhhbmRsZSB0aGUgbGlmZXRpbWUgb2YgdGhlIHBvb2wgYnVmZmVycyBjb3JyZWN0bHkgd2l0aCB0aGUgc3RhcnQvc3RvcCB2bWV0aG9kcy4KCSAgTWFwIGFjcXVpcmUgYW5kIHJlbGVhc2UgZGlyZWN0bHkgdG8gUUJVRiBhbmQgRFFCVUYuIFdlIHN0aWxsIGV4cG9zZSBhbiBleHBsaWNpdAoJICBxYnVmIGZvciB0aGUgdjRsMnNpbmsgZm9yIG5vdy4KCjIwMTEtMDctMTUgMTE6MTg6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IHJlbW92ZSBleHBlcmltZW50YWwgbWFya2VycwoKMjAxMS0wNy0xNCAyMDoxMDowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgcnRwcGNtQXBheS9kZXBheTogU3RhdGljIGNsb2NrIHJhdGVzIG9uIHN0YXRpYyBwYXlsb2FkcywgZHluYW1pYyBvbiBkeW5hbWljCgkgIFBhcnRpYWxseSByZXZlcnRzIDM5N2RjNjBiCgoyMDExLTA3LTE0IDE2OjIxOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBtZXJnZSBjb2RlCgoyMDExLTA3LTE0IDE2OjEyOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIHY0bDI6IE1vdmUgb3V0cHV0IGRldGFpbHMgdG8gZGV2aWNlIG9iamVjdAoJICBNb3ZlIHRoZSBkZXRhaWxzIG9mIGhvdyBhIGJ1ZmZlciBpcyByZW5kZXJlZCB0byB0aGUgZGV2aWNlIG9iamVjdC4KCjIwMTEtMDMtMDQgMTU6NDE6MjIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBJbXBsZW1lbnQgZ2V0Y2FwcwoJICBDb252ZXJ0IHByb2ZpbGUtbGV2ZWwtaWQgZnJvbSBSVFAgY2FwcyBpbnRvIHZpZGVvL3gtaDI2NCBzdHlsZSBjYXBzICh3aXRoIHByb2ZpbGUgYW5kIGxldmVsKQoKMjAxMS0wNy0xMyAxODozMjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBtb3ZlIGNhcHR1cmUgY29kZSB0byBkZXZpY2Ugb2JqZWN0CgkgIE1vdmUgdGhlIGRldGFpbHMgb2YgaG93IHRvIGNhcHR1cmUgdG8gdGhlIGRldmljZSBvYmplY3QuIFJlbW92ZSB0aGUKCSAgdjRsMnNyY19jYWxscy5bY2hdIGZpbGVzIGJlY2F1c2UgdGhleSBhcmUgZW1wdHkgbm93LgoJICBQcm92aWRlIHR3byBzaW1wbGUgbWV0aG9kcyB0byBnZXQgYW5kIHJldHVybiBhIGJ1ZmZlciB0byB0aGUgZGV2aWNlLgoJICBBbHNvIGRvIGEgc2xvdyBjb3B5IHdoZW4gdGhlIGJ1ZmZlciBpcyBub3QgZnJvbSBvdXIgcG9vbC4KCjIwMTEtMDctMTMgMTY6NTg6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTEtMDctMTMgMTY6NTY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBzdG9wIHN0cmVhbWluZyBpbiBSRUFEWSBhbmQgTlVMTAoKMjAxMS0wNy0xMyAxNjo0MDozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc3RhcnQgc3RyZWFtaW5nIGZvciB0aGUgb3V0cHV0IGFzIHdlbGwKCjIwMTEtMDctMTMgMTY6MzM6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogTGV0IHRoZSBkZXZpY2Ugb2JqZWN0IG1hbmFnZSB0aGUgcG9vbAoJICBSZW5hbWUgc3RhcnQgYW5kIHN0b3AgbWV0aG9kcyB0byBvcGVuIGFuZCBjbG9zZSBiZWNhdXNlIHRoYXQgaXMgd2hhdCB0aGV5IGRvLgoJICBBZnRlciBzZXR0aW5nIHRoZSBmb3JtYXQgb24gdGhlIGRldmljZSBvYmplY3QsIHNldHVwIHRoZSBidWZmZXJwb29scy4gTW92ZSB0aGlzCgkgIGNvZGUgZnJvbSB0aGUgdjRsMnNyY19jYWxscy5jIGZpbGUsIGl0IGlzIHNoYXJlZCBiZXR3ZWVuIHNvdXJjZSBhbmQgc2luay4KCSAgTWFrZSBuZXcgZGV2aWNlIHN0YXJ0IGFuZCBzdG9wIG1ldGhvZCB0aGF0IG1lcmdlcyB2YXJpb3VzIGJpdHMgb2YgY29tbW9uIGNvZGUKCSAgc3ByZWFkIG92ZXIgc2V2ZXJhbCBmaWxlcy4KCjIwMTEtMDctMTMgMTM6NTI6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogZG9uJ3Qgc3RvcmUgc3RyaWRlIGluIHRoZSB2aWRlb2luZm8KCSAgV2Ugd2FudCB0byBrZWVwIHRoZSBkZWZhdWx0IHN0cmlkZXMgaW4gdGhlIHZpZGVvaW5mby4gS2VlcCB0aGUgc3RyaWRlIG9mIHRoZQoJICB2aWRlbyBmcmFtZXMgc2VwYXJhdGUgc28gdGhhdCB3ZSBjYW4gdXNlIGJvdGggdG8gY29weSBhIHZpZGVvIGZyYW1lIGFuZCBkbwoJICBjb3JyZWN0IHN0cmlkZSBjb252ZXJzaW9uLgoKMjAxMS0wNy0xMyAxMzozODoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IFVzZSB2aWRlbyBmcmFtZSBjb3B5IGZvciByYXcgdmlkZW8KCSAgVXNlIHRoZSB2aWRlbyBmcmFtZSBjb3B5IEFQSSBmb3IgcmF3IHZpZGVvIGZyYW1lcyBzbyB0aGF0IHdlIGNvcHkgd2l0aCB0aGUgcmlnaHQKCSAgc3RyaWRlcy4KCjIwMTEtMDctMTMgMTM6Mzc6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBhZGQgdmlkZW8gbWV0YWRhdGEgdG8gcmF3IHZpZGVvIGJ1ZmZlcnMKCjIwMTEtMDctMTMgMTM6MTU6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHNtYWxsIGNsZWFudXBzCgoyMDExLTA3LTEzIDEzOjAwOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGltcHJvdmUgY2FwcyBwYXJzaW5nCgkgIFVzZSBHc3RWaWRlb0luZm8gdG8gc3RvcmUgdGhlIHBhcnNlZCBjYXBzLgoJICBSZW1vdmUgb3V0c2l6ZSBmcm9tIHRoZSBjYXBzIHBhcnNpbmcgY29kZSwgaXQncyB3cm9uZyBiZWNhdXNlIGl0IGRvZXMgbm90IHVzZQoJICB0aGUgc3RyaWRlIGdpdmVuIGJ5IHRoZSBkcml2ZXIuCgoyMDExLTA3LTEzIDExOjQwOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1c2UgZXJybm8KCjIwMTEtMDctMTMgMTE6MzY6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGhhbmRsZSBFSU5WQUwgd2l0aG91dCBwb3N0aW5nIGEgd2FybmluZwoJICBFSU5WQUwgbWVhbnMgdGhhdCBhIGNhbGwgaXMgbm90IHN1cHBvcnRlZCwgd2Ugb25seSB3YW50IHRvIHBvc3QgYSBXQVJOSU5HIHdoZW4KCSAgc29tZXRoaW5nIGlzIHJlYWxseSB3cm9uZy4KCjIwMTEtMDctMTMgMTE6Mjk6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IG9ubHkgc2V0IGZyYW1lcmF0ZSBmb3IgY2FwdHVyZSBmb3Igbm93CgoyMDExLTA3LTEzIDExOjE5OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBNb3ZlIGNvbmZpZ3VyYXRpb24gb2YgZnJhbWVyYXRlIHRvIF9zZXRfZm9ybWF0CgkgIE1vdmUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZyYW1lcmF0ZSB0byB3aGVyZSB3ZSBzZXQgdGhlIG90aGVyIGZvcm1hdAoJICBwYXJhbWV0ZXJzLgoJICBSZW1vdmUgaGFjayB0byBjaGVjayBpZiB0aGUgZGV2aWNlIGlzIGFjdGl2ZS4KCSAgU3RvcmUgc3RyZWFtcGFybSBpbiB0aGUgZGV2aWNlIGluZm8uCgkgIFVzZSBzb21lIG1hY3JvcyB0byBhY2Nlc3MgdGhlIGN1cnJlbnQgZGV2aWNlIGNvbmZpZ3VyYXRpb24uCgkgIFJlbW92ZSBzb21lIGR1cGxpY2F0ZSBmaWVsZHMgaW4gc3JjIGFuZCBzaW5rIGFuZCB1c2UgdGhlIGRldmljZSBjb25maWd1cmF0aW9uCgkgIGluc3RlYWQuCgoyMDExLTA3LTEyIDE5OjEzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggcmV0dXJuIHZhbHVlLi4uCgoyMDExLTA3LTEyIDE5OjAzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IHNpbXBsaWZ5IHNldHRpbmcgdGhlIGNhcHR1cmUgZm9ybWF0CgkgIFBhc3MgdGhlIGNhcHMgdG8gdGhlIHNldF9mb3JtYXQgZnVuY3Rpb24gYW5kIG1ha2UgX3NldF9mb3JtYXQgcGFyc2UgdGhlIGNhcHMuCgkgIEFsc28ga2VlcCB0aGUgcGFyc2VkIHZhbHVlcyBpbiB0aGUgdjRsMm9iamVjdCBzbyB0aGF0IHdlIGNhbiByZWZlciB0byB0aGVtIHdoZW4KCSAgd2Ugd2FudC4KCjIwMTEtMDctMTIgMTg6NDE6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiByZW1vdmUgbW9yZSB1bnVzZWQgcGFyYW1ldGVycwoKMjAxMS0wNy0xMiAxODoyOTozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsOiBoYW5kbGUgb2JqZWN0IG91dCBvZiB0aGUgbm9ybWFsIGZsb3cKCjIwMTEtMDctMTIgMTg6MTM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBMZXQgdGhlIGJ1ZmZlcnBvb2wgb3duIHRoZSBWNGwyT2JqZWN0CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIGZvcm1hdCBhbmQgc2V0dGluZyBpbiB0aGUKCSAgdjRsMm9iamVjdC4KCSAgUGFzcyB0aGUgdjRsMm9iamVjdCB0byB0aGUgYnVmZmVycG9vbCBjb25zdHJ1Y3RvciBzbyB0aGF0IHRoZSBidWZmZXJwb29sIGNhbgoJICBrbm93IGV2ZXJ5dGhpbmcgYWJvdXQgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIHNldHRpbmdzLiBUaGlzIGFsc28gYWxsb3dzIHVzCgkgIHRvIHJlbW92ZSBzb21lIGF3a3dhcmQgY29kZS4KCjIwMTEtMDctMTIgMTc6MDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDogcmVtb3ZlIGNhcHMgYXJndW1lbnQsIGl0J3Mgbm90IG5lZWRlZAoJICBSZW1vdmUgdGhlIGNhcHMgcGFyYW1ldGVyLCB3ZSBkb24ndCBuZWVkIGl0IGFueW1vcmUgYmVjYXVzZSB3ZSBkb24ndCBzZXQKCSAgY2FwcyBvbiBidWZmZXJzIGFueW1vcmUuCgoyMDExLTA3LTEyIDE2OjQ2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsOiBwYXNzIHRoZSBieXRlc3BlcmxpbmUgYXJvdW5kCgkgIFdoZW4gc2V0dGluZyBhIGZvcm1hdCwgcmV0dXJuIHRoZSBieXRlc3BlcmxpbmUgdG8gdGhlIGNhbGxlciBzbyB0aGF0IGl0IGNhbiBiZQoJICB1c2VkIHRvIGFsbG9jYXRlIGJ1ZmZlcnMuCgoyMDExLTA3LTEyIDE2OjQzOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgcG9vbDogbWFrZSBidWZmZXIgd3JpdGFibGUKCSAgV2UgbmVlZCB3cml0YWJsZSBidWZmZXJzIHdoZW4gd2UgbmVlZCB0byBkbyBhIHNsb3cgbWVtY3B5LgoKMjAxMS0wNy0xMiAxNTowNDozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzZWVraW5nIHJlZ3Jlc3Npb24KCSAgLi4uIGludHJvZHVjZWQgd2hlbiBzaHVmZmxpbmcgYXJvdW5kIGNvZGUgZm9yIHRoZSBhc3luYyBpbXBsZW1lbnRhdGlvbgoJICBieSBzZXR0aW5nIHN0YXRlIG9mIHNvdXJjZSAoYW5kIHVkcCBzb3VyY2VzKSBpbiBfcGxheSBiZWZvcmUgZG93bnN0cmVhbQoJICBmbHVzaGluZyBpcyB1bmRvbmUuCgoyMDExLTA3LTExIDE1OjIzOjQxICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBmaXggYnVmZmVyIGR1cmF0aW9uIG9uIGJsb2Nrcy1wZXItZnJhbWUgY2hhbmdlCgkgIFRoZSBnc3RfYmFzZV9wYXJzZV9zZXRfZnJhbWVfcmF0ZSBjYWxsIHdhcyBwcmVkaWNhdGVkIG9uIGEgY2hhbmdlIHRvCgkgIHNhbXBsZSByYXRlLCBkdXJhdGlvbiBvciBwcm9maWxlLiBIb3dldmVyLCB0aGUgYmxvY2sgY291bnQgcGVyIGZyYW1lIGNhbgoJICBhbHNvIGNoYW5nZSBiZXR3ZWVuIHBhY2tldHMsIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBpbmNvcnJlY3QgYnVmZmVyCgkgIGR1cmF0aW9ucy4KCjIwMTEtMDctMTEgMTM6NTE6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogaGFuZGxlIHBvb2xzCgkgIENyZWF0ZSBhIG5ldyBwb29sIGluIHNldGNhcHMgYW5kIHN0b3AvZGVzdHJveSB0aGUgb2xkIG9uZS4KCSAgUmVtb3ZlIGJ1ZmZlcl9hbGxvYyBmdW5jdGlvbnMuCgkgIENoZWNrIHRoYXQgd2UgaGF2ZSB2NGwyIG1ldGFkYXRhIGluIHNob3dfZnJhbWUgYW5kIGZhbGwgYmFjayB0byBtZW1jcHkgaW50byBhCgkgIGJ1ZmZlciBmcm9tIG91ciBwb29sIGlmIHdlIGRvbid0IHJlY2VpdmUgb25lIG9mIG91ciBvd24gYnVmZmVycy4KCjIwMTEtMDctMTEgMTI6MDQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogdmFyaW91cyBjbGVhbnVwcwoJICBWYXJpb3VzIGNsZWFudXBzLCBhdm9pZHMgdXNlbGVzcyBjYXN0cywgbW92ZSBlcnJvciBoYW5kbGluZyBvdXRzaWRlIG9mIHRoZSBtYWluCgkgIGNvZGUgZmxvdy4KCSAgTmVnb3RpYXRlIHRvIGEgcmVzb25hYmxlIHJlc29sdXRpb24gaW5zdGVhZCBvZiB0aGUgbWF4IHJlc29sdXRpb24uCgoyMDExLTA3LTEwIDIxOjUwOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwOiBwb3J0IHJlbWFpbmluZyB0byAwLjExCgoyMDExLTA3LTEwIDE0OjU2OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZTogcG9ydCB0byAwLjExCgoyMDExLTA3LTEwIDEzOjQ0OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtOiBwb3J0IHNvbWUgbW9yZQoJICBVc2UgdmlkZW8gaGVscGVycy4KCjIwMTEtMDctMTAgMTM6Mjg6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG06IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0xMCAxMjo0NjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgbXVsdGlwYXJ0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMTAgMTE6NDI6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTEwIDExOjQwOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSAgZGVidWc6IHBvcnQgdG8gMC4xMSwgZGlzYWJsZSBvdGhlcnMKCSAgRGlhc2FibGUgdGhlIGVmZW5jZSBhbmQgY2Fwc2RlYnVnIGVsZW1lbnRzLCBwb3J0IHRoZW0gbGF0ZXIuCgoyMDExLTA3LTA5IDE5OjIzOjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIG11bHRpZmlsZXNyYzogSW1wcm92ZSBsb29waW5nCgkgIEFkZCBzdGFydC1pbmRleCBhbmQgc3RvcC1pbmRleCBwcm9wZXJ0aWVzLgoKMjAxMS0wNi0xNiAxMzo1NzowMyArMDEwMCAgSm9ubnkgTGFtYiA8am9ubnlsYW1iQGpvbm55bGFtYi5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBtdWx0aWZpbGU6IGFkZCBsb29wIHByb3BlcnR5IHRvIG11bHRpZmlsZXNyYwoJICBGaXhlczogIzY1MjcyNwoJICBTaWduZWQtb2ZmLWJ5OiBKb25ueSBMYW1iIDxqb25ueWxhbWJAam9ubnlsYW1iLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTExLTIwIDEwOjA3OjQzICswMTAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IDE2LWJpdCBhdWRpbyBpcyBzaWduZWQsIDgtYml0IGlzIHVuc2lnbmVkLgoJICBQcmV0ZW5kaW5nIHRvIGhhbmRsZSA4LWJpdCBzaWduZWQgY2F1c2VzIGRpc3RvcnRlZCBhdWRpbyB3aGVuCgkgIGFjdHVhbGx5IGdpdmVuIHN1Y2ggYXVkaW8sIHdoaWNoIHlvdSB3aWxsIGdldCBpZiBwYXNzaW5nIDgtYml0CgkgIHVuc2lnbmVkIHRocm91Z2ggYXVkaW9jb252ZXJ0ICEgYXVkaW9yZXNhbXBsZSwgYXMgYXVkaW9yZXNhbXBsZQoJICBvbmx5IGhhbmRsZXMgOC1iaXQgc2lnbmVkLiAgRml4ZXMgIzYwNTgzNC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA4IDE2OjM3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBmaXggZ3JheSBmb3JtYXQsIHVzZSBmaWx0ZXIgaW4gZ2V0Y2FwcwoKMjAxMS0wNy0wOCAxNjoxMDo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHBvcnQgYW5kIGVuYWJsZSB2NGwyc2luawoKMjAxMS0wNy0wOCAxNDozNDo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBwb3J0IHRvIG5ldyB2aWRlbyBmb3JtYXRzCgoyMDExLTA3LTA4IDEyOjUxOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0wOCAxMjo0OToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDcgMTg6Mjc6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgYmxvY2tzIHdpdGggZHVyYXRpb249MAoJICBTb21lIHZpZGVvIGZyYW1lcywgZm9yIGV4YW1wbGUgYWx0LXJlZiBmcmFtZSBpbiBWUDgsIHdpbGwgYmUKCSAgbmV2ZXIgZGlzcGxheWVkLiBUaGlzIGlzIHdoeSBpdCBoYXMgZHVyYXRpb249MC4KCSAgVGhpcyBwYXRjaCBhbGxvdyB0byB1c2UgdGhpcyBkdXJhdGlvbi4KCSAgQnVnOiA2NTQxNzUKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNy0wNiAxNzoxODowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBkaXJlY3QgZGlyYWMgbWFwcGluZwoKMjAxMS0wNy0wNyAxNzo1OTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuaDoKCSAgZWZmZWN0djogcG9ydCBsYXN0IGVmZmVjdHYgZWxlbWVudCB0byAwLjExCgoyMDExLTA3LTA3IDE3OjQ5OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkgIGVmZmVjdHY6IHBvcnQgc3RyZWFrdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzo0MDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJICBlZmZlY3R2OiBwb3J0IHJhZGlvYWN0diB0byAwLjExCgoyMDExLTA3LTA3IDE3OjI5OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogZml4IGRvY3MKCjIwMTEtMDctMDcgMTc6Mjk6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJICBlZmZlY3R2OiBwb3J0IG9wIHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6MTg6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgZWZmZWN0djogcG9ydCBxdWFyayB0dgoKMjAxMS0wNy0wNyAxNjo1NzozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSAgZWZmZWN0djogcG9ydCByZXZ0diB0byAwLjExCgoyMDExLTA3LTA3IDE2OjQ2OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkgIGVmZmVjdHY6IHBvcnQgdmVydGlnb3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTY6Mzg6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSAgZWZmZWN0djogcG9ydCBzaGFnYWRlbGljdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxMToyMjoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IHVzZSBBTFdBWVMgc3JjIHBhZCByYXRoZXIgdGhhbiBTT01FVElNRVMKCjIwMTEtMDctMDcgMTE6MTQ6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTk6MDM6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IGJlZ2lubmluZ3Mgb2YgcG9ydGluZwoKMjAxMS0wNy0wNiAxODo1MDoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICB3YXJwdHY6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxODo1MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgZGljZToga2VlcCB0cmFjayBvZiBpbmZvCgoyMDExLTA3LTA2IDE4OjMyOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkgIGVmZmVjdHY6IHBvcnQgZGljZQoKMjAxMS0wNy0wNiAxODowOTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkgIGVmZmVjdHY6IHBvcnQgYWdpbmd0dgoKMjAxMS0wNy0wNiAxNzo1MDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkgIGFhc2luazogcG9ydCB0byBuZXcgdmlkZW8gQVBJCgoyMDExLTA3LTA2IDE3OjQwOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgIGNhY2FzaW5rOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTY6NTA6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWc6IGJlZ2lubmluZ3Mgb2YgcG9ydGluZyB0byAwLjExCgoyMDExLTA3LTA2IDE2OjMxOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdXNlIEFMV0FZUyBzb3VyY2UgcGFkIHJhdGhlciB0aGFuIFNPTUVUSU1FUwoKMjAxMS0wNy0wNiAxNjoxMDozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTY6MTA6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTI6MjI6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkanVzdCB0byB1bnNpZ25lZCBzZWdtZW50IGZpZWxkcwoKMjAxMS0wNy0wNiAxNTo1NzoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IHBvcnQgc3BlZXggZWxlbWVudHMKCjIwMTEtMDctMDYgMTI6MDU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTA2IDEwOjExOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIgYW5kIGNvcnJlc3BvbmRpbmcgcnRwIGFuZCBydGNwIGJ1ZmZlciBpbnRlcmZhY2VzCgkgICogbWlzYyBjYXBzIGFuZCBzZWdtZW50IGhhbmRsaW5nIGNoYW5nZXMKCSAgRklYTUU6IGFsc28gcmVsaWVzIG9uIGJlaW5nIGFibGUgdG8gcGFzcyBjYXBzIGFsb25nIHdpdGggYSBidWZmZXIsCgkgIHdoaWNoIGhhcyBubyBldmlkZW50IGVxdWl2YWxlbnQgeWV0LCBzbyB0aGF0IGVpdGhlciBuZWVkcyBvbmUsCgkgIG9yIHN0aWxsIG5lZWRzIHF1aXRlIHNvbWUgY29kZSBwYXRoIG1vZGlmaWNhdGlvbiB0byBkcmFnIGFsb25nIGNhcHMuCgoyMDExLTA2LTI5IDIwOjU5OjI2ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcHJldmVudCByYWNlIGNvbmRpdGlvbiBjYXVzaW5nIHJlZiBsZWFrCgkgIFNpbmNlIGNvbW1pdCA4YmZkODAsIGdzdF9wdWxzZXJpbmdidWZmZXJfc3RvcCBkb2Vzbid0IHdhaXQgZm9yIHRoZQoJICBkZWZlcnJlZCBjYWxsIHRvIGJlIHJ1biBiZWZvcmUgcmV0dXJuaW5nLiBUaGlzIGNhdXNlcyBhIHJhY2Ugd2hlbgoJICBSRUFEWS0+TlVMTCBpcyBleGVjdXRlZCBzaG9ydGx5IGFmdGVyLCB3aGljaCBzdG9wcyB0aGUgbWFpbmxvb3AuIFRoaXMKCSAgbGVha3MgdGhlIGVsZW1lbnQgcmVmZXJlbmNlIHdoaWNoIGlzIHBhc3NlZCBhcyB1c2VyZGF0YSBmb3IgdGhlIGNhbGxiYWNrCgkgIChpbnRyb2R1Y2VkIGluIGNvbW1pdCA3Y2Y5OTYsIGJ1ZyAjNjE0NzY1KS4KCSAgVGhlIGNvcnJlY3QgZml4IGlzIHRvIHdhaXQgaW4gUkVBRFktPk5VTEwgZm9yIGFsbCBvdXRzdGFuZGluZyBjYWxscyB0bwoJICBiZSBmaXJlZCAoc2luY2UgbGlicHVsc2UgZG9lc24ndCBwcm92aWRlIGEgRGVzdHJveU5vdGlmeSBmb3IgdGhlCgkgIHVzZXJkYXRhKS4gV2UgZ2V0IHJpZCBvZiB0aGUgcmVmZXJlbmNlIHBhc3NpbmcgZnJvbSA3Y2Y5OTYgYWx0b2dldGhlciwKCSAgc2luY2UgZmluYWxpemF0aW9uIGZyb20gdGhlIGNhbGxiYWNrIHdvdWxkIGFueXdheXMgbGVhZCB0byBhIGRlYWRsb2NrLgoJICBSZS1maXhlcyBidWcgIzYxNDc2NS4KCjIwMTEtMDctMDQgMDg6NTg6MTQgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc21hbGwgY2xlYW51cCBvZiBjb3B5LXBhc3RlIGNvZGUKCjIwMTEtMDYtMjkgMTk6NTA6NDIgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiByZW1vdmUgdW51c2VkIG1lbWJlciB2YXJpYWJsZSBhbmQgbWlzbGVhZGluZyBsb2cgbWVzc2FnZQoJICBXaW0gY2hhbmdlZCBpdCBpbiBjb21taXQgOGJmZDgwIHNvIHRoYXQgcGFfZGVmZXJfcmFuIGlzIG5vdCByZWFkCgkgIGFueXdoZXJlLgoJICBUaGUgbG9nIG1lc3NhZ2UgdXNlZCB0byBhbm5vdGF0ZSBhIG1haW5sb29wX3dhaXQgY2FsbCB3aGljaCBpcyBnb25lLgoKMjAxMS0wNy0wNSAxNTozNzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBmaXggY2FwcwoKMjAxMS0wNy0wNSAxMTo0MDo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJICBlZmZlY3R2OiBwb3J0IGVkZ2V0dgoKMjAxMS0wNy0wNSAxMDoxMjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCAtREdTVF9VU0VfVU5TVEFCTEVfQVBJIHRvIHRoZSBjb21waWxlciBmbGFncyB0byBhdm9pZCB3YXJuaW5ncwoKMjAxMS0wNy0wNCAxMjo1ODozOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IERvbid0IGFuc3dlciBsYW50ZW5jeSBxdWVyaWVzIGJlZm9yZSBuZWdvdGlhdGlvbgoKMjAxMS0wNy0wNCAxODoxNTo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IHBvcnQgdG8gbmV3IEFQSQoKMjAxMS0wNy0wNCAxODoxMjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiByZW1vdmUgaW1wbGVtZW50c2ludGVyZmFjZQoKMjAxMS0wNy0wNCAxODoxMDo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogZml4IGNhcHMKCjIwMTEtMDctMDQgMTg6MDY6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGE6IHBvcnQgdG8gbmV3IHZpZGVvIEFQSQoKMjAxMS0wNy0wNCAxNzowMDozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogbW9yZSBwb3J0aW5nCgoyMDExLTA3LTA0IDE2OjA5OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBwb3J0IHRvIG5ldyB2aWRlbyBhcGkKCjIwMTEtMDYtMjggMTQ6MDM6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW86IHBvcnQgdG8gbmV3IHZpZGVvIGFwaXMKCjIwMTEtMDctMDQgMTQ6MzA6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhdm9pZCBjcmFzaGluZyBvbiBpbnZhbGlkIGlucHV0IHdpdGhvdXQgY29tcG9uZW50cwoKMjAxMS0wNy0wNCAxMTowOToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgkgICogbWlzYyBzZWdtZW50IGFuZCBjYXBzIGNoYW5nZXMKCjIwMTEtMDctMDQgMTE6NDg6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoKMjAxMS0wNy0wNCAxMToyNToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHBhc3MgYWxvbmcgc2VnbWVudCBpbmZvIHRvIGNvbGxlY3RwYWRzCgkgIC4uLiBzbyBpdCBjYW4gdHJhY2sgdGhpcyBhbmQgYmUgc3Vic2VxdWVudGx5IHVzZWQgdG8gZGV0ZXJtaW5lIHJ1bm5pbmcgdGltZSBldGMuCgoyMDExLTA3LTA0IDExOjI0OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGluZGljYXRlIHJhdyBmb3JtYXQgaW4gYWFjIGNhcHMKCjIwMTEtMDctMDQgMTE6MDc6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWluZCByZXF1ZXN0ZWQgbmFtZSBmb3IgcmVxdWVzdCBwYWQKCjIwMTEtMDctMDQgMTE6MDY6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZnJlZSBzY2hlZHVsaW5nIHF1ZXJ5CgoyMDExLTA3LTAzIDE5OjUxOjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgcHVsc2U6IEluY3JlYXNlIHJhbmtzIHRvIFBSSU1BUlkgKyAxMAoJICBTbyB0aGF0IHB1bHNlc3JjL3B1bHNlc2luayBnZXQgY2hvc2VuIG92ZXIgb3RoZXIgcG9zc2libGUgUFJJTUFSWQoJICBzcmMvc2lua3MgYnkgYXV0b2F1ZGlvc2luay4gIFByZXN1bWFibHksIGlmIHB1bHNlIGlzIGF2YWlsYWJsZSwgaXQKCSAgaXMgYWx3YXlzIHByZWZlcnJlZCBvdmVyIGFub3RoZXIgc3JjL3NpbmsuCgkgIEZpeGVzOiAjNjQ3NTQwLgoKMjAxMS0wNi0zMCAxODo0Nzo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnRtdXg6IEFkZCBcclxuIHRvIHRhaWwgb2YgcHVzaGVkIGJ1ZmZlcnMKCSAgQ2xpZW50cyBzdWNoIGFzIEZpcmVmb3ggcmVxdWlyZSB0aGUgXHJcbiBhZnRlciB0aGUgcGF5bG9hZC4KCjIwMTEtMDYtMTYgMTQ6NTI6NTEgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBsb29waW5nIHdoZW4gc2VhcmNoaW5nIGZvciBjbHVzdGVycwoJICBGaXhlcyBzb21lIGJ1Z3MgdGhhdCByZXN1bHRzIGluIHRoZSBkZW11eGVyIGxvb3Bpbmcgd2hlbiBzZWFjaGluZwoJICBmb3IgY2x1c3RlcnMgaW4gbm9uLWZpbmFsaXplZCBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjE5NQoKMjAxMS0wNi0zMCAxMjozMDoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlOiBwb3J0IHRvIDAuMTAKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgkgICogbWlzYyBjYXBzIGhhbmRsaW5nCgoyMDExLTA2LTMwIDExOjM1OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGN1dHRlcjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoJICAqIG1pbm9yIG1pc2MKCjIwMTEtMDYtMzAgMTE6MTc6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmVwbGF5Z2FpbjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoKMjAxMS0wNi0zMCAxMDo1MzowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHJlbW92ZSBkZXByZWNhdGVkIHByb3BlcnR5CgoyMDExLTA2LTMwIDEwOjUxOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoKMjAxMS0wNi0zMCAxMDozODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCjIwMTEtMDYtMzAgMTA6MzA6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogcG9ydCB0byAwLjExCgoyMDExLTA2LTEwIDE4OjU0OjQ4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZml4IHJlZmVyZW5jZSBjb3VudGluZyBvZiBwYXJzZS0+c3RyZWFtaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIyODYKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTI5IDE0OjM5OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogRG9uJ3Qgcm91bmQgdXAgc2l6ZSBvZiBlbmNvZGVkIGJ1ZmZlcnMKCSAgRm9yIHNvbWUgcmVhc29uLCBpbiBjb2RlIGRhdGluZyB0byAyMDAxLCBlbmNvZGVkIGpwZWcgYnVmZmVycyB3ZXJlCgkgIHJvdW5kZWQgdXAgdG8gbXVsdGlwbGVzIG9mIDQgYnl0ZXMuICBXaXRoIHRoZSBhZGRlZCBib251cyB0aGF0IHRoZQoJICBleHRyYSBieXRlcyBhcmUgdW53cml0dGVuLCBjYXVzaW5nIHZhbGdyaW5kIGlzc3Vlcy4gIE9vcHMuICBJIGNhbid0CgkgIHRoaW5rIG9mIGFueSByZWFzb24gd2h5IEpQRUcgYnVmZmVycyBuZWVkIHRvIGJlIG11bHRpcGxlcyBvZiA0IGJ5dGVzLAoJICBzbyBJIHJlbW92ZWQgdGhlIHBhZGRpbmcuICBUaGVyZSBtaWdodCBiZSBzb21lIGNvZGUgc29tZXdoZXJlIHRoYXQKCSAgZGVwZW5kcyBvbiB0aGlzIGJlaGF2aW9yLCBzbyBpZiB0aGlzIG5lZWRzIHRvIGJlIHJldmVydGVkLCBwbGVhc2UgZml4CgkgIHRoZSB2YWxncmluZCBpc3N1ZXMuCgoyMDExLTA2LTI5IDEyOjQ2OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgaXNvbXA0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMjggMTI6NTU6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdHdlYWsgc29tZSBwb3J0ZWQgc2VnbWVudCBoYW5kbGluZwoJICAuLi4gdG8gYXZvaWQgbG9zaW5nIGR1cmF0aW9uIGR1cmluZyBwdXNoIG1vZGUgc2Vla2luZywgYW5kIHRvIHByb3Blcmx5CgkgIGFjY3VtdWxhdGUgcnVubmluZyB0aW1lIHdoZW4gc2VnbWVudCBzZWVraW5nLgoKMjAxMS0wNi0yOSAxMjowNTowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmcmVlIGRhdGUgdGFnCgoyMDExLTA2LTI4IDEyOjI2OjM3ICswMjAwICBKb25hcyBMYXJzc29uIDxqb25hcy5sYXJzc29uQGhpcS5zZT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG5vdCBzbyBncmVlZHkgbWluaW11bSBmcmFtZSBzaXplCgkgIEZpeGVzICM2NTM1NTkuCgoyMDExLTA2LTI1IDExOjM5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbm9uLXBrZy1jb25maWcgY2hlY2sgZm9yIHNob3V0CgkgIEZpeGVzOiA2NTMzMjcKCjIwMTEtMDYtMjAgMTg6NDk6NTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICBkdjEzOTRzcmM6IG1ha2UgdGhlIGludGVybmFsIGNsb2NrIHRocmVhZCBzYWZlCgkgIEZpeGVzOiAjNjUzMDkxLgoKMjAxMS0wNi0yNCAxMTo1NDoyOSArMDIwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXR1cm4gY29ycmVjdCB0eXBlIHdoZW4gYXNzZXJ0aW9uIGZhaWxzCgoyMDExLTA2LTIzIDExOjI4OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjliOTgxZiB0byA2MDVjZDlhCgoyMDExLTA2LTIyIDE2OjQxOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBmaXggZm9yIHVyaSBjaGFuZ2VzCgoyMDExLTAyLTAyIDE2OjE4OjU0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBEcm9wIHN1cHBvcnQgZm9yIFBBIHZlcnNpb25zIGJlZm9yZSAwLjkuMTYKCSAgVGhpcyBkcm9wcyBzdXBwb3J0IGZvZiBQdWxzZUF1ZGlvIHZlcnNpb25zIHByaW9yIHRvIDAuOS4xNiwgd2hpY2ggd2FzCgkgIHJlbGVhc2VkIGFib3V0IDEuNSB5ZWFycyBhZ28uIFRlc3Rpbmcgd2l0aCB2ZXJ5IG9sZCB2ZXJzaW9ucyBpcyBub3QKCSAgZmVhc2libGUgYW5kIHdlIGRvbid0IHdhbnQgdG8gbWFpbnRhaW4gMiBpbmRlcGVuZGVudCBjb2RlLXBhdGhzLgoKMjAxMS0wNi0yMSAxODoyNDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbAoKMjAxMS0wNi0yMSAxODoxOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggZm9yIGhlYWRlciBjbGVhbnVwcwoKMjAxMS0wNi0yMSAxNToxNTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IGZpeCBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcHMgaW4gY2FzZSBvZiBtdWx0aXBsZSBmcmFtZXMKCjIwMTEtMDYtMjAgMTY6NDc6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRoZSBzaWduYWwgaGFzIDUgYXJndW1lbnRzLCBub3QgNAoKMjAxMS0wNi0yMCAxMjoxMzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdXNlIHN0cmluZyBmb3IgdmlkZW8gZm9ybWF0IG5vdwoKMjAxMS0wNi0yMCAxMjowNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgIGF2aTogbGluayBhZ2FpbnN0IGdzdHZpZGVvIG5vdwoKMjAxMS0wNi0yMCAxMjowMzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogcG9ydCB0byBuZXcgY2FwcwoKMjAxMS0wNi0xOCAxMzo0MzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBCdW1wIGdpdCB2ZXJzaW9uIGFmdGVyIHVucGxhbm5lZCAwLjEwLjMwIHJlbGVhc2UKCSAgTWVyZ2UgYnJhbmNoICcwLjEwLjMwJwoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWwKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDExLTA2LTE3IDEwOjM3OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBzdW5hdWRpbzogZml4IHR5cG8gaW4gY29tbWVudAoKMjAxMS0wNi0xNyAxODoxMjo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDYtMTcgMTg6MTE6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBmaXggY2FwcwoKMjAxMS0wNi0xNiAxNTozODoxMCArMDIwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5kZWJldGhlbmNvdXJ0QGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCB1bnVzZWQtYnV0LXNldC1jb21waWxlciB3YXJuaW5ncwoJICBSZW1vdmUgdW5uZWNlc3NhcnkgcmVzIHZhcmlhYmxlcywgY29yZSBjaGVja3MgZXhpc3RhbmNlCgkgIGFuZCB0eXBlIG9mIHRoZXNlIGZpZWxkcyBmb3IgdXMgYWxyZWFkeSB2aWEgdGhlIHRlbXBsYXRlCgkgIGNhcHMsIGFuZCB3ZSBrbm93IHRoYXQgdGhlc2UgZmllbGRzIGV4aXN0IGJlY2F1c2Ugd2UndmUKCSAgZml4YXRlZCB0aGVtIGJlZm9yZSBpbiBfbmVnb3RpYXRlKCkuCgoyMDExLTA2LTE3IDAzOjA3OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBmaXggcGFyYW0gZmxhZ3MKCSAgSWYgdGhlIHBhcmFtZXRlciBjYW5ub3QgYmUgY2hhbmdlZCBpbiBwYXVzZWQmcGxheWluZywgaXQgaXMgbm90IGNvbnRyb2xhYmxlLiBTZXQKCSAgdGhlIGFwcHJvcHJpYXRlIG11dGFiaWxpdHkgZmxhZyBpbnN0ZWFkLgoKPT09IHJlbGVhc2UgMC4xMC4zMCA9PT0KCjIwMTEtMDYtMTUgMjM6NTc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjMwCgkgIFRoaXMgaXMgYW4gYWQtaG9jIHJlbGVhc2UgdGhhdCBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIDAuMTAuMjk6CgkgICogd29yayBhcm91bmQgR0xpYiBhdG9taWMgb3BzIEFQSSBjaGFuZ2UKCSAgKiBiZXR0ZXIgaGFuZGxpbmcgb2YgbWFsZm9ybWVkIGJ1ZmZlcnMgaW4gUlRQIGRlcGF5bG9kZXJzCgkgICogc29tZSBtaW5vciBjb21waWxhdGlvbiBmaXhlcwoKMjAxMS0wNi0wOCAxODozMzoxMCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gbWluZ3ctdzY0CgkgIEZpeGVzOiAjNjUyMTQ0LgoJICBnc3R1ZHBuZXR1dGlscy5oOjMyOjA6IGVycm9yOiAiV0lOVkVSIiByZWRlZmluZWQKCSAgL3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2luY2x1ZGUvX21pbmd3Lmg6MjMxOjA6IG5vdGU6IHRoaXMgaXMgdGhlCgkgIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCgoyMDExLTA2LTA0IDEzOjQ5OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogV29yayBhcm91bmQgY2hhbmdlcyBpbiBnX2F0b21pYyBBUEkKCSAgU2VlICM2NTE1MTQgZm9yIGRldGFpbHMuCgoyMDExLTA1LTE4IDEyOjM2OjQwICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICBydHA6IEZpeCBzZWdtZW50YXRpb24gZmF1bHQgcHJvY2Vzc2luZyBwYXlsb2FkIGJ1ZmZlcnMKCSAgVGhpcyBjb21taXQgY2hlY2tzIGlmIHRoZSB2YWx1ZSByZXR1cm5lZCBieQoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9idWZmZXIgYW5kCgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX3N1YmJ1ZmZlciBpcyBOVUxMIGJlZm9yZSB1c2luZyBpdC4KCjIwMTEtMDUtMTYgMDk6MDQ6MzEgKzAyMDAgIFBpbm8gVG9zY2FubyA8dG9zY2Fuby5waW5vQHRpc2NhbGkuaXQ+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBEZWZpbmUgUEFUSF9NQVggaWYgaXQgaXNuJ3QgZGVmaW5lZAoJICBHTlUgSHVyZCBmb3IgZXhhbXBsZSBkb2Vzbid0IGRlZmluZSBpdC4KCjIwMTEtMDQtMjkgMDg6NTU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBbGxvdyBzZXRjYXBzIHRvIGJlIGNhbGxlZCBhZnRlciBhIGZvcm1hdCB3YXMgbmVnb3RpYXRlZCBpZiBpdCdzIGNvbXBhdGlibGUKCSAgT3RoZXJ3aXNlIHdhdmVuYyB3aWxsIGZhaWwgaWYgdXBzdHJlYW0gZGVjaWRlcyB0byBzZXQgZXF1aXZhbGVudCBjYXBzIG9yIGNhcHMKCSAgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGxhdGVyLgoJICBUaGFua3MgdG8gQWxleGFuZGVyIFNjaHJlbW1lciBmb3IgZmluZGluZyB0aGlzIGJ1Zy4KCjIwMTEtMDYtMTUgMTU6MDY6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2Rtb24uaDoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9lc2QvZXNkc2luay5oOgoJKiBleHQvZXNkL2dzdGVzZC5jOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9hcy1hcnRzLm00OgoJKiBtNC9lc2QubTQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBSZW1vdmUgZXNvdW5kL2VzZHNpbmsgcGx1Z2luCgoyMDExLTA2LTE1IDE0OjM3OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9nc3RnY29uZi5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5oOgoJKiBnY29uZi8uZ2l0aWdub3JlOgoJKiBnY29uZi9NYWtlZmlsZS5hbToKCSogZ2NvbmYvZ3N0cmVhbWVyLnNjaGVtYXMuaW46CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2djb25mLTIubTQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGdjb25mIGVsZW1lbnRzIGFuZCBwbHVnaW4KCSAgR0NvbmYgd2FzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIEdTZXR0aW5ncyBldGMuCgoyMDExLTA2LTE1IDE1OjE3OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggdW5pdGlhbGl6ZWQgYWNjZXNzCgoyMDExLTA2LTA5IDIxOjA2OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGFkZCBtaXNzaW5nIHN0ZGlvIGluY2x1ZGUgZm9yIHNzY2FuZgoKMjAxMS0wNi0xMyAxOTowODozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDYtMTMgMTc6NTE6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgLWdvb2Q6IHBvcnQgc29tZSBtb3JlIHBsdWdpbnMKCjIwMTEtMDYtMTMgMTc6MTQ6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGZpeCBmb3IgZmx1c2hfc3RvcCBBUEkgY2hhbmdlCgoyMDExLTA2LTEzIDE3OjE0OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgbW9yZSAoZGUpcGF5bG9hZGVyCgoyMDExLTA2LTEzIDE3OjA1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IG5vdCBzbyBncmVlZHkgbWluaW11bSBmcmFtZSBzaXplCgkgIC4uLiB3aGljaCB3aWxsIGJlIGRldGVybWluZWQgYnkgcGFyc2luZyBhbnl3YXksIGFuZCBhdm9pZHMgaW50cm9kdWNpbmcKCSAgcmVkdW5kYW50IGFkZGl0aW9uYWwgbGF0ZW5jeS4KCjIwMTEtMDYtMTMgMTY6MzM6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgLWdvb2Q6IHVwZGF0ZSBmb3IgYnVmZmVyIEFQSSBjaGFuZ2UKCjIwMTEtMDYtMTMgMTY6MzM6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogcG9ydCB0byAwLjExCgoyMDExLTA2LTEzIDEzOjI1OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cDogZml4IGZvciBBUEkgY2hhbmdlcyBpbiB0aGUgYmFzZSBjbGFzc2VzCgoyMDExLTA2LTEzIDEzOjA3OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1c2UgY2FwcyBldmVudCBmb3IgbmVnb3RpYXRpb24KCjIwMTEtMDYtMTMgMTM6MDc6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggZm9yIGZsdXNoIHN0b3AgZXZlbnQgY2hhbmdlcwoKMjAxMS0wNi0wOCAxODozMzoxMCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gbWluZ3ctdzY0CgkgIEZpeGVzOiAjNjUyMTQ0LgoJICBnc3R1ZHBuZXR1dGlscy5oOjMyOjA6IGVycm9yOiAiV0lOVkVSIiByZWRlZmluZWQKCSAgL3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2luY2x1ZGUvX21pbmd3Lmg6MjMxOjA6IG5vdGU6IHRoaXMgaXMgdGhlCgkgIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCgoyMDExLTA2LTExIDE4OjU4OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggZm9yIGJ1ZmZlcnBvb2wgdXBkYXRlCgoyMDExLTA2LTEwIDE4OjA1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiB1cGRhdGUgZm9yIGFsaWdubWVudCBjaGFuZ2UKCjIwMTEtMDYtMDkgMTc6NTY6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBwb3J0IHNvbWUgbW9yZQoKMjAxMS0wNi0wOSAxNzo1MjozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcDogcG9ydCB0byAwLjExCgoyMDExLTA2LTA5IDE3OjUwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMDkgMTE6Mzc6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogcmVnaXN0ZXIgdGVtcGxhdGUgYW5kIGtsYXNzIGNvcnJlY3RseQoKMjAxMS0wNi0wOSAxMDo1MDo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBnb29tOiBwb3J0IGdvb20KCjIwMTEtMDYtMDggMTg6MDY6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA2LTA4IDE4OjA1OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhc3Npbms6IHBvcnQgYWFzaW5rIHRvIDAuMTEKCjIwMTEtMDYtMDcgMTI6MDY6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJICBkZWJ1Z3V0aWxzOiBTd2l0Y2ggZnJvbSBHU1RfQk9JTEVSUExBVEUgdG8gR19ERUZJTkVfVFlQRQoKMjAxMS0wNi0wNyAxMToyNToxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmlsdGVyOiBVc2UgbmV3IEdzdEJhc2VUcmFuc2Zvcm06OnRyYW5zZm9ybV9jYXBzIEFQSQoKMjAxMS0wNi0wNyAxMToyMzo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IERvbid0IHVzZSBHU1RfQk9JTEVSUExBVEUKCjIwMTEtMDYtMDcgMTE6MjI6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEJ1ZmZlcnMgbm8gbG9uZ2VyIGhhdmUgY2FwcwoKMjAxMS0wNi0wNyAxMToyMDowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGE6IFVzZSBuZXcgdHJhbnNmb3JtX2NhcHMgdm1ldGhvZCAod2l0aCBmaWx0ZXIpCgoyMDExLTA2LTA2IDIwOjQzOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBmaXggc29tZSBtb3JlIHBhcnNlcnMKCjIwMTEtMDYtMDYgMTg6MjE6MDQgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfY2hhcHRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNiAxNDo0NzoyNyArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2F0dGFjaG1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDYgMTI6NDM6MTQgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfYXR0YWNoZWRfZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDIyOjQ1OjU1ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDEwOjE1OjIzICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfbWV0YWRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAwOTo1NDo0MiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9tZXRhZGF0YV9pZF90YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAwMjoyNDo0MSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDYgMTI6NDI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldCBzdGF0ZSB0cmFja2luZyB2YXJpYWJsZSB3aGVuIGFwcHJvcHJpYXRlCgkgIC4uLiBzbyB3ZSBkb24ndCBlbmQgdXAgaW50ZXJydXB0aW5nIGFuIG9wZXJhdGlvbiB0aGF0IHNob3VsZCBub3QgYmUgaW50ZXJydXB0ZWQKCSAgYmFzZWQgb24gdGhlIGluZGljYXRpb24gb2YgYSBwcmV2aW91cyBpbnRlcnJ1cHRhYmxlIG9wZXJhdGlvbi4KCjIwMTEtMDYtMDQgMTM6NDk6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBXb3JrIGFyb3VuZCBjaGFuZ2VzIGluIGdfYXRvbWljIEFQSQoJICBTZWUgIzY1MTUxNCBmb3IgZGV0YWlscy4KCjIwMTEtMDYtMDQgMTM6NDM6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5oOgoJICBzb3VwaHR0cHNpbms6IGNvZGUgY2xlYW51cAoKMjAxMS0wNi0wNSAwMjowMDowOCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IFVzZSBBUlRJU1QgdGFnIGluc3RlYWQgb2YgQVVUSE9SIGZvciBHU1RfVEFHX0FSVElTVAoJICBBVVRIT1Igb25seSBleGlzdGVkIGluIGFuIG9sZCB2ZXJzaW9uIG9mIHRoZSBzcGVjIGFuZCBBUlRJU1QgaXMKCSAgdGhlIG5ldyByZXBsYWNlbWVudCBmb3IgdGhpcy4gV2UgYXJlIHN0aWxsIHJlYWRpbmcgYm90aCB0byBzdGlsbAoJICBiZSBjb21wYXRpYmxlIHdpdGggb2xkIGZpbGVzLgoJICBGaXhlcyBidWcgIzY0NDg3NS4KCjIwMTEtMDYtMDIgMTg6NTE6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmMKCjIwMTEtMDYtMDIgMTg6NDc6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmk6IHBvcnQgQVZJIGVsZW1lbnRzIHRvIG5ldyBBUEkKCjIwMTEtMDYtMDIgMTM6Mzg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRmlyc3QgcXVlcnkgdGhlIHBlZXIgZHVyYXRpb24gaW4gdGhlIHJlcXVlc3RlZCBmb3JtYXQgYmVmb3JlIGNvbnZlcnRpbmcgdG8gQllURVMKCSAgRml4ZXMgdXNhZ2Ugb2YgZHZkZW11eCBhZnRlciBhbm90aGVyIGRlbXV4ZXIsIGUuZy4gbXhmZGVtdXguCgkgIEZpeGVzIGJ1ZyAjNjUwNTAzLgoKMjAxMS0wNi0wMiAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSAgc291cGh0dHBzaW5rOiBGaXggcmVmY291bnRpbmcgb2YgdGhlICJzZXNzaW9uIiBwcm9wZXJ0eQoJICBQcm9wZXJ0aWVzIHNob3VsZCBuZXZlciB0YWtlIG93bmVyc2hpcCBvZiB0aGUgdmFsdWVzCgkgIHBhc3NlZCB0byB0aGVtLgoKMjAxMS0wNi0wMSAxNzowNDoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGb3Igc3RyZWFtaW5nIGZpbGVzLCBwdXNoIHRhZ3MgZmlyc3QKCjIwMTEtMDUtMjQgMTQ6NTI6MDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBBZGQgc291cGh0dHBzaW5rCgoyMDExLTA2LTAxIDEwOjE5OjMxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhbGxvdyBza2lwLWZpcnN0LWJ5dGVzIG9mIGZ1bGwgYnVmZmVyIHNpemUKCjIwMTEtMDUtMzAgMTg6MzE6NTAgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2hlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTMwIDEyOjA5OjMxICswMjAwICBBbnRvbmlvIEZyZWRpYW5pIDxhbnRvbmlvLmZyZWRpYW5pQGlud2luZC5pdD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBHU1RfVEFHX0lNQUdFIGZvciBjb3ZlcmFydCB0b28KCSAgRml4ZXMgYnVnICM2MzgxMDcuCgoyMDExLTA1LTMwIDEwOjQwOjA4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9nZXRfc2Vla190cmFjawoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3Jlc2V0X3N0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yOCAyMjowNDozNCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYXtkZW11eCxwYXJzZX1fZm91bmRfZ2xvYmFsX3RhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI4IDEwOjU5OjA5ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2FfaW5kZXhfc2Vla19maW5kCgkgIC0gZ3N0X21hdHJvc2the2RlbXV4LHBhcnNlfV9kb19pbmRleF9zZWVrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMjM6MTU6MjMgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fdHJhY2tudW1iZXJfdW5pcXVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMjA6Mjg6MTkgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZGVjb2RlX2RhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNyAxOTozMDo0OCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9nZXRfbGVuZ3RoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMDk6MTc6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBSZXZlcnQgMWE5MGE2YzQgYW5kIGRyb3AgRGlyYWMgc3VwcG9ydCBhZ2FpbgoJICBJdCBkb2VzIG5vdCB3b3JrIGF0IGFsbCAoQS9WIHN5bmMgaXNzdWVzKSwgaXMgbm90IHZlcnkgdXNlZnVsLAoJICBvdGhlciBjb250YWluZXJzIHdvcmsgbXVjaCBiZXR0ZXIgd2l0aCBEaXJhYyBhbmQgRGlyYWMgaW4gQVZJCgkgIGlzIG5vdCBzdXBwb3J0ZWQgYnkgb3RoZXIgc29mdHdhcmUuCgkgIEZpeGVzIGJ1ZyAjNTQxMjE1LgoKMjAxMS0wNS0yNiAyMzozNTo1MiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZW5jb2RpbmdfY21wCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcmVhZF90cmFja19lbmNvZGluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19pZF9sZW5ndGhfcHVsbAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfaWRfbGVuZ3RoX3B1c2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfYWRhcHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI2IDEyOjQ4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4dmltYWdlc2luazogRmFsbGJhY2sgdG8gbm9uLVhTaG0gbW9kZSBpZiBhbGxvY2F0aW5nIHRoZSBYU2htIGltYWdlIGZhaWxlZAoJICBGaXhlcyBidWcgIzYzMDQ1Ni4KCjIwMTEtMDUtMjYgMTI6MjI6NTIgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogRGVwcmVjYXRlZCBzZW5kLWNvbmZpZyBwcm9wZXJ0eSBhbmQgcmVwbGFjZSBieSBjb25maWctaW50ZXJ2YWwKCSAgRml4ZXMgYnVnICM2MjI0MTIuCgoyMDEwLTA2LTIzIDExOjEyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFVURi04IHN1YnRpdGxlcyBtYXkgaGF2ZSBtYXJrdXAKCSAgRml4ZXMgIzYxNjkzNi4KCjIwMTEtMDEtMjMgMTU6NTY6NDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBmb3J3YXJkIG5ldyBzZWdtZW50IGV2ZW50cyBmcm9tIHRoZSBzaW5rIHRvIHRoZSBzb3VyY2UKCSAgTm90IGRvaW5nIHNvIHdpbGwgY2F1c2UgYnVmZmVycyB0byBiZSByZWNlaXZlZCBieSBkb3duc3RyZWFtIHdpdGhvdXQKCSAgYSB0aW1lIGJhc2Ugc2V0LgoJICBXZSB1c2UgdGhlIHNhbWUgbWV0aG9kIGF2aW11eCB1c2VzIHRvIGdldCBhY2Nlc3MgdG8gdGhlIGV2ZW50IHdoZW4KCSAgY29sbGVjdHBhZHMgZ290IHRoZSBzaW5rIGV2ZW50IGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMzIzCgoyMDExLTAxLTI0IDExOjExOjQ4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICB0ZXh0b3ZlcmxheTogZm9yd2FyZCBzb3VyY2UgZXZlbnRzIHRvIHNpbmtzCgkgIEV2ZW50cyBhcmUgcGFzc2VkIHRvIHRoZSB2aWRlbyBzaW5rLCBhbmQgdG8gdGhlIHRleHQgc2luayBpZiBpdCBpcwoJICBsaW5rZWQuCgkgIFRoaXMgd2lsbCBhbGxvdyBzZWVraW5nLCBmb3IgaW5zdGFuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODY0NTAKCjIwMTEtMDUtMjUgMjE6MTI6MTIgKzAyMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBBZGQgcHJvcGVydHkgdG8gYXNzdW1lIGEgc2luZ2xlIHN0cmVhbSBhbmQgZW1pdCBuby1tb3JlLXBhZHMKCSAgRml4ZXMgYnVnICM2MTY2ODYuCgoyMDExLTA1LTI1IDE0OjUwOjI2ICswMjAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdW5pZm9ybSB1bmtub3duIG1lc3NhZ2UgaGFuZGxpbmcKCSAgRG8gdGhlIHNhbWUgcHJvY2Vzc2luZyBpbiBhbGwgdGhlIGNhc2VzIHdoZW4gYW4gdW5rbm93biBtZXNzYWdlIGlzIHJlY2VpdmVkLgoJICBUaGF0IGlzLCBnaXZlIGEgd2FybmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTA1OQoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX3B1bGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfYnl0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZW5jb2Rpbmdfb3JkZXJfdW5pcXVlCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcmVhZF90cmFja19lbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI0IDE4OjI3OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogcG9ydCB0byBuZXcgQVBJCgoyMDExLTA1LTI0IDE3OjM0OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYwoJICBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmMKCSAgZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmMKCjIwMTEtMDUtMjQgMTM6MTI6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgcGNtdWRlcGF5OiBhbGxvdyB2YXJpYWJsZSBzYW1wbGUgcmF0ZQoKMjAxMS0wNS0yNCAxMzoxMTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICBwY21hZGVwYXk6IGFsbG93IHZhcmlhYmxlIHNhbXBsZSByYXRlCgoyMDEwLTA0LTA0IDA2OjQzOjQxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFkZCBub3JtIHByb3BlcnR5CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgR3Vlbm5hZGkgTGlha2hvdmV0c2tpLgoJICB2MjogdXBkYXRlcyBiZWNhdXNlIEkgZm9yZ290IHRvIGFkZCBHc3RUdW5lciBpbnRlcmZhY2UgdG8gdjRsMnNpbmsKCSAgdjM6IHVwZGF0ZSB0byBhZGQgYWxsIHBvc3NpYmxlIHZhbHVlcyB0byBub3JtIGVudW0KCjIwMTEtMDUtMjMgMjA6NDY6MDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGZpeGVkIGNvcHlyaWdodCBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV9kZWNvZGVfY29udGVudF9lbmNvZGluZ3MKCSAgLSBnc3RfbWF0cm9za2FfZGVjb21wcmVzc19kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6NDg6NTcgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IG1vdmUgR3N0TWF0cm9za2F7RGVtdXgsUGFyc2V9OjpzdGF0ZSB0byBHc3RNYXRyb3NrYVJlYWRDb21tb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNCAwOTo0ODo1NiArMDIwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXMubGFyc3NvbkBoaXEuc2U+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGJ1ZmZlciBsZWFrIHdpdGggY29ycnVwdGVkIGZpbGVzCgkgIEZpeGVzIGJ1ZyAjNjUwOTEyLgoKMjAxMS0wNS0yMyAwMjo0NjozOCAtMDcwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBwYXJhbWV0ZXIgdHlwZSBpbiB0cmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTM3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIFJlcGxhY2UgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgd2l0aCB0aGVpciBnc3RfbWF0cm9za2FfcmVhZF9jb21tb25fKgoJICBjb3VudGVycGFydHM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfaW5kZXgKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9za2lwCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fc3RyZWFtX2Zyb21fbnVtCgkgIEludHJvZHVjZSBHc3RNYXRyb3NrYVJlYWRDb21tb24gdG8gY29udGFpbiB0aG9zZSBtZW1iZXJzIG9mCgkgIEdzdE1hdHJvc2thRGVtdXggYW5kIEdzdE1hdHJvc2thUGFyc2UgdGhhdCB3ZXJlIHVzZWQgYnkgdGhlIGFib3ZlCgkgIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxMzo1MDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHRlbGwgYmFzZXBhcnNlIHRoZSBkdXJhdGlvbiBpbiBzYW1wbGVzIGZvciBiZXR0ZXIgYWNjdXJhY3kKCSAgVGVsbCBHc3RCYXNlUGFyc2UgdGhlIGR1cmF0aW9uIGluIHNhbXBsZXMgaW5zdGVhZCBvZiB0aW1lLCBzbyB0aGF0CgkgIGEgZHVyYXRpb24gcXVlcnkgaW4gREVGQVVMVCBmb3JtYXQgd2lsbCByZXR1cm4gdGhlIGNvcnJlY3QgbnVtYmVyCgkgIG9mIHNhbXBsZXMgd2l0aG91dCByb3VuZGluZyBlcnJvcnMuIEJhc2VwYXJzZSB3aWxsIGNvbnZlcnQgdGhpcwoJICBpbnRvIHRpbWUgaXRzZWxmIHdoZW4gbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwNzg1CgoyMDExLTA1LTIzIDEzOjI1OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYWxzbyB0cnkgdXBzdHJlYW0gZmlyc3QgZm9yIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA3ODUKCjIwMTEtMDUtMjMgMTM6MjM6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtYWtlIGNvbnZlcnNpb24gZnJvbSBUSU1FIHRvIERFRkFVTFQgZm9ybWF0IChzYW1wbGVzKSB3b3JrCgkgIEZpeCBjb3B5J24ncGFzdGUgZXJyb3IgaW4gdGhlIHByZXZpb3VzIGNvbW1pdC4KCjIwMTEtMDUtMjMgMTE6MzY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbXBsZW1lbnQgY29udmVyc2lvbnMgYmV0d2VlbiBUSU1FIGFuZCBERUZBVUxUIGZvcm1hdAoJICBGaXhlcyBidWcgIzY1MDc4NS4KCjIwMTEtMDUtMjIgMTg6NTA6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkb24ndCBlcnJvciBvdXQgb24gaW52YWxpZCBtaW5pbXVtX2Jsb2Nrc2l6ZSB2YWx1ZSBpbiBzdHJlYW1pbmZvIGhlYWRlcgoJICBXZSBkb24ndCB1c2UgaXQsIHNvIG1heSBqdXN0IGFzIHdlbGwgYWNjZXB0IGFuIGludmFsaWQgdmFsdWUKCSAgb2YgMCBoZXJlLCB3aGljaCBpcyBsaWtlbHkgaW5jb25zZXF1ZW50aWFsIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDY5MQoKMjAxMS0wNS0yMCAxMDozNDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHA6IGZpeCBzdGF0aWMgYXJyYXkgb3ZlcnJ1bnMgaW4gYSBuaWNlciB3YXkKCSAgVXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIHRoZSBhcnJheSBzaXplLgoKMjAxMS0wNS0yMCAwMDo1Mzo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHA6IGZpeCBzdGF0aWMgYXJyYXkgb3ZlcnJ1bnMKCSAgWWVzIGFycmF5WzEwXSBoYXMgZWxlbWVudHMgZnJvbSAwLi4uOS4KCjIwMTEtMDUtMTkgMjM6MzE6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGludHJvc3BlY3Rpb24gZGF0YQoJICBOb3cgbW9yZSBmaWxlcyBhcmUgbWVyZ2VkIGFuZCBwcm9kdWNlZCBpbiBhIGNhbm9uaWNhbCBmYXNoaW9uLCB3aGljaCBob3BlZnVsbHkKCSAgY3JlYXRlcyBsZXNzIG9yIG5vIGRlbHRhIGluIHRoZSBmdXR1cmUuCgoyMDExLTA1LTE5IDIyOjU3OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDllNWJiZDUgdG8gNjliOTgxZgoKMjAxMS0wNS0xOSAxODoyMTozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBtaXNzaW5nIGJyZWFrCgoyMDEwLTExLTA4IDE0OjA2OjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgZGVpbnRlcmxhY2luZyB1c2luZyBidWZmZXIgY2Fwcy9mbGFncwoJICBXaGVuIG5vdCB1c2luZyB0aGUgZmllbGRhbmFseXNpcyBlbGVtZW50IGltbWVkaWF0ZWx5IHVwc3RyZWFtIG9mIGRlaW50ZXJsYWNlLAoJICBiZWhhdmlvdXIgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuIGZpZWxkYW5hbHlzaXMgd2lsbCBzZXQgdGhlIGNhcHMgYW5kIGZsYWdzIG9uCgkgIHRoZSBidWZmZXJzIHN1Y2ggdGhhdCB0aGV5IGNhbiBiZSBpbnRlcnByZXRlZCBhbmQgYWN0ZWQgdXBvbiB0byBwcm9kdWNlCgkgIHByb2dyZXNzaXZlIG91dHB1dC4KCSAgVGhlcmUgYXJlIHR3byBtYWluIG1vZGVzIG9mIG9wZXJhdGlvbjoKCSAgLSBQYXNzaXZlIHBhdHRlcm4gbG9ja2luZwoJICBQYXNzaXZlIHBhdHRlcm4gbG9ja2luZyBpcyBhIG5vbi1ibG9ja2luZywgbG93LWxhdGVuY3kgbW9kZSBvZiBvcGVyYXRpb24gdGhhdAoJICBpcyBzdWl0YWJsZSBmb3IgY2xvc2UtdG8tbGl2ZSB1c2FnZS4gSW5pdGlhbGx5IGEgdGVsZWNpbmUgc3RyZWFtIHdpbGwgYmUKCSAgb3V0cHV0IGFzIHZhcmlhYmxlIGZyYW1lcmF0ZSB3aXRoIG5hw692ZSB0aW1lc3RhbXAgYWRqdXN0bWVudC4gV2l0aCBlYWNoCgkgIGluY29taW5nIGJ1ZmZlciwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGxvY2sgb250byBhIHBhdHRlcm4uIFdoZW4gYSBsb2NrIGlzCgkgIG9idGFpbmVkLCB0aGUgc3JjIHBhZCBhbmQgb3V0cHV0IGJ1ZmZlciBjYXBzIHdpbGwgcmVmbGVjdCB0aGUgcGF0dGVybiBhbmQKCSAgdGltZXN0YW1wcyB3aWxsIGJlIGFjY3VyYXRlbHkgaW50ZXJwb2xhdGVkIGJldHdlZW4gcGF0dGVybiByZXBlYXRzLiBUaGlzCgkgIG1lYW5zIHRoYXQgaW5pdGlhbGx5IGFuZCBhdCBwYXR0ZXJuIHRyYW5zaXRpb25zIHRoZXJlIHdpbGwgYmUgc2hvcnQgcGVyaW9kcwoJICBvZiBpbmFjY3VyYXRlIHRpbWVzdGFtcGluZy4KCSAgLSBBY3RpdmUgcGF0dGVybiBsb2NraW5nCgkgIEFjdGl2ZSBwYXR0ZXJuIGxvY2tpbmcgaXMgYSBibG9ja2luZywgaGlnaC1sYXRlbmN5IG1vZGUgb2Ygb3BlcmF0aW9uIHRoYXQgaXMKCSAgdGFyZ2V0ZWQgYXQgdXNlLWNhc2VzIHdoZXJlIHRpbWVzdGFtcCBhY2N1cmFjeSBpcyBwYXJhbW91bnQuIEJ1ZmZlcnMgd2lsbCBiZQoJICBxdWV1ZWQgdW50aWwgZW5vdWdoIGFyZSBwcmVzZW50IHRvIG1ha2UgYSBsb2NrLiBXaGVuIGxvY2tlZCwgdGltZXN0YW1wcyB3aWxsCgkgIGJlIGFjY3VyYXRlbHkgaW50ZXJwb2xhdGVkIGJldHdlZW4gcGF0dGVybiByZXBlYXRzLiBPcnBoYW4gZmllbGRzIGNhbiBiZQoJICBkcm9wcGVkIG9yIGRlaW50ZXJsYWNlZC4gSWYgbm8gbG9jayBjYW4gYmUgb2J0YWluZWQsIGEgc2luZ2xlIGZpZWxkIG1pZ2h0IGJlCgkgIHB1c2hlZCB0aHJvdWdoIHRvIGJlIGRlaW50ZXJsYWNlZC4KCSAgTG9ja2luZyBjYW4gYWxzbyBiZSBkaXNhYmxlZCBvciAnYXV0bycgY2hvb3NlcyBiZXR3ZWVuIHBhc3NpdmUgYW5kIGFjdGl2ZQoJICBsb2NraW5nIG1vZGVzIGRlcGVuZGluZyBvbiB3aGV0aGVyIHVwc3RyZWFtIGlzIGxpdmUuCgoyMDExLTA1LTEwIDE2OjI1OjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgY29uZmlnIHNjcmlwdCBjaGVjayBmb3IgY2FjYQoKMjAxMS0wNS0xOCAxMjozNjo0MCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwOiBGaXggc2VnbWVudGF0aW9uIGZhdWx0IHByb2Nlc3NpbmcgcGF5bG9hZCBidWZmZXJzCgkgIFRoaXMgY29tbWl0IGNoZWNrcyBpZiB0aGUgdmFsdWUgcmV0dXJuZWQgYnkKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfYnVmZmVyIGFuZAoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9zdWJidWZmZXIgaXMgTlVMTCBiZWZvcmUgdXNpbmcgaXQuCgoyMDExLTA1LTE4IDE2OjEwOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkMzUwNzMgdG8gOWU1YmJkNQoKMjAxMS0wNS0xOCAxMjo1MjozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBlbnN1cmUgMC1wYWRkaW5nIHdoZW4gY29ycmVjdGluZyBkdWJpb3VzIGxpc3Qgc2l6ZQoKMjAxMS0wNS0xOCAxMjoyNDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NmRmY2VhIHRvIGZkMzUwNzMKCjIwMTEtMDUtMTggMTA6MjI6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIEVJTlZBTCBmb3IgbWlzc2luZyB1cmwgcGFyYW1ldGVyCgkgIEZpeGVzIGdjYyB3YXJuaW5nIGFib3V0IHVzaW5nIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgJ3JlcycuCgoyMDExLTA0LTI4IDE1OjM3OjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICB2YXJpb3VzOiBmaXggYXV0aG9yIHRhZyBpbiBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDQtMjAgMTU6MjU6NTggLTA0MDAgIENocmlzIEUgSm9uZXMgPGNocmlzQGNocmlzZWpvbmVzLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogaW1wbGVtZW50IHNlZWtpbmcKCSAgSW1wbGVtZW50IHNlZWtpbmcgYW5kIHNlZWtpbmcgcXVlcnkuIEZpeGVzICM2NDQ1MTIKCjIwMTEtMDUtMTcgMTY6MTM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA0LTA2IDE2OjA1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBhbGxvdyBQQVVTRSB0byBiZSBpbnRlcnJ1cHRlZAoJICAuLi4gYXMgaXQgaXMgb24gdGhlIHdheSBvdXQgdG8gTlVMTC4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE1OjUxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZW5zdXJlIHByb3BlciBjbG9zaW5nIGFuZCBjbGVhbnVwCgkgIC4uLiBzaW5jZSB0aGUgVEVBUkRPV04gc2VxdWVuY2UgbWlnaHQgbm90IGhhdmUgaGFkIGEgY2hhbmNlIHRvIGV2ZW4gc3RhcnQsCgkgIGJ1dCBhdCBsZWFzdCBjb25uZWN0aW9ucyBzaG91bGQgYmUgY2xvc2VkIChzeW5jaHJvbm91c2x5KSBhbmQgc3RhdGUgY2xlYW5lZCB1cC4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE1OjQ5OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmaXggYW5kIGltcHJvdmUgYXN5bmMgaGFuZGxpbmcKCSAgU2ltcGxpZnkgdGhlIGNvbW1hbmQgaGFuZGxpbmc7IHBhc3NpbmcgYSBjb21tYW5kIHRvIHRocmVhZCBtZWFucyB3ZSByZWFsbHkKCSAgd2FudCBpdCB0byBnZXQgdGhlIG1lc3NhZ2UsIHdoaWNoIG1lYW5zIHRvIGFsd2F5cyBmbHVzaCBwcm92aWRlZCB0aGUgY29tbWFuZAoJICBjYW4gaGFuZGxlIGJlaW5nIGludGVycnVwdGVkLiAgQ29tbWFuZCB0aHJlYWQgaW5kaWNhdGVzIHdoZXRoZXIgY29tbWFuZAoJICBhbGxvd3MgaW50ZXJydXB0aW9uIGFuZCBlbnN1cmUgbm9uLWZsdXNoaW5nIGNvbm5lY3Rpb24gYXMgaXQgc3Vic2VxdWVudGx5CgkgIG5lZWRzIGl0LgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGFsc28gbWFrZXMgdGhlIFRFQVJET1dOIHNlcXVlbmNlIGludGVycnVwdGFibGUKCSAgYW5kIGFsc28gcHJldmVudHMgcmFjZXMgd2hlcmUgX2xvb3BfIGNvdWxkIG1pc3MgYSBjb21tYW5kIGFuZCB3b3VsZAoJICBjb250aW51ZSByZWNlaXZpbmcgKG9yIGF0IGxlYXN0IHRyeWluZyB0bykuCgkgIFNlZSAjNjMyNTA0LgoKMjAxMS0wNC0wNiAxNDo1MzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHR3ZWFrIHBvc3Qtc2VlayBsb29wIGhhbmRsaW5nCgoyMDExLTAxLTEwIDEyOjQ2OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IG9wZW4gb24gcGxheSBhbmQgcGF1c2Ugd2hlbiBub3QgZG9uZSB5ZXQKCSAgV2l0aCB0aGUgYXN5bmMgc3RhdGUgY2hhbmdlcywgaXQgaXMgcG9zc2libGUgdGhhdCB3ZSBuZWVkIHRvIG9wZW4gdGhlIHN0cmVhbQoJICBiZWZvcmUgcGxheSBhbmQgcGF1c2UuCgkgIEFsc28gbWFrZSBzdXJlIHdlIHJlbWVtYmVyIGEgcHJldmlvdXMgb3BlbiBmYWlsdXJlIHNvIHRoYXQgd2UgZG9uJ3Qga2VlcCB0cnlpbmcKCSAgYWdhaW4uCgoyMDExLTAxLTEwIDExOjQ1OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXByb3ZlIGFzeW5jIGhhbmRsaW5nCgkgIFNpbXBsaWZ5IHRoZSBjb21tYW5kIGhhbmRsaW5nLCBvbmx5IGNvbnRpbnVlIGxvb3Bpbmcgd2hlbiB3ZSBoYXZlIG5vdCByZWNlaXZlZAoJICBhbm90aGVyIGNvbW1hbmQgb3Igd2hlbiB0aGUgcHJldmlvdXMgbG9vcCB3YXMgc3VjY2Vzc2Z1bGwuCgkgIEF2b2lkIGxvb3Bpbmcgb24gYSBkaXNjb25uZWN0ZWQgc29ja2V0LgoKMjAxMS0wMS0wNyAxODowMjo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmV3b3JrIHJlY29ubmVjdCBjb2RlCgkgIFVzZSB0aGUgc2FtZSBhc3luYyBjb2RlIHBhdGggdG8gaW1wbGVtZW50IHJlY29ubmVjdHMuCgkgIE1ha2Ugc3VyZSB3ZSBvbmx5IHBvc3QgcHJvZ3Jlc3MgbWVzc2FnZXMgd2hlbiBkb2luZyBhc3luYyB0aGluZ3MuCgoyMDExLTAxLTA3IDE3OjE5OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzbWFsbCBjbGVhbnVwcwoJICBNYWtlIHN1cmUgd2UgY2FuY2VsIHRoZSBwcmV2aW91cyB0YXNrIHdoZW4gcXVldWluZyBhIG5ldyBvbmUuCgkgIE1vdmUgdGhlIG1lc3NhZ2VzIHRvIGEgY2VudHJhbCBwbGFjZSBzbyB3ZSBjYW4gbW9yZSBlYXNpbHkgcG9zdCB0aGVtLgoKMjAxMS0wMS0wNyAxNToxNTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcG9zdCBlcnJvcnMgd2hlbiBpbnRlcnJ1cHRpbmcKCjIwMTEtMDEtMDcgMTM6NDM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wbGVtZW50IG1vcmUgYXN5bmMgaGFuZGxpbmcKCSAgUmVtb3ZlIHNvbWUgb2xkIGxvY2tzLgoJICBNYWtlIHN1cmUgd2UgbmV2ZXIgZ28gaW50byB0aGUgbG9vcCBmdW5jdGlvbiB3aGVuIGZsdXNoaW5nLgoKMjAxMS0wMS0wNyAxMTo0MDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZmlyc3QgYXR0ZW1wdCBhdCBhc3luYyBpbXBsZW1lbnRhdGlvbgoKMjAxMS0wMS0wNyAxMTo0MDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc21hbGwgaGVhZGVyIGNsZWFudXBzCgoyMDExLTA1LTE3IDEwOjQ3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgZm9yIChwcmUtKSByZWxlYXNlcyB0b28KCjIwMTEtMDQtMjggMTU6NTc6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0czogT25seSBhbGxvdyBtcGVnLXRzIG9uIHNvdXJjZSBvYmplY3RzCgkgIFVnbHkgZml4IGZvciAjNjQ4MzEyCgoyMDExLTA1LTE3IDA5OjI0OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDUtMDYgMTk6MDk6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IEltcGxlbWVudCBpdGVyYXRlIGludGVybmFsIGxpbmtzIGZvciBzaW5rIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0wNiAxODo0MTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogaXRlcmF0ZSBwYWQgZnVuY3Rpb24gaXMgb25seSB2YWxpZCBmb3Igc3JjIHBhZHMKCSAgVGhlIGl0ZXJhdGUgZnVuY3Rpb24gaXMgb25seSB1c2VkIGZvciBzcmMgcGFkcywgc28gbWFyayBpdCBhcyBzdWNoIGFuZCByZW1vdmUKCSAgZGVhZCBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NjE3CgoyMDExLTA1LTA2IDE4OjEyOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHNpZ25hbAoJICBJZiB0aGUgbG9jayBpcyBub3QgcmVsZWFzZWQgYmVmb3JlIGVtaXR0aW5nIGEgc2lnbmFsLCBpdCBtYXkgY2F1c2UgYSBkZWFkbG9jawoJICBpZiBhbnkgb3RoZXIgZnVuY3Rpb24gaW4gdGhlIGVsZW1lbnQgaXMgY2FsbGVkLgoJICBBbHNvIHJlbW92ZWQgYW4gdW51c2VkIHRpbWVzdGFtcCBwYXJhbWV0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0xNSAyMzoyNToxNSArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGNhbGN1bGF0ZSBzZWdtZW50IGR1cmF0aW9uIGFmdGVyIHBhcnNpbmcgYWxsIHRoZSBJRHMKCSAgU2luY2UgdGhlIHNlZ21lbnQgZHVyYXRpb24gaXMgZ2l2ZW4gaW4gdGVybXMgb2YgdGhlCgkgIEdTVF9NQVRST1NLQV9JRF9USU1FQ09ERVNDQUxFIHdlIHNob3VsZCBvbmx5IGNvbnZlcnQgaXQgaW50bwoJICBuYW5vc2Vjb25kcyB3aGVuIHdlIGFyZSBzdXJlIHRoYXQgYW55IHNjYWxlIHNwZWNpZmllZCBpbiB0aGUgZmlsZSBoYXMKCSAgYmVlbiByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMjU4CgoyMDExLTA1LTE2IDE3OjUyOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wNS0xNiAxNzo1MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICAtZ29vZDogZml4IGZvciBuZXcgQVBJCgoyMDExLTA1LTA0IDExOjU1OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGRpdGlvbmFsIGxvY2sgc2FmZXR5CgkgIEZpeGVzICM2MTk1OTAuCgoyMDExLTA0LTI2IDE2OjA2OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNoZWNrIGZvciBiaXRyYXRlIGluZm8gaW4gY2FwcwoKMjAxMC0wNS0yNSAwMTowNDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGd1ZXNzIGJpdHJhdGUgaWYgb25seSBvbmUgc3RyZWFtJ3MgYml0cmF0ZSBpcyB1bmtub3duCgkgIElmIHRoZSBiaXRyYXRlcyBmb3IgYWxsIGJ1dCBvbmUgYXVkaW8vdmlkZW8gc3RyZWFtcyBhcmUga25vd24sIGFuZCB0aGUKCSAgdG90YWwgc3RyZWFtIHNpemUgYW5kIGR1cmF0aW9uIGNhbiBiZSBkZXRlcm1pbmVkLCB0aGlzIGNhbGN1bGF0ZXMgdGhlCgkgIHVua293biBiaXRyYXRlIGFzIChzdHJlYW0gc2l6ZSAvIGR1cmF0aW9uKSAtIChzdW0gb2Yga25vd24gYml0cmF0ZXMpLgoJICBXaGlsZSB0aGlzIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIHZlcnkgYWNjdXJhdGUsIGl0IHNob3VsZCBiZSBnb29kCgkgIGVub3VnaCBmb3IgbW9zdCBwdXJwb3Nlcy4KCSAgRm9yIGV4YW1wbGUsIHRoaXMgaXMgdXNlZnVsIGZvciBILjI2MyArIEFBQyBzdHJlYW1zIHdoZXJlIG5vICdidHJ0JyBhdG9tCgkgIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHZpZGVvIHBvcnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk1NDgKCjIwMTAtMDUtMzEgMjM6NTk6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBtYXggYml0cmF0ZSBmb3IgQU1SLU5CLy1XQiBzdHJlYW1zCgkgIFRoaXMgcGFyc2VzIHRoZSAnZGFtcicgYXRvbSBpZiBwcmVzZW50LCBhbmQgZXhwb3J0cyB0aGUgbWF4aW11bSBiaXRyYXRlCgkgIG9mIHRoZSBzdHJlYW0gdXNpbmcgdGhlIG1vZGUgc2V0IGZpZWxkIHRvIGRldGVybWluZSB0aGUgaGlnaGVzdCBiaXRyYXRlCgkgIGZyYW1lIHR5cGUgdGhhdCBtaWdodCBiZSBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMTg2CgoyMDExLTA1LTE2IDA5OjA0OjMxICswMjAwICBQaW5vIFRvc2Nhbm8gPHRvc2Nhbm8ucGlub0B0aXNjYWxpLml0PgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogRGVmaW5lIFBBVEhfTUFYIGlmIGl0IGlzbid0IGRlZmluZWQKCSAgR05VIEh1cmQgZm9yIGV4YW1wbGUgZG9lc24ndCBkZWZpbmUgaXQuCgoyMDExLTA1LTE1IDIzOjI1OjE1ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2FsY3VsYXRlIHNlZ21lbnQgZHVyYXRpb24gYWZ0ZXIgcGFyc2luZyBhbGwgdGhlIElEcwoJICBTaW5jZSB0aGUgc2VnbWVudCBkdXJhdGlvbiBpcyBnaXZlbiBpbiB0ZXJtcyBvZiB0aGUKCSAgR1NUX01BVFJPU0tBX0lEX1RJTUVDT0RFU0NBTEUgd2Ugc2hvdWxkIG9ubHkgY29udmVydCBpdCBpbnRvCgkgIG5hbm9zZWNvbmRzIHdoZW4gd2UgYXJlIHN1cmUgdGhhdCBhbnkgc2NhbGUgc3BlY2lmaWVkIGluIHRoZSBmaWxlIGhhcwoJICBiZWVuIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAyNTgKCjIwMTEtMDUtMDkgMTk6MDA6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogQWRkIHN1cHBvcnQgZm9yIG1wZWd2ZXJzaW9uIDIsIHdoaWNoIGlzIGFsc28gQUFDCgoyMDExLTA1LTExIDEwOjI1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBTZW5kIEVPUyB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGVuZCBvZiBmaWxlIGluc3RlYWQgb2YgZmFpbGluZwoJICBGaXhlcyBidWcgIzY0OTc4MC4KCjIwMTEtMDQtMjkgMDg6NTk6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBTZXQgZml4ZWRjYXBzIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlIHNpbmtwYWQKCSAgd2F2ZW5jIGRvZXMgbm90IGFsbG93IHRvIGNoYW5nZSB0aGUgY2FwcyBkdXJpbmcgcGxheWJhY2sKCSAgYW5kIGFsd2F5cyByZXR1cm5pbmcgdGhlIHRlbXBsYXRlIGNhcHMgaXMganVzdCB3cm9uZy4KCjIwMTEtMDQtMjkgMDg6NTU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBbGxvdyBzZXRjYXBzIHRvIGJlIGNhbGxlZCBhZnRlciBhIGZvcm1hdCB3YXMgbmVnb3RpYXRlZCBpZiBpdCdzIGNvbXBhdGlibGUKCSAgT3RoZXJ3aXNlIHdhdmVuYyB3aWxsIGZhaWwgaWYgdXBzdHJlYW0gZGVjaWRlcyB0byBzZXQgZXF1aXZhbGVudCBjYXBzIG9yIGNhcHMKCSAgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGxhdGVyLgoJICBUaGFua3MgdG8gQWxleGFuZGVyIFNjaHJlbW1lciBmb3IgZmluZGluZyB0aGlzIGJ1Zy4KCjIwMTEtMDUtMTQgMTA6MDI6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yOSA9PT0KCjIwMTEtMDUtMTAgMTA6MDQ6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjkKCSAgSGlnaGxpZ2h0czoKCSAgLSBhbXJwYXJzZSwgYWFjcGFyc2UsIGFjM3BhcnNlLCBmbGFjcGFyc2UsIG1wZWdhdWRpb3BhcnNlLCBkY2FwYXJzZSBhdWRpbyBwYXJzZXJzIChtb3ZlZCBmcm9tIC1iYWQpCgkgIC0gbXV4ZXJzIG5vdyBtdXggYmFzZWQgb24gcnVubmluZyB0aW1lCgkgIC0gSVNPIE1QNCBtdXhlcnM6IG1wNG11eC8zZ3BwbXV4L3F0bXV4L21qMm11eCAobW92ZWQgZnJvbSAtYmFkKQoJICAtIG5ldyBtYXRyb3NrYXBhcnNlIGVsZW1lbnQKCSAgLSBuZXcgdjRsMnJhZGlvIGVsZW1lbnQKCSAgLSBydHBzZXNzaW9uOiBzdXBwb3J0IFJUQ1AgRWFybHkgRmVlZGJhY2sgKHRoZSBBVlBGIHByb2ZpbGUpCgkgIC0gb3JjIDAuNC4xNCBvciBuZXdlciByZWNvbW1lbmRlZAoJICAtIG1hbnkgb3RoZXIgZml4ZXMgYW5kIGltcHJvdmVtZW50cwoKMjAxMS0wNS0wNSAxMzoyNDoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggc2lnbmVkIGZsb2F0aW5nIHBvaW50IHZhbHVlcyB3cml0aW5nCgkgIFlvdSB3b3VsZCBlbmQgdXAgb24gc29tZSBhcmNoaXRlY3R1cmVzIHdpdGggMCBiZWluZyB3cml0dGVuIG91dAoJICBpbnN0ZWFkIG9mIHRoZSBwcm9wZXIgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk0NDkKCjIwMTEtMDUtMDQgMTI6MDQ6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYXZvaWQgYnVpbGRpbmcgaW5kZXggd2hlbiBzdHJlYW1hYmxlCgkgIC4uLiBhcyBpdCB3aWxsIG5vdCBiZSB3cml0dGVuIGFueXdheS4KCSAgRml4ZXMgIzY0ODkzNyAoPykuCgoyMDExLTA1LTAyIDEyOjA5OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIG9sZCBxdGRlbXV4L3F1aWNrdGltZSBkaXJlY3RvcmllcyB0byBDUlVGVF9ESVJTIGFuZCBDUlVGVF9GSUxFUwoKMjAxMS0wNS0wMSAwMDowNDowMyAtMDQwMCAgVG9tIEphbmlzemV3c2tpIDx0b20uamFuaXN6ZXdza2lAYWxjYXRlbC1sdWNlbnQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCBvdmVyd3JpdGUgbWV0YWRhdGEgdGFnIHdpdGggZHVyYXRpb24gaW4gc3RyZWFtaW5nIG1vZGUKCSAgQSBkdXJhdGlvbiB0YWcgZ2V0cyBpbnNlcnRlZCBvbmx5IGZvciBzdHJlYW1hYmxlPWZhbHNlLCBzbyBvbmx5CgkgIHVwZGF0ZS93cml0ZSB0aGUgZHVyYXRpb24gbGF0ZXIgaWYgd2UgYWN0dWFsbHkgaW5zZXJ0ZWQgdGhhdCB0YWcsCgkgIG90aGVyd2lzZSB3ZSB3cml0ZSBnYXJiYWdlIGludG8gb3RoZXIgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2MAoKMjAxMS0wNC0zMCAxODoxNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBwby9mci5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI4LjQgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMzAgMTc6NDY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L2lzb21wNC9MRUdBTDoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuaDoKCSogZ3N0L2lzb21wNC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L2lzb21wNC9xdHBhbGV0dGUuaDoKCSogZ3N0L3F1aWNrdGltZS9MRUdBTDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC1kb2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC52Y3Byb2o6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0cGFsZXR0ZS5oOgoJKiBnc3QvcXVpY2t0aW1lL3F1aWNrdGltZS5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcXVpY2t0aW1lOiByZW5hbWUgcGx1Z2luIHRvIGlzb21wNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDA0CgoyMDExLTA0LTI5IDE3OjU1OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBmaXggc29tZSBwYXJzZXJzCgoyMDExLTA0LTI5IDE3OjU0OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmaXggZXJyb3IgY2F1c2VkIGJ5IG1lcmdpbmcKCjIwMTEtMDQtMjkgMTU6NDk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCjIwMTEtMDQtMjkgMTU6NDY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiBmaXggcGFkX2FsbG9jCgoyMDExLTA0LTI3IDEyOjQ1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBwby9iZy5wbzoKCSogcG8vamEucG86CgkqIHBvL25sLnBvOgoJKiBwby9ydS5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI4LjMgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMjYgMTU6NTg6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGZpeCBidWZmZXIgbGVhawoKMjAxMS0wNC0yNiAxNTo1ODoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZml4IGJ1ZmZlciBsZWFrCgoyMDExLTA0LTI2IDE1OjQyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogcG9ydCBqYWNrIGVsZW1lbnRzCgoyMDExLTA0LTI1IDEwOjA0OjUyICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb2N1bWVudGF0aW9uIHR5cG8gImpwZWdkZGVjIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4NTg5CgoyMDExLTA0LTI1IDE4OjE0OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgbW9yZSBlbGVtZW50cwoKMjAxMS0wNC0yNSAxNzoyNzo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgcnRwOiBwb3J0IG1vcmUgdG8gMC4xMQoKMjAxMS0wNC0yNSAxMzoxNjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBydHA6IHBvcnQgc29tZSBtb3JlIChkZSlwYXlsb2FkZXJzCgoyMDExLTA0LTI1IDEyOjQ5OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBwb3J0IHNvbWUgbW9yZSBlbGVtZW50cyB0byAwLjExCgoyMDExLTA0LTI1IDExOjM4OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNC0yNCAxNjo0NTowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGF2aW11eCxtYXRyb3NrYW11eDogQWRkIHN0cmVhbS1mb3JtYXQgdG8gaDI2NCBjYXBzCgkgIEZpeGVzICM2MDY2NjIuCgoyMDExLTAyLTIwIDEyOjEzOjQ5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogUmVtb3ZlIHRlbXBvcmFyeSBjb2RlCgkgIE5vdyB0aGF0IHdlIGRlcGVuZCBvbiAod2hhdCB3aWxsIGJlKSAtYmFzZS0wLjEwLjMzLgoKMjAxMS0wNC0yNCAxNDowMzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZG9uJ3QgcGFzcyAtV2FkZHJlc3MgdG8gT2JqQyBjb21waWxlciBvbiBPU1ggd2hlbiBjb21waWxpbmcgb3N4dmlkZW9zaW5rCgkgIFRlbXBvcmFyeSB3b3JrYXJvdW5kIHVudGlsIHdlIGZpeCB0aGlzIHByb3Blcmx5IGFuZCBjaGVjayBmb3IKCSAgdGhlIE9iakMgd2FybmluZy9lcnJvciBmbGFncyBpbnN0ZWFkIG9mIGp1c3QgcGFzc2luZyBDRkxBR1MgdG8gdGhlCgkgIE9iakMgY29tcGlsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM5MzkKCjIwMTEtMDQtMjQgMTM6Mjk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSAgcXVpY2t0aW1lOiByZW5hbWUgcGx1Z2luIGZpbGVuYW1lIGZyb20gKnF0ZGVtdXgqIHRvICpxdWlja3RpbWUqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMDQKCjIwMTEtMDQtMjQgMTQ6MDM6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjM2NhZmUxIHRvIDQ2ZGZjZWEKCjIwMTEtMDQtMjEgMjM6MzA6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LWRvYy5oOgoJICBkb2NzOiBhZGQgdmFyaW91cyBxdG11eCB2YXJpYW50cyB0byBkb2N1bWVudGF0aW9uCgoyMDExLTA0LTIxIDIyOjUxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgIHF1aWNrdGltZTogcmVnaXN0ZXIgM2dwcG11eCBlbGVtZW50IGluIGFkZGl0aW9uIHRvIHRoZSBtaXNuYW1lZCBncHBtdXgKCjIwMTEtMDQtMTggMTg6MDg6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFJlbW92ZSBpbmNvbXBsZXRlIHN1cHBvcnQgZm9yIFJUQ1AgRklSCgkgIFJlbW92ZSBiaXRzIHRoYXQgd2VyZSBtZWFudCB0byBzdXBwcG9ydCBSVENQIEZJUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MTYwCgoyMDExLTA0LTE5IDE4OjU1OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogcG9ydCB0byAwLjExCgoyMDExLTA0LTE5IDE3OjM1OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1c2UgR19ERUZJTkVfVFlQRSBzb21lIG1vcmUKCjIwMTEtMDQtMTkgMTc6MjA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpOiB1c2UgR19ERUZJTkVfVFlQRQoKMjAxMS0wNC0xOSAxNzowNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIHVzZSBHX0RFRklORV9UWVBFCgoyMDExLTA0LTE5IDE2OjI1OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNC0xOSAxNDozMzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL2luZGV4LmM6CgkgIHRlc3RzOiBhZGQgZ2VuZXJpYyBzZXRfaW5kZXggdGVzdAoKMjAxMS0wNC0xOSAxNDozMzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggZGVhZGxvY2sgb24gc2V0dGluZyBpbmRleCBvbiBmbHZkZW11eAoKMjAxMS0wNC0xOSAxNDoxNjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgdGVzdHM6IGFkZCBpbmRleC1zZXR0aW5nIHRlc3QgZm9yIGJhc2VwYXJzZS9mbGFjcGFyc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjgxMQoKMjAxMS0wNC0xOCAxMToyOToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB3YXZwYWNrOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6MTQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB3YXZlbmM6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMToxMTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRhZ3NjaGVja2luZzogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjEwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTA6NTQ6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBwb3J0IG1vcmUgcGx1Z2lucyB0byAwLjExCgoyMDExLTA0LTE4IDEwOjIzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGFuZHJvaWQvYXBldGFnLm1rCgkgIGFuZHJvaWQvYXZpLm1rCgkgIGFuZHJvaWQvZmx2Lm1rCgkgIGFuZHJvaWQvaWN5ZGVtdXgubWsKCSAgYW5kcm9pZC9pZDNkZW11eC5tawoJICBhbmRyb2lkL3F0ZGVtdXgubWsKCSAgYW5kcm9pZC9ydHAubWsKCSAgYW5kcm9pZC9ydHBtYW5hZ2VyLm1rCgkgIGFuZHJvaWQvcnRzcC5tawoJICBhbmRyb2lkL3NvdXAubWsKCSAgYW5kcm9pZC91ZHAubWsKCSAgYW5kcm9pZC93YXZlbmMubWsKCSAgYW5kcm9pZC93YXZwYXJzZS5tawoJICBjb25maWd1cmUuYWMKCjIwMTEtMDQtMTcgMDE6Mjk6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4ICd2YXJpYWJsZSBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyB3YXJuaW5ncyBjYXVzZWQgYnkgLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTA0LTE2IDE4OjUwOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkgIDAuMTAuMjguMiBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNiAxODo0OToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICBnc3Q6IHVwZGF0ZSBkaXN0ZWQgb3JjIGJhY2t1cCBjb2RlCgoyMDExLTA0LTE2IDE4OjI5OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNiAxODoyNzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vaWQucG86CgkqIHBvL3NsLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wNC0xNiAxODoxNzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZ1c2UgaW5jb21wbGV0ZSBsZWdhY3kgaDI2NCBjYXBzCgkgIFJlZnVzZSBoMjY0IGNhcHMgd2l0aG91dCBzdHJlYW0tZm9ybWF0IGFuZCBjb2RlY19kYXRhIGZpZWxkcyBmb3IKCSAgbm93LCB0byBhdm9pZCBjcmVhdGluZyBicm9rZW4gZmlsZXMuIFRoaXMgbWlnaHQgY2F1c2Ugc29tZSBwaXBlbGluZXMKCSAgdGhhdCB3b3JrZWQgcHJldmlvdXNseSB0byBmYWlsLiBIb3dldmVyLCB0aGUgbW92ZSBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaXMgb3VyIG9ubHkgY2hhbmNlIHRvIGZpeCB0aGlzIHVwLCBzbyBtYWtlIGl0IHN0cmljdCBmb3Igbm93LiBXZSBjYW4KCSAgYWx3YXlzIGNoYW5nZSBpdCBiYWNrIHRvIGJlIGxlc3Mgc3RyaWN0IGluIGZ1dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzkxOQoKMjAxMS0wNC0xNiAxODoxNjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZml4IGFub3RoZXIgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZwoKMjAxMS0wNC0xNiAxODoxMDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgcHVsc2UsIHNwZWV4ZW5jLCBydHBnc21wYXk6IGRvbid0IHVzZSBnX2Fzc2VydCgpIGZvciBlcnJvciBoYW5kbGluZwoJICBEb24ndCB1c2UgZ19hc3NlcnQoKSBmb3IgZXJyb3IgaGFuZGxpbmcsIGV2ZW4gaWYgdGhleSdyZSBoaWdobHkgdW5saWtlbHkuCgkgIEVpdGhlciB3ZSAqa25vdyogdGhhdCBzb21ldGhpbmcgY2FuJ3QgaGFwcGVuLCBpbiB3aGljaCBjYXNlIHdlCgkgIHNob3VsZCBqdXN0IG5vdCBoYW5kbGUgaXQsIG9yIHdlIHRoaW5rIHNvbWV0aGluZyBjYW4gaGFwcGVuLCBidXQgaXQgaXMKCSAgdmVyeSB2ZXJ5IHVubGlrZWx5IHRoYXQgaXQgd2lsbCBldmVyIGhhcHBlbiwgaW4gd2hpY2ggY2FzZSB3ZSBzaG91bGQKCSAgaGFuZGxlIGl0IGxpa2UgYW55IG90aGVyIGVycm9yIGluc3RlYWQgb2YgYXNzZXJ0aW5nLgoJICBnX2Fzc2VydCgpIGlzIGJlc3QgbGVmdCBmb3IgY29uZGl0aW9ucyB3ZSBoYXZlIGNvbnRyb2wgb2YsIGxpa2UgY2hlY2tpbmcKCSAgaW50ZXJuYWwgY29uc2lzdGVuY3kgb2Ygb3VyIGNvZGUsIG5vdCBjaGVja2luZyByZXR1cm4gdmFsdWVzIG9mIGV4dGVybmFsCgkgIGNvZGUuCgkgIEZpeGVzIGEgYnVuY2ggb2Ygd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQ6CgkgIGdzdHJ0cGdzbXBheS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3J0cF9nc21fcGF5X2hhbmRsZV9idWZmZXInOgoJICBnc3RydHBnc21wYXkuYzoxMzA6MTc6IHdhcm5pbmc6IHZhcmlhYmxlICdydHBnc21wYXknIHNldCBidXQgbm90IHVzZWQKCSAgZ3N0c3BlZXhlbmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9zcGVleF9lbmNfZW5jb2RlJzoKCSAgZ3N0c3BlZXhlbmMuYzo5MDQ6MTk6IHdhcm5pbmc6IHZhcmlhYmxlICd3cml0dGVuJyBzZXQgYnV0IG5vdCB1c2VkCgkgIHB1bHNlc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X3B1bHNlc2lua19jaGFuZ2Vfc3RhdGUnOgoJICBwdWxzZXNpbmsuYzoyNzI1Ojk6IHdhcm5pbmc6IHZhcmlhYmxlICdyZXMnIHNldCBidXQgbm90IHVzZWQKCSAgcHVsc2VzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9wdWxzZXNyY19jaGFuZ2Vfc3RhdGUnOgoJICBwdWxzZXNyYy5jOjEyNTM6Nzogd2FybmluZzogdmFyaWFibGUgJ2UnIHNldCBidXQgbm90IHVzZWQKCjIwMTEtMDQtMTYgMTg6MDc6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSAgZXhhbXBsZXM6IGZpeCBzb21lIHdhcm5pbmdzIGluIHJ0cCBleGFtcGxlCgkgIENhdXNlZCBieSAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDQtMTYgMTc6NTc6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBleGFtcGxlczogZG9uJ3QgcHV0IGNvZGUgd2l0aCBzaWRlLWVmZmVjdHMgaW50byBnX2Fzc2VydCgpCgkgIE90aGVyd2lzZSB0aGluZ3Mgd29uJ3Qgd29yayB0b28gd2VsbCB3aGVuIGNvbXBpbGluZyB3aXRoCgkgIC1ER19ESVNBQkxFX0FTU0VSVCAoYXMgd2UgZG8gZm9yIHByZS1yZWxlYXNlcyBhbmQgcmVsZWFzZXMpLgoKMjAxMS0wNC0xNiAxNjo1MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBkZWludGVybGFjZSwgbWF0cm9za2E6IGZpeCB0d28gdmFyaWFibGUtbWF5LWJlLXVzZWQtdW5pbml0aWFsaXplZCBjb21waWxlciB3YXJuaW5ncwoJICBXZSB1c2UgLURHX0RJU0FCTEVfQVNTRVJUIGZvciB0aGUgcHJlLXJlbGVhc2VzLCB3aGljaCBtYWtlcyB0aGVzZQoJICB3YXJuaW5ncyBwb3AgdXAgaW4gY2FzZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgY292ZXJlZCBieSBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgkgIGFuZCB0aGUgbGlrZToKCSAgdHZ0aW1lL2dyZWVkeWguYzo4MDE6MTQ6IHdhcm5pbmc6ICdzY2FubGluZScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgkgIG1hdHJvc2thLW11eC5jOjUwMToxOTogd2FybmluZzogJ2NvbnRleHQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMS0wNC0xNiAxNDo0NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIGFwZWRlbXV4OiBQb3J0IHRvIDAuMTEKCjIwMTEtMDQtMTYgMTM6MzM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjLTQuNgoKMjAxMS0wNC0xNiAxMzoyMzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGV4YW1wbGVzOiBmaXggJ2NvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24nIHdhcm5pbmcgaW4gY2Fpcm8gZXhhbXBsZQoKMjAxMS0wNC0xNSAxNTo0NzoyNCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlCgkgIFRoZSB2NGwyb2JqZWN0IGZvcm1hdHMgbGlzdCB3YXMgYmVpbmcgb2J0YWluZWQgaW50byBhIGxvY2FsIHZhcmlhYmxlIGFuZAoJICB0aGVuIHN0aWxsIHVzZWQgZnJvbSB0aGUgY29udGV4dC4gTWFrZSB1c2Ugb2YgdGhlIGxvY2FsIHZhcmlhYmxlLgoKMjAxMS0wNC0xNSAxNToxNzozNCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBvc3M0OiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42LnggY29tcGxhaW5zIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuIFVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICB3ZXJlIHJlbW92ZWQgZXhjZXB0IHRoYXQgZ3N0X29zczRfbWl4ZXJfc2xpZGVyX3NldF9tdXRlICgpIG5vdyByZXR1cm5zCgkgIHRoZSB2YWx1ZSBmcm9tIHRoZSBjYWxsIHRvIGdzdF9vc3M0X21peGVyX3NldF9jb250cm9sX3ZhbCAoKS4KCjIwMTEtMDQtMTUgMTU6MTQ6MTMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBqcGVnZW5jOiBwdWxzZXNpbms6IHJhdzEzOTQ6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHVzYWdlIG9mIHZhcmlhYmxlcy4gVGhlIHZhcmlhYmxlcyBpbgoJICByYXcxMzk0IHdlcmUgbWFya2VkIHdpdGggR19HTlVDX1VOVVNFRCBhcyB0aGlzIHNlZW1lZCBvbXJlIGFwcHJvcHJpYXRlLgoJICBUaGUgb3RoZXJzIHdlcmUgcmVtb3ZlZC4KCjIwMTEtMDQtMTUgMTU6MTI6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuY29kZTogc2hhcGV3aXBlOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42LnggY29tcGxhaW5zIGFib3V0IHN1Y2ggdXNhZ2UuCgoyMDExLTA0LTE1IDE1OjExOjM1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHRlc3RzOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB1c2FnZSBvZiB2YXJpYWJsZXMuCgoyMDExLTA0LTE1IDE1OjM2OjQxICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBhcmdiL3JnYmEgb3ZlcmxheSBvcmMgY29kZQoJICBSZW1vdmUgc29tZSByZWR1bmRhbnQgb3BlcmF0aW9ucyAoY29udnVidykgYW5kIHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSwKCSAgdDIsIGluIHRoZSBvcmNfb3ZlcmxheV9iZ3JhIGZ1bmN0aW9uLgoKMjAxMS0wNC0xNSAxNTozMzozNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCB2YXJpYWJsZXMgdGhhdCBhcmUgc2V0IGJ1dCB1bnVzZWQuIFN1Y2gKCSAgdmFyaWFibGVzIGhhdmUgYmVlbiByZW1vdmVkIGluIGJsZW5kLCBjb2xsZWN0cGFkczIgYW5kIHZpZGVvbWl4ZXIyLgoKMjAxMS0wNC0xNSAxNDo1NzoyMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cCwgcnRwbWFuYWdlcjogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHZhcmlhYmxlcyB0aGF0IGFyZSB1bnVzZWQgYnV0IHNldC4gU3VjaAoJICB2YXJpYWJsZXMgaGF2ZSBiZWVuIHJlbW92ZWQgd2hlcmUgdHJpdmlhbCBidXQgd2l0aCBjb21tZW50cyBsZWZ0IGJlaGluZAoJICBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBpbiBzb21lIGNhc2VzLgoJICBnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwICgpIHdhcyBjaGFuZ2VkIGluIGNvbW1pdCA0OTAxMTNkNAoJICB0byBhbHdheXMgcmV0dXJuIEdTVF9GTE9XX09LIGluc3RlYWQgb2YgdGhlIHJldHVybiB2YWx1ZSBvZgoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3AgKCksIHNvIHdlJ2xsIGtlZXAgaXQgdGhhdCB3YXkuCgoyMDExLTA0LTE1IDExOjI5OjMwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LmM6CgkgIHF1aWNrdGltZTogUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4gTm90ZSB0aGF0IHNvbWUKCSAgY2FsY3VsYXRpb25zIGFyZSBsZWZ0IGFzIGNvbW1lbnRzIGZvciBpbmZvcm1hdGl2ZSBwdXJwb3Nlcy4KCjIwMTEtMDQtMTUgMTE6MjM6MzggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuCgoyMDExLTA0LTE1IDExOjE5OjI2ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCBkdXJhdGlvbiB2YXJpYWJsZQoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4KCjIwMTEtMDQtMTUgMTE6MTg6MTkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx4ZGVtdXg6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCBrZXlmcmFtZSB2YXJpYWJsZXMKCSAgVGhlIEZJWE1FcyBhYm91dCB0aGUga2V5ZnJhbWUgZmxhZyBuZXZlciBiZWluZyB1c2VkIGFyZSBsZWZ0IGZvciBsYXRlcgoJICBmaXhpbmcsIGF0IHdoaWNoIHBvaW50IHRoZSBrZXlmcmFtZSB2YXJpYWJsZXMgY291bGQgYmUgYWRkZWQgYmFjay4KCjIwMTEtMDQtMTUgMTE6MTY6NDIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgaGVpZ2h0IHZhcmlhYmxlCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHZhcmlhYmxlcy4KCjIwMTEtMDQtMTUgMTg6NTE6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1cGRhdGUgZm9yIGdzdF9iYXNlX3BhcnNlX2ZyYW1lX2luaXQoKSBBUEkgY2hhbmdlCgoyMDExLTAyLTAxIDE1OjU3OjAxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBleGlzdGluZyBmdW5jdGlvbnMgdG8gcGFyc2UgUlRDUCBGQiBwYWNrZXRzCgkgIFVzZSBleGlzdGluZyBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBGQ0kgZnJvbSBGQiBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNTUzCgoyMDExLTAyLTAxIDE2OjIzOjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG1hcnNoYWwgR3N0QnVmZmVyIGFzIGEgTWluaU9iamVjdCBpbnN0ZWFkIG9mIGEgcG9pbnRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNTUzCgoyMDExLTA0LTE0IDIzOjI0OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBCZXR0ZXIgY2FsY3VsYXRpb24gb2YgZnJhbWVyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDc4MzMKCjIwMTEtMDQtMTMgMTI6Mzc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZGVmYXVsdCB0byBkdHMtbWV0aG9kPXJlb3JkZXIgYW5kIHByZXNlbnRhdGlvbi10aW1lPXRydWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjY5OQoKMjAxMS0wNC0xNSAxMjo0Nzo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IHRlc3QgdmFyaW91cyBkdHMtbWV0aG9kcwoKMjAxMS0wNC0xNSAxMjozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggY29ybmVyIGNhc2UgYnVmZmVyIGhhbmRsaW5nIGZvciByZW9yZGVyIG1ldGhvZAoKMjAxMS0wNC0xNCAxMzo0NzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBsZWFrIHRoZSBTRUVLSU5HIHF1ZXJ5CgoyMDExLTA0LTE0IDEzOjQzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuaDoKCSAgcXRtb292cmVjb3ZlcjogRG9uJ3QgbGVhayB0aGUgc3RhdGljIHJlY3Vyc2l2ZSBtdXRleAoKMjAxMS0wNC0xNCAxMzozNzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSAgdjRsMnJhZGlvOiBGcmVlIHZpZGVvZGV2IHN0cmluZyBiZWZvcmUgcmVwbGFjaW5nIGl0CgoyMDExLTA0LTE0IDEzOjI0OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBBbGxvdyB3ZWJtIGFuZCBtYXRyb3NrYSBjYXBzIGFuZCBkb24ndCBsZWFrIGNhcHMKCjIwMTEtMDQtMTQgMDc6MzU6MjkgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEFkZCBwYXJzZXIgcGx1Z2luCgoyMDExLTAzLTI0IDE0OjM0OjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BlbnRyb3B5d2F2ZS5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogQWRkIGNvbmRpdGlvbmFscyBvbiBXQVZFX0ZPUk1BVF9ET0xCWV9BQzNfU1BESUYKCjIwMTEtMDQtMTEgMjA6MDk6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xMSAyMDowNTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZyB3aXRoIGdjYyA0LjYKCSAgTW9zdCBsaWtlbHkgYSBsZWZ0b3ZlciBmcm9tIHdoZW4gdGhlIGluZGV4IHBhcnNpbmcgY29kZSB3YXMgcmV3cml0dGVuLgoKMjAxMS0wNC0xMSAxOTo1NDowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTEgMTk6NTA6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IGZpeCBoYW5kbGluZyBvZiBZVVYgaW1hZ2VzIHdpdGggJ29kZCcgd2lkdGhzCgkgIEZpeGVzIHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNi4KCjIwMTEtMDQtMTEgMTk6NDk6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTMgMTg6MTE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmN7YmFuZCxsaW1pdH06IEZpeCBjaGVjayBmb3IgZGl2aXNvbiBieSB6ZXJvCgoyMDExLTA0LTEzIDE4OjAxOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBGaXggcmFuZ2Ugb2Yga2VybmVsIGVsZW1lbnRzIChsaW0gLT4gbGltLTEpCgoyMDExLTA0LTEzIDE4OjAwOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IEFkZCBzb21lIG1vcmUgYnJhY2VzIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZQoKMjAxMS0wNC0xMSAxODo0MDozMCAtMDUwMCAgSm9yZGkgQnVyZ3VldC1DYXN0ZWxsIDxqb3JkaS5idXJndWV0LWNhc3RlbGxAbGlnby5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBGaXggcmFuZ2Ugb2Yga2VybmVsIGVsZW1lbnRzIChsaW0gLT4gbGltLTEpIGluIGhpZ2gvbG93LXBhc3MgZmlsdGVycwoKMjAxMS0wNC0xMyAxNzo0OToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb3dzaW5jYmFuZDogQWRkIG5ldyB3aW5kb3dpbmcgZnVuY3Rpb25zOiBnYXVzc2lhbiwgY29zIGFuZCBoYW5uCgoyMDExLTA0LTExIDE4OjQxOjQzIC0wNTAwICBKb3JkaSBCdXJndWV0LUNhc3RlbGwgPGpvcmRpLmJ1cmd1ZXQtY2FzdGVsbEBsaWdvLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaW10OiBBZGQgbmV3IHdpbmRvd3MgdG8gaGlnaC9sb3ctcGFzcyBmaWx0ZXJzOiBnYXVzc2lhbiwgY29zaW5lLCBoYW5uCgoyMDExLTA0LTEzIDE2OjQ3OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZXQgc3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbSBvbiBoMjY0IGNhcHMgaWYgdGhlcmUncyBubyBjb2RlYyBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTEtMDQtMTMgMTY6Mzc6MDcgKzAxMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiByZXN0cmljdCBoMjY0IHNvbWUgbW9yZSB0byBvbmx5IGFjY2VwdCBBVS1hbGlnbmVkIEFWQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDExLTA0LTEzIDE3OjExOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFRoZSBWQlJJIGhlYWRlciBpcyBhbHdheXMgYXQgb2Zmc2V0IDB4MjAsIGluZGVwZW5kZW50IG9mIE1QRUcgdmVyc2lvbgoJICBBbHNvIGNsZWFuIHVwIGFkdmFuY2luZyBvZiB0aGUgZGF0YSBwb2ludGVyIGEgYml0LgoJICBGaXhlcyBidWcgIzY0NzY1OS4KCjIwMTEtMDQtMTMgMTU6MTg6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogYWRkIHZhcmlhbnQtbGVzcyB2aWRlby9xdWlja3RpbWUgdG8gc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzCgkgIFRoaXMgaXMgbmVlZGVkIGZvciBhdXRvbWF0aWMgdHJhbnNjb2RpbmcgdXNpbmcgZW5jb2RlYmluLiBPdXIgdHlwZWZpbmRlcgoJICBkb2VzIG5vdCBhbHdheXMgYWRkIGEgdmFyaWFudCB0byB0aGUgZm91bmQgY2FwcywgYW5kIGVuY29kZWJpbiBuZWVkcwoJICBhbiAqZXhhY3QqIG1hdGNoIHRvIHRoZSBjYXBzIG9uIHRoZSBzb3VyY2UgcGFkIHRlbXBsYXRlLCBzbyB3ZSBuZWVkCgkgIHRvIGFkZCB0aGUgdmFyaWFudC1sZXNzIHZpZGVvL3F1aWNrdGltZSBjYXBzIHRvIHRoZSB0ZW1wbGF0ZSBhcyB3ZWxsCgkgIGZvciBlbmNvZGViaW4gdG8gYmUgYWJsZSB0byBmaW5kIGl0LiBBZGQgdW5pdCB0ZXN0IGZvciB0aGlzIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDI4NzkKCjIwMTEtMDQtMTMgMTY6MTc6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBQcm9wZXJseSBpbnRlcnByZXRlIHRoZSByZXN1bHQgb2Ygc3RyY21wKCkKCjIwMTEtMDQtMTMgMTY6MDk6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBEb24ndCBzdG9yZSBpbWFnZSB0YWdzIGluc2lkZSB0aGUgdm9yYmlzY29tbWVudHMgYW5kIHRoZSBmbGFjIG1ldGFkYXRhCgkgIEluc3RlYWQgb25seSBzdG9yZSB0aGVtIGluc2lkZSB0aGUgZmxhYyBtZXRhZGF0YS4gVGhlcmUncwoJICBubyBwb2ludCBpbiBzdG9yaW5nIHRoZW0gdHdpY2UgYW5kIHRoZSBmbGFjIG1ldGFkYXRhIGlzCgkgIHN0aWxsIHRoZSBvZmZpY2lhbCB3YXkgdG8gc3RvcmUgaW1hZ2UgdGFncyBpbnNpZGUgZmxhYy4KCjIwMTEtMDQtMTMgMTI6Mzg6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IHF0bXV4LXJlbGF0ZWQgdGVzdCBiaW5hcmllcwoKMjAxMS0wNC0xMyAxMToyNToxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhwbHVnaW4uYzoKCSogZ3N0L3F1aWNrdGltZS9xdWlja3RpbWUuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHF1aWNrdGltZTogbW92ZSBxdG11eCBwbHVnaW4gZnJvbSAtYmFkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzY2OTkKCjIwMTEtMDQtMDQgMTI6MjE6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogbW9yZSBoZWxwZnVsIGRlYnVnIGVycm9yIG1lc3NhZ2Ugd2hlbiBubyBuZWVkZWQgZHVyYXRpb24gb24gaW5wdXQgYnVmZmVycwoJICBGaXhlcyAjNjQ2MjU2LgoKMjAxMS0wMy0yMSAxMDo1Njo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkaW5nIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2UKCSAgQWRkcyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlIHN1cHBvcnQgdG8gcXRtdXgKCjIwMTEtMDMtMjIgMjA6NTM6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIFNlZSBhbHNvICM0MzI2MTIuCgoyMDExLTAzLTEwIDE2OjAzOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgZm9yIFBUUyBtZXRhZGF0YSB3aGVuIHNvIGNvbmZpZ3VyZWQKCSAgLi4uIGFuZCBub3Qgb25seSB3aGVuIHNvcnQtb2YgZmVlbGluZyBsaWtlIGl0LgoJICBJbiBhbnkgY2FzZSwgaWYgaXQgdHVybnMgb3V0IGFsbCByZWFsbHkgaXMgaW4gb3JkZXIsCgkgIGFuZCBwcmVzdW1hYmx5IERUUyA9PSBQVFMsIHRoZW4gbm8gY3R0cyB3aWxsIGJlIHByb2R1Y2VkIGFueXdheS4KCjIwMTEtMDMtMTAgMTY6MDI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWxzbyB0cmFjayBvcmlnaW5hbCBQVFMgYnVmZmVyIHRpbWVzdGFtcCBpbiByZW9yZGVyIGR0cy1tZXRob2QKCjIwMTEtMDItMjEgMTI6MTQ6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBSZXZlcnQgIkNoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmQ4NzQwNDc2Y2NkM2EzNDk4ZGM0ZjE4YzE5NzMzNjQzODI1YzdiOC4KCSAgRGVwZW5kcyBvbiBhIGNvcmUgY29tbWl0IHRoYXQgd2FzIHJldmVydGVkCgoyMDExLTAyLTIwIDIzOjU3OjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZAoJICBUaGUgY29yZSBub3cgY2FsbHMgcmVsZWFzZSBwYWQgZnJvbSBmaW5hbGl6ZSwgYXQgd2hpY2ggcG9pbnQKCSAgdGhlIGNvbGxlY3RwYWRzIG1pZ2h0IGhhdmUgYWxyZWFkeSBiZWVuIGZyZWVkLgoKMjAxMS0wMS0xMyAxMToyODozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0OiBxdG11eDogVGVzdHMgcXRtdXggcmV1c2UKCSAgRm9yY2VzIHRoZSB1c2Ugb2YgcXRtdXggYWZ0ZXIgaXQgaGFzIGJlZW4gcHV0IHRvIFBMQVlJTkcgYW5kIGJhY2sKCSAgdG8gTlVMTCBvbmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzgKCjIwMTEtMDEtMTMgMTU6Mjc6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IHNyYyBwYWRzIHdoZW4gc3RhcnRpbmcgZmlsZQoJICAuLi4gcmF0aGVyIHRoYW4gYXQgX2luaXQgdGltZSwgc28gdGhleSBhcmUgYWxzbyBhdmFpbGFibGUgZm9sbG93aW5nIGEKCSAgcGFkIChkZSlhY3RpdmF0aW9uIGN5Y2xlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTAzIDE3OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWRqdXN0IG5hc3R5IGNhc2UgdGltZXN0YW1wIHRyYWNraW5nCgkgIFRoYXQgaXMsIGFsbCBzb3J0cyBvZiBwcm9ibGVtcyBhcmlzZSB3aXRoIHJlLW9yZGVyZWQgaW5wdXQgdGltZXN0YW1wcyB0aGF0CgkgIHRlbmQgdG8gZGVmeSBhdXRvbWFnaWMgaGFuZGxpbmcgZm9yIGV2ZXJ5IGNhc2UsIHNvIGFsbG93IGZvciBhIGZldyB2YXJpYXRpb25zCgkgIHRoYXQgY2FuIGJlIHRyaWVkIGRlcGVuZGluZyBvbiBjaXJjdW1zdGFuY2VzLgoJICBBbHNvIHRyeSB0byBkb2N1bWVudCBhY2NvcmRpbmdseS4KCSAgQWxzbyBmaXhlcyAjNjM4Mjg4LgoKMjAxMC0xMi0zMCAyMTo0ODo0MSArMDIwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnZXQgcmlkIG9mIHRpbWVzdGFtcCBvdmVycHJvdGVjdGl2ZW5lc3MKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoyMDExLTAxLTAzIDE2OjU2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogc2ltcGxpZnkgYW5kIGZpeCBwdHNfb2Zmc2V0IHN0b3JpbmcKCSAgSW4gcGFydGljdWxhciwgb25seSB3cml0ZSBhIGN0dHMgYXRvbSBpZiBhbmQgb25seSBpZiBldmVyIGEgbm9uLXplcm8gb2Zmc2V0LgoKMjAxMS0wMS0wMyAxMDo0MzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgc29tZSBtb3JlIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTU6MjM6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogcmVtb3ZlIGxhcmdlLWZpbGUgcHJvcGVydHkKCSAgUmF0aGVyLCBhdXRvLWRldGVybWluZSBpZiA2NC1iaXRzIGZpZWxkcyBhcmUgbmVlZGVkIGZvciBhIHZhbGlkIHJlc3VsdCwgYW5kCgkgIHN0aWNrIHRvIHBsYWluIDMyLWJpdHMgaWYgbm90IG5lZWRlZC4KCSAgQVBJOiBHc3RRVE11eDpsYXJnZS1maWxlIChyZW1vdmVkKQoKMjAxMC0xMi0xOSAxMjo1MzozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIEF0b21JbmZvIHN0cnVjdHMKCjIwMTAtMTItMTkgMTI6NTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSB0YWcgc3RyaW5nIGFmdGVyIHVzZQoKMjAxMC0xMi0xOSAxMjoxMjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRhZ3NjaGVja2luZzogRml4IHNvbWUgbW9yZSBtZW1vcnkgbGVha3MKCjIwMTAtMTItMTcgMTk6NDE6MjUgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsbG93IHplcm8gZHVyYXRpb24gdHJhY2tzCgoyMDEwLTEyLTAzIDE4OjA5OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAxIDEwOjQ1OjQ5ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtc3ZjIGZ0cnVuY2F0ZSBpbmNvbXBhdGliaWxpdHkKCSAgRml4ZXMgIzYzNjE4NS4KCjIwMTAtMTEtMjcgMTY6MDc6MTkgLTA2MDAgIEFsZWphbmRybyBHb256YWxleiA8YWdvbnphbGV6QGRleHRyYXRlY2guY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZ3N0X3F0bXV4X2NoZWNrX2RpZmZlcmVuY2UgdmVyaWZ5IGJlZm9yZSBzdWJ0cmFjdAoJICBBdm9pZCBuZWdhdGl2ZSBvdmVyZmxvdyBieSBjaGVja2luZyB0aGUgb3JkZXIgb2Ygb3BlcmFuZHMKCSAgb24gc3VidHJhY3Rpb24gb2YgdW5zaWduZWQgaW50ZWdlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU4NzgKCjIwMTAtMTEtMTkgMTc6NTU6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHJlbW5hbnQgb2Ygb2Jzb2xldGUgcHJvcGVydHkKCjIwMTAtMTEtMTkgMTU6MTg6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBhbHNvIHVuaXQgdGVzdCBmcmFnbWVudGVkIGZpbGUgY2FzZXMKCjIwMTAtMDctMzAgMTI6NDg6MjkgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbGxvdyBzcGVjaWZ5aW5nIHRyYWsgdGltZXNjYWxlCgkgIFRoaXMgaXMgbWFpbmx5IGJlY2F1c2UgU21vb3Roc3RyZWFtaW5nIGNsaWVudCBhcmUgYnJva2VuIGFuZCBkb24ndAoJICB0YWtlIHRoZSBUaW1lU2NhbGUgcHJvcGVydHkgaW50byBhY2NvdW50LgoKMjAxMC0xMS0xOSAxNzo0MTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaW5jbHVkZSBzZHRwIGF0b21zIGZvciBpc212IGZyYWdtZW50ZWQgZmlsZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE5IDE5OjE3OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuYWJsZSBkZWZhdWx0IGZyYWdtZW50ZWQgZmlsZSBmb3IgaXNtbG11eAoKMjAxMC0wOS0wMiAxMzo1ODowNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICBxdG11eDogYWRkIGlzbWxtdXgsIGZvciBmcmFnbWVudGVkIGlzbWwgbWFqb3IgYnJhbmQKCjIwMTAtMTEtMTkgMTQ6NDQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZmluYWxpemUgc2lua3BhZHMgbGlzdAoKMjAxMC0wNy0yMiAxOTo0MDowNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbW9vdiBpbiBzdHJlYW1oZWFkZXIKCjIwMTAtMDgtMDYgMTM6MjY6MjcgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgc3RyZWFtYWJsZSBwcm9wZXJ0eSB0byBhdm9pZCBidWlsZGluZyBmcmFnbWVudGVkIG1mcmEgaW5kZXgKCjIwMTAtMTEtMTggMTY6NDg6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWRkIG1mcmEgdG8gZnJhZ21lbnRlZCBmaWxlCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0xNSAxNToxNzo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBvcHRpb25hbGx5IGNyZWF0ZSBmcmFnbWVudGVkIGZpbGUKCSAgSW4gdGhpcyBtb2RlLCBhbiBpbml0aWFsIGVtcHR5IG1vb3YgKGNvbnRhaW5pbmcgb25seSBzdHJlYW0gbWV0YWRhdGEpIGlzIHdyaXR0ZW4sCgkgIGZvbGxvd2VkIGJ5IGZyYWdtZW50cyBjb250YWluaW5nIGFjdHVhbCBkYXRhIChhbG9uZyB3aXRoIHJlcXVpcmVkIG1ldGFkYXRhKS4KCSAgTmV3IGZyYWdtZW50cyBhcmUgc3RhcnRlZCBlaXRoZXIgYXQga2V5ZnJhbWUgKGlmIHN1Y2ggYXJlIHNwYXJzZSkgb3Igd2hlbgoJICBwcm9wZXJ0eSBjb25maWd1cmVkIGR1cmF0aW9uIGV4Y2VlZGVkLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCSAgRml4ZXMgIzYzMjkxMS4KCjIwMTAtMTEtMTUgMTU6MTI6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogdXNlIGhlbHBlciB0byBzZXQgYXRvbSBmbGFncyBmcm9tIGdpdmVuIHVpbnQKCjIwMTAtMTEtMDkgMTY6NDk6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgY29uZmlndXJpbmcgYW5kIHNlbmRpbmcgb2YgbW9vdgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMDkgMTU6NTQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgZXh0cmEgdG9wLWxldmVsIGF0b20gaGFuZGxpbmcKCSAgQWxzbyBjaGVjayBhIGJpdCBtb3JlIGZvciBwb3NzaWJsZSBlcnJvcnMsIGFuZCBmcmVlIHByb3BlciBpdGVtcyBpbiBzdWNoIGNhc2UuCgoyMDEwLTExLTA5IDE1OjAxOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIHNsaWdodGx5IHVzaW5nIGJ1ZmZlciBoZWxwZXIKCjIwMTAtMTEtMDUgMTM6NDg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBjb21tZW50CgoyMDEwLTExLTA1IDEyOjA4OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkZWxlZ2F0ZSBtdmV4IGhhbmRsaW5nIHRvIGF0b21zCgkgIC4uLiB3aGljaCBrZWVwcyBxdG11eCBzaW1wbGVyLgoKMjAwOS0wOS0yOCAxNjoxMTozNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG12ZXgvdHJleCBpbiBoZWFkZXIgaWYgZnJhZ21lbnRlZAoJICBPbmUgInRyZXgiIGlzIGFkZGVkIHBlciAidHJhayIuIFdlIGRvbid0IHN1cHBvcnQgZGVmYXVsdCB2YWx1ZXMsCgkgIGJ1dCB0aGUgInRyZXgiIGJveCBpcyBtYW5kYXRvcnkuCgoyMDA5LTA5LTI4IDEzOjAxOjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgIHF0bXV4OiBhZGQgYSBjb3VwbGUgb2YgZm91cmNjIGZvciBmcmFnbWVudGVkIG1wNAoKMjAxMC0xMS0wNSAxMTowODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCByZW1vdmluZyB0ZW1wIGZpbGUgd2hlbiBlcnJvciBvY2N1cnJlZAoKMjAwOS0wOS0zMCAxNzoxNjozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB0cnVuY2F0ZSBidWZmZXIgZmlsZSBhZnRlciBlYWNoIHNlbmQKCjIwMDktMDktMjggMTY6NTM6NTEgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHRlbXAgZmlsZSB3aGVuIHJlc2V0L2ZpbmFsaXplCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xMyAxNzo0NzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBhZGp1c3RpbmcgZnJhbWVyYXRlCgkgIEZpeGVzICM2MzIwNzAuCgoyMDEwLTEwLTAzIDIzOjQ1OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIHRvIHF0bXV4IHByb3BlcnRpZXMKCjIwMTAtMDktMTUgMTc6NTQ6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogRm9sbG93IHhtcCBzZXJpYWxpemF0aW9uIGd1aWRlbGluZXMgY2xvc2VyCgkgIHF0IGFuZCBpc29tIHZhcmlhbnRzIGhhdmUgZGlmZmVyZW50IHdheXMgb2Ygc2VyaWFsaXppbmcKCSAgeG1wLCBmb2xsb3cgdGhlc2UgZ3VpZGVsaW5lcy4KCSAgVGhvc2UgY2FuIGJlIGZvdW5kIGluIEFkb2JlJ3MgeG1wIGRvY3MuCgoyMDEwLTA4LTE2IDEyOjM2OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF1dG9kZXRlY3Qgb3V0LW9mLW9yZGVyIGlucHV0IHRpbWVzdGFtcHMgYW5kIGRldGVybWluZSBEVFMgYWNjb3JkaW5nbHkKCSAgRmF2b3VyIHVzaW5nIGlucHV0IGJ1ZmZlciB0aW1lc3RhbXBzIGZvciBEVFMsIGJ1dCBmYWxsYmFjayB0byB1c2luZyBidWZmZXIKCSAgZHVyYXRpb24gKGFjY3VtdWxhdGlvbikgaWYgaW5wdXQgdHMgZGV0ZWN0ZWQgb3V0LW9mLW9yZGVyLgoJICBGaXhlcyAjNjI0MjEyLgoKMjAxMC0wNy0yOCAxNjoxNTo1MyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY2FwcyBiaXRyYXRlIGF0IGxhc3QgY2hhbmNlCgkgIElmIHdlIGRpZG4ndCBnZXQgdGhlIHN0cmVhbSdzIGJpdHJhdGUgZnJvbSBvbmUgb2YgdGhlIGF0b21zLAoJICB0cnkgZ2V0dGluZyBpdCBmcm9tIHRoZSBjYXBzIGFzIGEgbGFzdCByZXNvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMjggMTY6MTI6MTEgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogYnRydCAtIG1heCBiaXRyYXRlIGJlZm9yZSBhdmVyYWdlCgkgIEFjY29yZGluZyB0byBpc28gYmFzZSBtZWRpYSBmaWxlIGZvcm1hdCwgdGhlIG1heCBiaXRyYXRlCgkgIGlzIGJlZm9yZSB0aGUgYXZnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMDYgMTQ6NDg6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlICdidHJ0JyBhdG9tIGZvciBILjI2NCBtZWRpYSBpZiBwb3NzaWJsZQoJICBUaGlzIHdyaXRlcyBvdXQgdGhlIG9wdGlvbmFsICdidHJ0JyBhdG9tIChNUEVHNEJpdHJhdGVCb3gpIGZvciBILjI2NAoJICBtZWRpYSBpZiBlaXRoZXIgb3IgYm90aCBvZiBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGUgYXJlIGF2YWlsYWJsZSBmb3IKCSAgdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY3OAoKMjAxMC0wNy0wNSAxNDowOTo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBXcml0ZSBhdmcvbWF4IGJpdHJhdGUgdG8gRVNEUyBpZiBhdmFpbGFibGUKCSAgVGhpcyBjb2xsZWN0cyB0aGUgJ2JpdHJhdGUnIGFuZCAnbWF4aW11bS1iaXRyYXRlJyB0YWdzIG9uIHRoZQoJICBjb3JyZXNwb25kaW5nIHBhZCBhbmQgdXNlcyB0aGVzZSB0byBwb3B1bGF0ZSB0aGVzZSBmaWVsZHMgaW4gdGhlIEVTRFMKCSAgd2hlcmUgYXBwbGljYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY3OAoKMjAxMC0wNy0wMiAxMjo0NToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHVzZSBib2d1cyBjb2RlYy9mb3JtYXQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzY1CgoyMDEwLTA2LTI1IDIwOjE5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlIHVpbnQgdGFncyB0aGF0IGRvbid0IGhhdmUgYSBjb21wbGVtZW50CgkgIFdyaXRlIHVpbnQgdGFncyB0aGF0IGhhdmUgY29tcGxlbWVudHMgKGUuZy4gdHJhY2stbnVtYmVyLwoJICB0cmFjay1jb3VudCkgZXZlbiB3aGVuIHdlIG9ubHkgaGF2ZSBvbmUgb2YgdGhlbSBhdmFpbGFibGUKCSAgYW5kIHNldCB0aGUgb3RoZXIgb25lIHRvIDAuCgkgIEZpeGVzICM2MjI0ODQKCjIwMTAtMDYtMjEgMTk6Mzk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZW1vdmUgdGhlIHBhZCBmcm9tIG91ciBpbnRlcm5hbCBsaXN0IGJlZm9yZSBjYWxsaW5nIGNvbGxlY3RwYWRzCgkgIFByZXZpb3VzbHkgd2Ugd291bGQgZW5kIHVwIHdpdGggdGhlIGNvbGxlY3RwYWRkYXRhIHN0cnVjdHVyZSBhbHJlYWR5IGZyZWVkLgoJICBUaGlzIHdvdWxkIHJlc3VsdCBpbiBhIGJvZ3VzIGl0ZXJhdGlvbiBvZiBtdXgtPnNpbmtwYWRzIChhbGwgdGhlCgkgIEdzdFFUUGFkIGJlaW5nIGZyZWVkKSBhbmQgaXQgd291bGRuJ3QgYmUgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdC4KCSAgRmluYWxseSwgZHVlIHRvIGl0IG5vdCBiZWluZyByZW1vdmVkIGZyb20gdGhhdCBsaXN0LCB3ZSB3b3VsZCBlbmQgdXAKCSAgY2FsbGluZyBhIGJvZ3VzIGdzdF9xdF9tdXhfcGFkX3Jlc2V0IG9uIHRob3NlIHN0cnVjdHVyZXMgPT4gU0VHRkFVTFQKCjIwMTAtMDUtMTIgMTg6NTA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgVlA4CgoyMDEwLTA1LTExIDEzOjE1OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IGRvbid0IGZhaWwgdGFnc2NoZWNraW5nIHRlc3QgaWYgcXRkZW11eCBpcyBub3QgYXZhaWxhYmxlIG9yIHRvbyBvbGQKCjIwMTAtMDMtMjcgMDk6NDY6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogdXNlIEdTdHJlYW1lciBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbiBpbiB0aGUgcGx1Z2luIGluZm8KCjIwMTAtMDMtMjMgMTc6MzQ6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBOZXcgdGFncyB0ZXN0cwoJICBBZGRzIG5ldyB0YWdzIGNoZWNraW5nIHRlc3RzLgoKMjAxMC0wMy0yNSAwMDoyMDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdAoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMzoxNjozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MKCSAgYW5kIGZpeCBpdHMgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTEyIDExOjI4OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogSW1wcm92ZW1lbnRzIGFuZCBuZXcgZ2VvLWxvY2F0aW9uIHRlc3RzCgkgIE1ha2VzIHNvbWUgaW1wcm92ZW1lbnRzIHRvIHRhZ3NjaGVja2luZy5jLCBtYWtpbmcgaXQgdXNlCgkgIGZha2VzcmMgaW5zdGVhZCBvZiB2aWRlb3Rlc3RzcmMgYW5kIGFsbG93aW5nIHRvIHNldCBpbnB1dAoJICBjYXBzIHNvIHRoYXQgbW9yZSBtdXhlcnMgY2FuIGJlIHVzZWQuIFByZXZpb3VzbHkgd2UgY291bGQKCSAgb25seSB1c2UgdGhvc2UgdGhhdCBhY2NlcHRlZCByYXcgdmlkZW8gY2Fwcy4KCSAgQWxzbyBhZGRzIHNvbWUgdGVzdHMgZm9yIGdlby1sb2NhdGlvbiB0YWdzCgoyMDEwLTAzLTEyIDEwOjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSB4bXAgb24gbXA0bXV4IGFuZCBncHBtdXggdG9vCgkgIERvIG5vdCByZXN0cmljdCB4bXAgdG8gcXRtdXgsIGJ1dCB1c2UgaXQgdG9vCgkgIG9uIG1wNG11eCBhbmQgZ3BwbXV4CgoyMDEwLTAzLTA1IDEzOjMzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgY2hlY2s6IHRhZ3NjaGVja2luZzogdGVzdHMgZm9yIHRhZ3Mgc2VyaWFsaXphdGlvbiBpbiBtdXhlcnMKCSAgQWRkcyBhIGNoZWNrIHVuaXQgdGVzdCB0aGF0IGFpbXMgdG8gdGVzdCB0YWdzIHNlcmlhbGl6YXRpb24KCSAgYW5kIGRlc2VyaWFsaXphdGlvbiBjb25zaXN0ZW5jeSAoaW4gbXV4ZXJzKS4gSXQgcHJvdmlkZXMgYQoJICBiYXNpYyBmdW5jdGlvbiB0aGF0IGFsbG93cyBvbmUgdG8gZWFzaWx5IHNwZWNpZnkgdGFncywgYQoJICBtdXhlciBhbmQgYSBkZW11eGVyIGFuZCBhIHRlc3Qgd2lsbCBiZSBkb25lIHRvIGNoZWNrIGlmCgkgIHRoZSB0YWdzIGhhdmUgYmVlbiBjb25zaXN0ZW50bHkgbXV4ZWQgYW5kIGRlbXV4ZWQKCjIwMTAtMDItMjIgMTY6NDU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCB4bXAgc3VwcG9ydAoJICBBZGRzIHhtcCBtZXRhdGFncyBhZGRpbmcgdG8gcXRtdXguCgkgIEZpeGVzICM2MDk1MzkKCjIwMTAtMDMtMTEgMTc6MTc6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UKCSAgV2UgbmVlZCB0byBwYXNzIChOVUxMKSByYXRoZXIgdGhhbiBOVUxMIGZvciBlbXB0eSBhcmd1bWVudHMuCgoyMDEwLTAzLTEwIDEwOjIzOjIzIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgcXRtdXg6IGZpeCBjb21waWxlIGVycm9yCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOjI2ODogd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDItMjIgMTk6Mzg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogUmVuYW1lICdhdmMtc2FtcGxlJyB0byAnYXZjJyBpbiBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDItMjYgMTE6NTA6MjUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogVGFrZSBsb2NrIGFyb3VuZCB1c2Ugb2YgKG5vbi10aHJlYWRzYWZlKSB0YWdzZXR0ZXIgaW50ZXJmYWNlLgoKMjAxMC0wMi0yMiAxNjo1MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiB3cml0ZSBhbGwgdWR0YSBjaGlsZHJlbiBhdG9tcwoJICBVRFRBIG1pZ2h0IGhhdmUgTUVUQSBhbmQgb3RoZXIgY2hpbGRyZW4gYXRvbXMKCSAgdG9nZXRoZXIsIHdyaXRlIHRoZW0gYWxsLgoKMjAxMC0wMi0yMiAxMDo0ODoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFVzZSBpbnRlcm5hbCBzaW5rIHBhZHMgbGlzdAoJICBEdWUgdG8gR3N0Q29sbGVjdFBhZHMgc2luayBwYWRzIGxpc3QgYmVpbmcgbm90IHJlbGlhYmx5CgkgIGl0ZXJhdGFibGUgKHdoZW4gbm90IGluc2lkZSB0aGUgY29sbGVjdGVkIGZ1bmN0aW9uKSB0aGlzCgkgIHBhdGNoIGFkZHMgYSBzaW5rIHBhZHMgbGlzdCB0byBxdG11eCB0byBiZSB1c2VkIHdoZW4gaXRlcmF0aW5nCgkgIHNpbmsgcGFkcyBvbiByZXNldCBmdW5jdGlvbi4KCSAgRml4ZXMgIzYwOTA1NQoKMjAxMC0wMi0xNiAxNzoxMzowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBwcmV2ZW50IGxlYWtpbmcgaGRsciBuYW1lCgoyMDEwLTAyLTE2IDE2OjI0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIEFMQUMKCSAgRml4ZXMgIzU4MDczMS4KCjIwMTAtMDItMTYgMTQ6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogcmVmYWN0b3IgYnVpbGRpbmcgc3RzZCBlbnRyeSAnd2F2ZScgZXh0ZW5zaW9uCgoyMDEwLTAyLTA4IDExOjUxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJICBxdG11eDogYXRvbXNyZWNvdmVyeTogRml4IGNvbXBpbGF0aW9uIHByb2JsZW0KCSAgRml4ZXMgYSBjb21waWxhdGlvbiBlcnJvciBkdWUgdG8gdW51c2VkIGZ1bmN0aW9uIHJlc3VsdC4KCjIwMDktMTItMTIgMTY6MDc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogQWRkcyBtb292IHJlY292ZXJ5IGZlYXR1cmUKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSB0byBxdG11eCB0aGF0IHNldHMgYSBwYXRoIHRvIGEgZmlsZSB0byB3cml0ZQoJICBhbmQgdXBkYXRlIGRhdGEgYWJvdXQgdGhlIG1vb3YgYXRvbSAodGhhdCBpcyBub3Qgd3JpdGVuIHRpbGwgdGhlCgkgIGVuZCBvZiB0aGUgZmlsZSkuIElmIHRoZSBwaXBlbGluZS9hcHAgY3Jhc2hlcyBkdXJpbmcgZXhlY3V0aW9uIGl0CgkgIG1pZ2h0IGJlIHBvc3NpYmxlIHRvIHJlY292ZXIgdGhlIG1vdmllIHVzaW5nIHRoZSBxdG1vb3ZyZWNvdmVyIGVsZW1lbnQuCgkgIHF0bW9vdnJlY292ZXIgaXMgYW4gZWxlbWVudCB0aGF0IGlzIGFsc28gYSBwaXBlbGluZS4gSXQgaXMgbm90CgkgIG1lYW50IHRvIGJlIHVzZWQgd2l0aCBvdGhlciBlbGVtZW50cyAoaXQgaGFzIG5vIHBhZHMpLiBJdCBpcyBtZXJlbHkKCSAgYSB0b29sL3V0aWxpdGFyeSB0byByZWNvdmVyIHVuZmluaXNoZWQgcXRtdXggZmlsZXMuCgkgIEZpeGVzICM2MDE1NzYKCjIwMTAtMDEtMjcgMTk6MDY6NTMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogZm9yIGZpeGVkLXNhbXBsZSBzaXplIHN0cmVhbXMgKFBDTSBhdWRpbywgZXRjKSBkb24ndCBhbGxvY2F0ZSBhbiBlbm9ybW91cyBidWZmZXIgdGhhdCB3ZSB0aGVuIHdvbid0IHVzZSBhdCBhbGwuCgoyMDEwLTAxLTI3IDE1OjM3OjM3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtdXhpbmcgYWRwY20gY29ycmVjdGx5LgoKMjAxMC0wMS0yMiAxMzozNjowNCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBTZXQgdGhlIG1kaWEgaGRsciBuYW1lIGZpZWxkIHRvIHdoYXQgcXVpY2t0aW1lIHVzZXMuIEZpeCB3cml0aW5nIGl0IHNpbmNlIGl0J3Mgbm90IG51bGwtdGVybWluYXRlZC4gSW1wcm92ZXMgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgaGFyZHdhcmUgcGxheWVycy4KCjIwMTAtMDEtMjIgMTM6MzA6MDcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZW5kaWFubmVzcyBpbiBnc3RyZWFtZXIgaXMgYW4gaW50LCBub3QgYm9vbGVhbi4KCjIwMTAtMDEtMjYgMTc6NTQ6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgIHF0bXV4OiBzdHJlYW1saW5lIG1vb3YgZGF0YSBtZW1vcnkgc3RvcmFnZQoJICBJbiBwYXJ0aWN1bGFyLCB1c2UgYXJyYXlzIHJhdGhlciB0aGFuIChkb3VibGUpIGxpbmtlZCBsaXN0cy4KCjIwMTAtMDEtMjYgMTM6NDQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZ19mcmVlIGlzIE5VTEwgc2FmZQoKMjAxMC0wMS0yMCAxMzozMDo0OCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICBbY2xlYW51cF0gVmFyaW91cyBzdHlsZSBhbmQgY2xlYW51cHMKCSAgVmFyaW91cyBmaXhlcyBmb3IgZ3RrLWRvYyB3YXJuaW5ncyBhbmQgbWFraW5nIGZ1bmN0aW9ucyB3aXRob3V0CgkgIGFyZ3VtZW50cyB0YWtlIHZvaWQgYXMgcGFyYW1ldGVyLgoKMjAxMC0wMS0xNCAwODowOTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjdHVhbGx5IHVzZSBuZXcgY2FwcyBpbmZvIG9uIHJlbmVnb3RpYXRpb24KCSAgRm9sbG93aW5nIHRoZSBwcmV2aW91cyBxdG11eCBjb21taXQsIHRoaXMgcGF0Y2ggdHJpZXMKCSAgdG8gdXNlIHRoZSBuZXcgaW5mbyBhZGRlZCB0byB0aGUgY2FwcyB0byBmaWxsIHRoZSAndHJhaycKCSAgYXRvbSdzIGZpZWxkcyBhbmQgY2hpbGRyZW4gYXRvbXMuIFRoaXMgd2F5IHF0bXV4IHdpbGwKCSAgdXNlIHRoZSBsYXRlIGFkZGVkICdjb2RlY19kYXRhJyB3aGVuIGgyNjRwYXJzZSBhZGRzCgkgIGl0IGluIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmU6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTMgMjM6MzM6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEbyBjYXBzIHJlbmVnb3RpYXRpb24gd2hlbiBpdCBvbmx5IGFkZHMgZmllbGRzCgkgIFF0bXV4IGNhbiBhY2NlcHQgY2FwcyByZW5lZ290aWF0aW9uIGlmIHRoZSBuZXcgY2FwcyBpcyBhCgkgIHN1cGVyc2V0IG9mIHRoZSBvbGQgb25lLCBtZWFuaW5nIHVwc3RyZWFtIGFkZGVkIG5ldyBpbmZvIHRvCgkgIHRoZSBjYXBzLiBUaGlzIHBhdGNoIHN0aWxsIGRvZXNuJ3QgbWFrZSBxdG11eCB1cGRhdGUgYW55CgkgIGF0b21zIGluZm8gZnJvbSB0aGUgbmV3IGluZm8sIGJ1dCBhdCBsZWFzdCBpdCBkb2Vzbid0CgkgIHJlamVjdCB0aGUgbmV3IGNhcHMgYW55bW9yZS4KCSAgQSBwaXBlbGluZSB0aGF0IHJlcHJvZHVjZXMgdGhpcyB1c2UgY2FzZSBpczoKCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCAhIHgyNjRlbmMgYnl0ZS1zdHJlYW09dHJ1ZSAhIFwKCSAgaDI2NHBhcnNlIG91dHB1dC1mb3JtYXQ9MCAhIHF0bXV4ICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj10ZXN0Lm1vdgoKMjAxMC0wMS0xMyAxOTozMDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIHJlcXVlc3QgcGFkcyB1bmRlciB3aWRlciBjb25kaXRpb25zCgkgIEZpeGVzICM2MDY4NTkuCgoyMDEwLTAxLTEzIDEwOjM1OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IGF2Yy1zYW1wbGUgaDI2NAoJICBxdG11eCBhbmQgbXA0bXV4IHNob3VsZCBvbmx5IGFjY2VwdCBoMjY0IGluIGF2Yy1zYW1wbGUKCSAgZm9ybWF0CgoyMDEwLTAxLTExIDEzOjEzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBSZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCAnbm9uZScgdG8gJ3JhdycKCSAgUmVuYW1lcyBhYWMncyBzdHJlYW0tZm9ybWF0IGZyb20gcHJldmlvdXMgY29tbWl0cyBmcm9tIG5vbmUgdG8KCSAgcmF3CgoyMDEwLTAxLTExIDEwOjM0OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgc3RyZWFtLWZvcm1hdD0nbm9uZScgYWFjCgkgIE9ubHkgYWNjZXB0IHJhdyBhYWMgc3RyZWFtcyAoc3RyZWFtLWZvcm1hdD1ub25lKSB0byBhdm9pZAoJICBnZW5lcmF0aW5nIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzICM2MDQ5MjUKCjIwMDktMTItMjggMTE6MzQ6MzUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsc28gYWRkIC5oIGZpbGUgY2hhbmdlcyB0byB1bmJyZWFrIHRoZSBidWlsZAoKMjAwOS0xMi0yNyAyMzo1MTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNvcnJlY3QgbmFtZXMgZnJvbSB0ZW1wbGF0ZSBmb3IgcmVxdWVzdCBwYWRzCgkgIFRoZSBwYWRzIHdoZXJlIG5hbWVzIHBhZDAsIHBhZDEsIC4uLgoKMjAwOS0xMi0yNyAyMzozMjo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogbW92ZSBlcnJvcnMgX25ld19wYWQgdG8gdGhlIGVuZAoKMjAwOS0xMi0yMSAxMzo1ODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY2NlcHQgbm9uLXBhaXJlZCB1aW50IHRhZ3MKCSAgQWRkcyBzdXBwb3J0IGZvciB1bnBhaXJlZCB1bnNpZ25lZCBpbnRlcmdlciB0YWdzCgoyMDA5LTEyLTIxIDEyOjA1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZHMgbmV3IHRhZ3MKCSAgTWFwcyBtb3JlIHRhZ3MgdGhhdCBhcmUgYWxyZWFkeSBwb3N0ZWQgYnkgcXRkZW11eAoJICBGaXhlcyAjNTk5NzU5CgoyMDA5LTEyLTEwIDIyOjIwOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBtb3JlIG9mIGoyawoJICBSZWFkcyB0aGUgbmV3IGNhcHMgYWRkZWQgdG8gcXRkZW11eCBieSBjb21taXQKCSAgYzkxN2Q2NWU2ZGYwYjVkNTg1ZjkwNWM3YWQ3OGE4YTBhNDRiMmNiMAoJICBhbmQgYWRkcyBpdHMgY29ycmVzcG9uZGluZyBhdG9tcy4KCSAgQWxzbyBhZGRzIHN1cHBvcnQgZm9yIGltYWdlL3gtanBjIGFzIGl0IGlzIHRoZSBzYW1lCgkgIGFzIGltYWdlL3gtanAyLCBleGNlcHQgdGhhdCB0aGUgYnVmZmVycyBuZWVkIHRvIGJlCgkgIGJveGVkIGluc2lkZSBhIGpwMmMgaXNvbSBib3ggYmVmb3JlIG11eGluZy4gVG8gc29sdmUKCSAgdGhpcyB0aGUgUVRQYWRzIG5vdyBoYXZlIGEgZnVuY3Rpb24gdGhhdCAoaWYKCSAgbm90IE5VTEwpIGlzIGNhbGxlZCB3aGVuIGEgYnVmZmVyIGlzIGNvbGxlY3RlZC4gVGhpcwoJICBmdW5jdGlvbiByZXR1cm5zIGEgcmVwbGFjZW1lbnQgdG8gdGhlIGN1cnJlbnQgY29sbGVjdGVkCgkgIGJ1ZmZlci4KCSAgRml4ZXMgIzU5ODkxNgoKMjAwOS0xMi0xMCAxNjo1MzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IE1hcHMgJ2NsYXNzaWZpY2F0aW9uJyB0YWcgZm9yIDNncHAgZmlsZXMKCSAgQWRkcyB0aGUgbWFwcGluZyBvZiAnY2xhc3NpZmljYXRpb24nIHRhZ3MgdG8gd3JpdGluZyBvZgoJICAnY2xzZicgYXRvbXMgZm9yIGdwcG11eC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKMjAwOS0xMi0wOCAxNzo1OTowNCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBjKysgY29tbWVudHMgYW5kIGFkZCBzb21lIG1vcmUgY29tbWVudHMuCgoyMDA5LTEyLTA4IDE3OjU1OjU2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBpbWEgYWRwY20gc3VwcG9ydAoKMjAwOS0xMS0yNSAyMTo0MToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZXBsYWNlIF9zY2FsZSB3aXRoIF9zY2FsZV9yb3VuZAoJICBVc2UgdGhlIHJvdW5kaW5nIHZlcnNpb24gZm9yIGltcHJvdmVkIHN5bmMgYmV0d2VlbiBzdHJlYW1zLgoJICBTbWFsbCB2YXJpYXRpb25zIGluIHRoZSBkdXJhdGlvbiB3aGVuIG11eGluZyBtaWdodCBsZWFkIHRvCgkgIGN1bXVsbGF0aXZlIHdyb25nIHRpbWVzdGFtcGluZyB3aGVuIGRlbXV4aW5nLgoJICBGaXhlcyAjNjAyOTM2CgoyMDA5LTExLTI0IDE2OjE2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSB0aW1lc3RhbXBzIGZvciBtdXhpbmcKCSAgVHJ5IHRvIHVzZSB0aW1lc3RhbXBzIGV2ZW4gd2hlbiB0aGUgc3RyZWFtIGhhcyBvdXQgb2Ygb3JkZXIKCSAgdGltZXN0YW1wcywgb25seSBmYWxsIGJhY2sgdG8gZHVyYXRpb25zIHdoZW4gd2UgZGV0ZWN0IGFuCgkgIG91dCBvZiBvcmRlciBidWZmZXIuIEltcHJvdmVzIHN5bmMgYmV0d2VlbiBzdHJlYW1zLgoKMjAwOS0xMS0xOSAxODoyODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoJICBBZGRzIGEgbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoKMjAwOS0xMS0xOSAxMTozNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGRlYnVnIHN0YXRlbWVudAoKMjAwOS0xMS0xOSAxMToxNDo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbnN1cmUgd3JpdGFibGUgYnVmZmVyIG1ldGFkYXRhIGJlZm9yZSBzZXR0aW5nIGNhcHMKCjIwMDktMTAtMjkgMDg6MzY6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgU1ZRMwoJICBBZGRzIHN1cHBvcnQgZm9yIG11eGluZyBTVlEzIGNvbnRlbnQuIFVzdWFsbHkgdGhpcyBmb3JtYXQKCSAgaGFzIGRlY29kZXIgaW5mbyB0aGF0IG11c3QgYmUgcGFzc2VkIGluIHRoZSAnc2VxaCcgZmllbGQKCSAgaW4gdGhlIGNhcHMuIEl0IGlzIGFsc28gZ29vZCB0byBhZGQgdGhlIGdhbWEgYXRvbSB0byBtYWtlCgkgIHF1aWNrdGltZSBub3QgY3Jhc2guCgkgIEZpeGVzICM1ODc5MjIKCjIwMDktMTEtMTcgMDk6MjY6MDUgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZG8gbm90IGxlYWsgYSBzdHJpbmcKCSAgRnJlZXMgYSBzdHJpbmcgYWZ0ZXIgdXNlLiBBbHNvIGRvZXMgc29tZSBjb2RlIG9yZ2FuaXphdGlvbgoKMjAwOS0xMS0xNiAxNDo1Nzo1MyAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBkbyBub3QgYWRkIHNpemUgdG8gdGhlIHBvaW50ZXIgdmFyaWFibGUKCSAgRG8gbm90IHdyb25nbHkgYWRkIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uIHRvIHRoZQoJICBwb2ludGVyIHRvIHRoZSBidWZmZXIgc2l6ZS4gSW5zdGVhZCwgY2hlY2sgdGhlIHJlc3VsdAoJICB0byBzZWUgaWYgdGhlIHNlcmlhbGl6YXRpb24gd2FzIG9rLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiAiQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+IgoJICBGaXhlcyAjNjAyMTA2CgoyMDA5LTExLTA2IDEwOjM0OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGhhbmRsZSAnbGF0ZScgc3RyZWFtcwoJICBXaGVuIG11eGluZyBzdHJlYW1zLCBzb21lIGNhbiBzdGFydCBsYXRlciB0aGFuIG90aGVycy4gcXRtdXgKCSAgbm93IGhhbmRsZSB0aGlzIGJ5IGFkZGluZyBhbiBlbXB0eSBlZHRzIGVudHJ5IHdpdGggdGhlCgkgIGR1cmF0aW9uIG9mIHRoZSAnbGF0ZW5lc3MnIHRvIHRoZSBzdHJlYW0ncyB0cmFrLgoJICBJdCB0b2xlcmF0ZXMgYSBzdHJlYW0gdG8gYmUgdXAgdG8gMC4xcyBsYXRlLgoJICBGaXhlcyAjNTg2ODQ4CgoyMDA5LTExLTA1IDIxOjM1OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICBxdG11eDogYWRkcyB0aGUgRURUUyBhbmQgRUxUUyBhdG9tcyB0byBhdG9tcy5jCgkgIFRoZXNlIGF0b21zIHdpbGwgYmUgdXNlZnVsIGZvciBzaWduYWxpbmcgc3RyZWFtcwoJICB0aGF0IHN0YXJ0IGxhdGVyIGluIHRoZSBmaWxlLiBBcyB3ZWxsIGZvciBhZGRpbmcKCSAgZWRpdCBsaXN0cyBpZiBuZWVkZWQgc29tZXRpbWUgbGF0ZXIuCgoyMDA5LTExLTA2IDAwOjQ2OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkaW5nIHNvbWUgaWZzIGZvciBwcm90ZWN0aW9uCgkgIEFkZGluZyBzb21lcyBpZnMgdG8gcHJvdGVjdCBhZ2FpbnN0IHdhcm5pbmcgY29uZGl0aW9ucwoJICB0aGF0IG1pZ2h0IGhhcHBlbiB3aGVuIHVwc3RyZWFtIGVsZW1lbnQgaXMgbm90IHNhbmUKCSAgRml4ZXMgIzYwMDg5NQoKMjAwOS0xMC0xNiAxMDo0NzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgIGdwcG11eDogQWRkIHN1cHBvcnQgZm9yIDNncjYKCSAgS2VlcCB0cmFjayBvZiB0aGUgY2h1bmsgZHVyYXRpb25zIHRvIGJlIGFibGUgdG8gYWRkIDNncjYKCSAgYnJhbmQgaWYgaXQgaXMgYSBmYXN0c3RhcnQgZmlsZSBhbmQgdGhlIGxvbmdlc3QgY2h1bmsgaXMKCSAgc21hbGxlciB0aGFuIGEgc2VjLiBJbXBsZW1lbnRlZCBhY2NvcmRpbmcgdG8gM2dwcAoJICBUUyAyNi4yNDQgdjYuNC4wICgyMDA1LTA5KQoJICBGaXhlcyAjNTg0MzYxCgoyMDA5LTEwLTE1IDIxOjExOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE9ubHkgcHVzaCBmdHlwIGxhdGVyIChpbiBmYXN0c3RhcnQgbW9kZSkKCSAgSW4gZmFzdHN0YXJ0IG1vZGUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2VuZCB0aGUgZnR5cAoJICByaWdodCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0uIFdhaXRpbmcgYW5kIHNlbmRpbmcgaXQKCSAgb25seSBsYXRlciAod2hlbiB0aGUgbW9vdiBhdG9tIGlzIHJlYWR5IHRvIGJlIHNlbnQpIHByb3ZpZGVzCgkgIHVzIHdpdGggbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RyZWFtIGFuZCB3ZSBjYW4gYmV0dGVyCgkgIHNlbGVjdCB0aGUgY29tcGF0aWJsZSBicmFuZHMuCgoyMDA5LTEwLTE1IDE3OjUxOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEltcHJvdmUgZXJyb3IgbWVzc2FnZQoJICBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBjYW4ndCBnZXQgb3IgZXN0aW1hdGUgdGhlCgkgIHRpbWVzdGFtcC9kdXJhdGlvbiBvZiBhIGJ1ZmZlcgoKMjAwOS0wOS0yOSAxNTo0NzoxMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBmaXggZmxhZ3NfYXNfdWludCB0byBmbGFnc1tdCgoyMDA5LTA4LTA0IDEyOjU4OjM1ICswMjAwICBKYW4gVXJiYW5za2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCByZXF1aXJlIGVuZGlhbm5lc3MgZmllbGQgZm9yIDggYml0IHJhdyBhdWRpbwoJICBGaXhlcyBidWcgIzU5MDM2MC4KCjIwMDktMDYtMjUgMDg6Mzg6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNi0yNSAwODozODoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA5LTA2LTExIDE1OjU0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBvbmx5IHVzZSAoNjQtYml0KSBleHRlbmRlZCAobWRhdCkgYXRvbSBzaXplIGlmIG5lZWRlZC4gIEZpeGVzICM1ODUzMTkuCgoyMDA5LTA2LTEwIDE0OjQ2OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBkZWZhdWx0IG1vdmllIHRpbWVzY2FsZSB0byBtaWNyb3NlY29uZCB1bml0cwoKMjAwOS0wNi0xMCAxMzoyNDoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBjb21wcmVzcy9vcHRpbWl6ZSBzdHNjIHdyaXRpbmcKCjIwMDktMDYtMTAgMTI6NDI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIDNHUCBzdHlsZSB0YWdnaW5nIChhbmQgcmVmYWN0b3IgYXBwcm9wcmlhdGVseSkKCjIwMDktMDYtMDEgMjM6MDA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXggKGFuZCB2YXJpYW50cyk6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8uICBGaXhlcyAjNTg0MzU4LgoKMjAwOS0wNi0wMSAyMjo0MjowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IGVuaGFuY2UgZnR5cCBicmFuZCBoZXVyaXN0aWMuICBGaXhlcyAjNTg0MzYwLgoKMjAwOS0wNS0yOCAxMzo1NjoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgZGlmZmVyZW50IHN0c2QgYXRvbSB0eXBlIGZvciBIMjYzIGZvciBJU08gYW5kIFFUIHZhcmlhbnRzCgkgIEZpeGVzICM1ODQxMTQuCgoyMDA5LTA1LTE1IDAxOjU0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgW3F0bXV4XSBGaXhlcyBzZWdmYXVsdCB3aGVuIGFkZGluZyBhIGJsb2IgYXMgZmlyc3QgdGFnLgoJICBNb3ZlcyB0YWdzIGRhdGEgaW5pdGlhbGl6YXRpb24gdG8gdGhlIGZ1bmN0aW9uIHRoYXQgYWN0dWFsbHkgYXBwZW5kcwoJICB0aGUgdGFncyB0byB0aGUgbGlzdC4gRml4ZXMgIzU4MjcwMgoJICBBbHNvIGZpeGVzIHNvbWUgc3R5bGUgY2F1Z2h0IGJ5IHRoZSBwcmUtY29tbWl0IGhvb2suCgoyMDA5LTA1LTEwIDIxOjIxOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBBZGQgTVBFRy00IHBhcnQgMiB0byBzdXBwb3J0ZWQgZm9ybWF0cy4gIEZpeGVzICM1ODE1OTMuCgoyMDA5LTA1LTA3IDE3OjUzOjQyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIEFkZCByYW5rcyB0byB2YXJpb3VzIG11eGVycyBhbmQgZW5jb2RlcnMgaW4gLWJhZAoKMjAwOS0wNC0zMCAxNDo0MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBjaGFuZ2VzIGNhcHMgb2Ygc3JjIHBhZHMgdG8gdmlkZW8vcXVpY2t0aW1lLCB2YXJpYW50PXNvbWV0aGluZwoJICBUYWtlIGEgbG9vayBhdCBidWcgIzU4MDAwNSBmb3IgZnVydGhlciBpbmZvLgoKMjAwOS0wNC0yNCAxODo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIG1wNG11eDogQ2hhbmdlcyBzcmMgY2FwcyB0byBhcHBsaWNhdGlvbi94LWlzby1tcDQKCSAgRml4ZXMgIzU4MDAwNQoKMjAwOS0wMy0yNSAyMToyNDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggcmV1c2luZyBlbGVtZW50CgkgIFN0YXRlIGNoYW5nZSB0byBSRUFEWSBhbmQgdGhlbiBiYWNrIHRvIFBBVVNFRCBzaG91bGQgc3RpbGwgcHJvdmlkZQoJICB0aGUgcHJvcGVyIHN0cnVjdHVyZXMgYXMgYXJlIG90aGVyd2lzZSBmcmVzaGx5IGF2YWlsYWJsZSBmb2xsb3dpbmcKCSAgYSByZXF1ZXN0X25ld19wYWQuCgkgIFBvaW50ZWQgb3V0IGJ5IFRoaWFnbyBTYW50b3MuCgoyMDA5LTAzLTIzIDExOjE3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGluY2x1ZGVzIGZvciBsc2VlawoJICAtLQoKMjAwOS0wMy0yMCAxNDoyMDoxNiArMDEwMCAgTFJOIDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHdpbjMyOiBmaXggc2Vla2luZyBpbiBsYXJnZSBmaWxlcwoJICBVc2UgX2xzZWVraTY0KCkgb24gV2luZG93cyB0byBzZWVrIGluIGxhcmdlIGZpbGVzLgoJICBGaXhlcyAjNTc2MDIxLgoKMjAwOS0wMy0wMiAxMDo1NzozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEJlIGEgYml0IG1vcmUgdmVyYm9zZSBpbiBvdXIgZGVidWcgbWVzc2FnZSB3aGVuIGZhaWxpbmcgdG8gcmVuZWdvdGlhdGUKCjIwMDktMDEtMjggMTM6MjU6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBBZGRpdGlvbmFsIG1lZGlhIHR5cGUgc3VwcG9ydCBpbiBxdG11eCAoYW5kIGZyaWVuZHMpLgoJICBTdXBwb3J0IEFNUiBhbmQgSDI2MyBmb3IgYm90aCBxdG11eCBhbmQgZ3BwbXV4LAoJICBhbmQgYWRkIGV4dGVuc2lvbnMgaW4gc2FtcGxlIHRhYmxlIGRlc2NyaXB0aW9uLgoKMjAwOS0wMS0wOSAyMTo1OTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydCB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0CgkgIHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzU2Njk1OAoKMjAwOC0xMi0xOSAxODo1Mzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IERvIG5vdCB0ZW1wdCBvciBzdWdnZXN0IHRvIHZpb2xhdGUgZ3N0X2NvbGxlY3RfcGFkcyBBUEkgc3BlY2lmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgoyMDA4LTEyLTE5IDE4OjMzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCjIwMDgtMTItMTYgMTY6MjY6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzCgkgIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgoyMDA4LTEyLTAxIDE2OjM3OjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvYXRvbXMuYzogRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6IChidWlsZF9qcDJoX2V4dGVuc2lvbik6CgkgIEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCjIwMDgtMTEtMTggMDE6MDk6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBRdWlldCBhIGRlYnVnZ2luZyBtZXNzYWdlIHRoYXQgSSByZWNlbnRseSBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBRdWlldCBhIGRlYnVnZ2luZyBtZXNzYWdlIHRoYXQgSSByZWNlbnRseQoJICBhZGRlZC4KCjIwMDgtMTEtMTUgMDI6NTY6MzEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC4qOiBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgoyMDA4LTExLTE0IDIxOjI0OjUxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCjIwMDgtMTEtMTQgMjA6Mzg6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCjIwMDgtMTEtMTQgMjA6MTc6MTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IEN1dCBkZXRvdXIgaW4gc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbiBjb25zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzogKGJ1aWxkX2VzZHNfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX21vdl9hYWNfZXh0ZW5zaW9uKSwgKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX2NvZGVjX2RhdGFfZXh0ZW5zaW9uKToKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2F1ZGlvX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3F0X211eF92aWRlb19zaW5rX3NldF9jYXBzKToKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6IChnc3RfcXRfbXV4X21hcF9mb3JtYXRfdG9faGVhZGVyKToKCSAgQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgQWxzbyBhY3R1YWxseSBpbXBsZW1lbnQgSVNPIEpQRUcyMDAwIG1qMiBmb3JtYXQuCgoyMDA4LTExLTExIDE5OjMxOjM1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfcXRtdXgpLCAoY2xlYW51cF9xdG11eCksCgkgIChjaGVja19xdG11eF9wYWQpLCAoR1NUX1NUQVJUX1RFU1QpLCAocXRtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoKMjAwOC0xMS0xMSAxOToyNDoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IEFkZCBzb21lIG1vcmUgc2FmZXR5L3Nhbml0eSBjaGVja3MgaW4gdGFnIG1hbmlwdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hZGRfbWV0YWRhdGFfdGFncyk6CgkgIEFkZCBzb21lIG1vcmUgc2FmZXR5L3Nhbml0eSBjaGVja3MgaW4gdGFnIG1hbmlwdWxhdGlvbi4KCjIwMDgtMTEtMDggMDI6MDA6NTggKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIENvcHkgcXRtdXggZnJvbSByZXZpc2lvbiAxNDggb2YgdGhlIGdzdC1xdG11eCByZXBvc2l0b3J5LgoJICBGaXhlcyAjNTUwMjgwLgoKMjAxMS0wNC0xMiAxODoyNTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGdzdC9xdGRlbXV4L0xFR0FMOgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LnZjcHJvajoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvcXRkZW11eC9xdHBhbGV0dGUuaDoKCSogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkqIGdzdC9xdWlja3RpbWUvTEVHQUw6CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC52Y3Byb2o6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0cGFsZXR0ZS5oOgoJKiBnc3QvcXVpY2t0aW1lL3F1aWNrdGltZS5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcXRkZW11eDogcmVuYW1lIGRpcmVjdG9yeSB0byBxdWlja3RpbWUgdG8gbWF0Y2ggcGx1Z2luIG5hbWUKCSAgSW4gcHJlcGFyYXRpb24gZm9yIHF0bXV4IG1vdmluZyB0byAtZ29vZC4KCjIwMTEtMDQtMTIgMTE6NDk6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc2ltcGxpZnkgZnJhbWVyYXRlIGZyYWN0aW9uIGNhbGN1bGF0aW9uCgoyMDExLTAxLTI0IDE1OjQ1OjI4IC0wNjAwICBMZW9uYXJkbyBTYW5kb3ZhbCA8bHNhbmRvdmFsQHRpLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogYWRkIHdpZHRoLCBoZWlnaHQgYW5kIGZyYW1lcmF0ZSB0byBjYXBzIHdoZW4gcHJlc2VudCBvbiBvbk1ldGFEYXRhCgkgIEZpeGVzICM2NDA0ODMuCgoyMDEwLTA4LTI0IDEzOjU3OjU1ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFVua25vd24gU1NSQyBpcyBub3QgZmF0YWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk2NgoKMjAxMC0wOC0yNCAxMzo1NDo1OCArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE51bWJlciBvZiBhY3RpdmUgc291cmNlcyBzaG91bGQgYmUgdXBkYXRlZCB3aGVuZXZlciB0aGUgc3RhdHVzIG9mIHRoZSBzb3VyY2UgY2hhbmdlcyB0byBhY3RpdmUKCSAgRm9yd2FyZC1wb3J0ZWQgYnkgT2xpdmllciBDcsOqdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk2NQoKMjAxMC0wNi0yMyAxMToyOTo1OCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBpZ25vcmUgYSBCWUUgaWYgaXQgaXMgc2VudCB3aXRoIG91ciBpbnRlcm5hbCBTU1JDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NjQKCjIwMTAtMDEtMjkgMDk6NDk6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGRzIG1vcmUgaDI2NCBmaWVsZHMgdG8gaXRzIGNhcHMKCSAgQWRkcyBhbGlnbm1lbnQ9YXUgYW5kIHN0cmVhbS1mb3JtYXQ9YXZjIHRvIGgyNjQgY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDExLTA0LTExIDEyOjQ0OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGFsc28gaGFuZGxlIGRlcHJlY2F0aW9ucyBmb3IgamFjayAxLjkuNwoJICBKYWNrIDEuOS43IHdhcyByZWxlYXNlZCAyMC5NYXIuMjAxMSwgbmVlZCB0byBoYW5kbGUgdGhlIGRlcHJlY2F0ZWQgYXBpIGZvciB0aGlzCgkgIHZlcnNpb24gdG9vLgoKMjAxMS0wNC0xMCAxODo1Njo1MiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hcGV0YWcubWs6CgkqIGFuZHJvaWQvYXZpLm1rOgoJKiBhbmRyb2lkL2Zsdi5tazoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9pY3lkZW11eC5tazoKCSogYW5kcm9pZC9pZDNkZW11eC5tazoKCSogYW5kcm9pZC9xdGRlbXV4Lm1rOgoJKiBhbmRyb2lkL3J0cC5tazoKCSogYW5kcm9pZC9ydHBtYW5hZ2VyLm1rOgoJKiBhbmRyb2lkL3J0c3AubWs6CgkqIGFuZHJvaWQvc291cC5tazoKCSogYW5kcm9pZC91ZHAubWs6CgkqIGFuZHJvaWQvd2F2ZW5jLm1rOgoJKiBhbmRyb2lkL3dhdnBhcnNlLm1rOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogTWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZTogaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTA0LTA1IDIxOjE0OjQzICswMjAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZGVjbGFyZSBmcmFnX29mZnNldCB0byBob2xkIDMyYml0cy4KCSAgQXMgc3BlY2lmaWVkIGluIGRvY3VtZW5hdGlvbiBhYm92ZSBhbmQgYmVsb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NTQKCjIwMTEtMDQtMDkgMTI6NDE6NDggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IHdyb25nbHkgYXBwbGllZCBwYXRjaAoJICBPYnZpb3VzbHkgcmVjdl9ydHBfc2luayBkb2VzIG5vdCBoYXZlIG11Y2ggdG8gZG8gd2l0aCBzZW5kX3J0Y3Bfc3JjLi4uCgkgIFNlZSBjb21taXQgMDQ2ZmYxNzAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDcyNjMKCjIwMTEtMDQtMDggMTU6NTk6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIGZvciBzZXRfZnJhbWVfcHJvcHMgLT4gc2V0X2ZyYW1lX3JhdGUgQVBJIGNoYW5nZQoKMjAxMS0wNC0wOCAwMDowMzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGhvb2sgdXAgYXVkaW9wYXJzZXIgdW5pdCB0ZXN0cwoKMjAxMS0wNC0wNyAxODozMDo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZWxheCBzeW5jIG1hdGNoIGEgYml0IHdoZW4gZHJhaW5pbmcKCSAgLi4uIHRvIGF0IGxlYXN0IGFsbG93IGluaXRpYWwgY2FwcyBjaGFuZ2UgKGJ1dCBubyBmdXJ0aGVyIGNhcHMgaml0dGVyKS4KCSAgRml4ZXMgdW5pdCB0ZXN0IGFnYWluIGFmdGVyIHByZXZpb3VzIGNoYW5nZS4KCjIwMTEtMDQtMDcgMTU6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBjaGFuZ2VzIGluIGdpdAoKMjAxMS0wNC0wNyAxNToyMDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkgIGRvY3M6IGFkZCBhdWRpb3BhcnNlcnMgdG8gZG9jcwoKMjAxMS0wNC0wNyAxNTowNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogZ3N0X2Zvb3BhcnNlX3h5eiAtPiBnc3RfZm9vX3BhcnNlX3h5eiB0byBtYXRjaCBHc3RGb29QYXJzZQoJICBTZWUgbW92aW5nLXBsdWdpbnMgY2hlY2tsaXN0LgoKMjAxMS0wNC0wNyAxNDo0Mzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaG9vayB1cCB0byBidWlsZAoKMjAxMS0wNC0wNyAxMzoyNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogcG9ydCB0byBuZXcgR3N0QmFzZVBhcnNlIGluIGNvcmUKCjIwMTEtMDQtMDQgMjA6NTU6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVxdWlyZSB0aWdodGVyIHN5bmMgbWF0Y2ggd2hlbiBkcmFpbmluZwoKMjAxMS0wNC0wMSAxNDo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBhcnNlIGVuY29kZXIgZGVsYXkgYW5kIGVuY29kZXIgcGFkZGluZyBmcm9tIHRoZSBMQU1FIGhlYWRlciBpZiBwcmVzZW50CgoyMDExLTAzLTA5IDIzOjA2OjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGRjYXBhcnNlOiBCdW1wIHJhbmsgdG8gcHJpbWFyeSsxCgkgIFNlZW1zIHRvIHdvcmsgZmluZSB3aXRoIGEgcmVhc29uYWJseSB3aWRlIHJhbmdlIG9mIG1lZGlhLCBzbyBidW1waW5nCgkgIHJhbmsuCgoyMDExLTAzLTIzIDIyOjAyOjM3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGZyYW1lIHNpemUgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIHNpemUgb2YgdGhlIGZyYW1lIChudW1iZXIgb2YgYnl0ZXMgZnJvbSBvbmUgc3luYyBwb2ludAoJICB0byB0aGUgbmV4dCkgYXMgdGhlICJmcmFtZV9zaXplIiBmaWVsZCBpbiBjYXBzLgoKMjAxMS0wMy0wOSAyMzowMzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBibG9jayBzaXplIGluIGNhcHMKCSAgVGhpcyBzZXRzIHRoZSAiYmxvY2tfc2l6ZSIgZmllbGQgb24gY2FwcyBhcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMKCSAgZW5jb2RlZCBpbiBvbmUgZnJhbWUuCgoyMDExLTAzLTE2IDE1OjUzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCBGSVhNRSBmb3IgbWFraW5nIHRoZSBiYXNlIGNsYXNzIHVzZSB4aW5nIHNlZWsgdGFibGVzIGJldHRlcgoKMjAxMS0wMy0xNCAxODoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEFkZCBkZXB0aCBhbmQgZW5kaWFubmVzcyB0byB0aGUgY2FwcwoJICBTb21lIGRlY29kZXJzIGNhbiBvbmx5IGhhbmRsZSBzcGVjaWZpYyBlbmRpYW5uZXNzIG9yIGEgZml4ZWQKCSAgZGVwdGggYW5kIHRoaXMgYWxsb3dzIGJldHRlciBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgYnVnICM2NDQyMDguCgoyMDExLTAyLTI2IDEzOjUzOjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDliODlkNWM1YTEyNDRmYTBkY2I4YmI0OTk2ZTM4ZmI5YmZmOWU1LgoKMjAxMS0wMi0yMyAxNzoyNTowMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkCgoyMDEwLTEwLTEzIDE2OjEyOjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogZml4IGJhc2VwYXJzZSB0ZXN0CgoyMDEwLTEwLTEzIDE1OjM5OjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBiYXNlcGFyc2U6IENyZWF0ZSBiYXNlcGFyc2UgbGlicmFyeQoKMjAxMS0wMi0wNyAxNDo0Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgUVVFUllfU0VFS0lORyByZXNwb25zZQoJICBFdmVuIGlmIHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBhIGR1cmF0aW9uIHlldCwgYXNzdW1lIHNlZWthYmxlIGlmCgkgIGl0IGxvb2tzIGxpa2Ugd2UnbGwgbGlrZWx5IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGl0IGxhdGVyIG9uCgkgICh3aGljaCBjb2luY2lkZXMgd2l0aCBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcGVyZm9ybSBzZWVraW5nKS4KCSAgRml4ZXMgIzY0MTA0Ny4KCjIwMTEtMDItMDggMjM6Mzk6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBVcGRhdGUgbWluL21heCBiaXRyYXRlIGJlZm9yZSBmaXJzdCBwb3N0aW5nIHRoZW0KCSAgVGhpcyBhdm9pZHMgcG9zdGluZyBhbiBpbml0aWFsIG1pbi1iaXRyYXRlIG9mIEdfVUlOVE1BWCBhbmQgbWF4LWJpdHJhdGUKCSAgb2YgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1NwoKMjAxMS0wMi0wOCAyMzo1MDoxMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBvc3QgQ0JSIGJpdHJhdGUgYXMgbm9taW5hbCBiaXRyYXRlCgkgIEV2ZW4gaWYgVkJSIGhlYWRlcnMgYXJlIG1pc3NpbmcsIHdlIGNhbid0IGd1YXJhbnRlZSB0aGF0IGEgc3RyZWFtIGlzIGluCgkgIGZhY3QgYSBDQlIgc3RyZWFtLCBzbyBpdCdzIHNhZmVyIHRvIGxldCBiYXNlcGFyc2UgY2FsY3VsYXRlIHRoZSBhdmVyYWdlCgkgIGJpdHJhdGUgcmF0aGVyIHRoYW4gYXNzdW1lIGEgQ0JSIHN0cmVhbS4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZQoJICAvc29tZS8gbWV0YWRhdGEgYXZhaWxhYmxlIGJlZm9yZSB0aGUgcmVxdWlzaXRlIG51bWJlciBvZiBmcmFtZXMgaGF2ZQoJICBiZWVuIHBhcnNlZCwgdGhpcyBwb3N0cyB0aGUgYml0cmF0ZSBmcm9tIHRoZSBub24tVkJSIGhlYWRlcnMgYXMgdGhlCgkgIG5vbWluYWwgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1OAoKMjAxMC0wOS0wNiAxNDoxMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBhIHZhbGlkIGFtci13YiBmcmFtZSBzaG91bGQgbm90IGhhdmUgcmVzZXJ2ZWQgZnJhbWUgdHlwZSBpbmRleAoJICBTZWUgIzYzOTcxNS4KCjIwMTEtMDEtMjcgMTY6NTI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBoYW5kbGluZyBvZiBkZXBlbmRlbnQgc3Vic3RyZWFtIGZyYW1lcwoJICBJbiBwYXJ0aWN1bGFyLCB0aW1lc3RhbXBzIG9mIHRoZXNlIHNob3VsZCB0cmFjayBtYWluLXN0cmVhbSB0aW1lc3RhbXBzLgoKMjAxMS0wMS0yMSAxNDo1MzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgZGVmYXVsdCBkdXJhdGlvbiBlc3RpbWF0ZSB1cGRhdGUgaW50ZXJ2YWwKCSAgUmF0aGVyIHRoYW4gYSBmaXhlZCBkZWZhdWx0IGZyYW1lIGNvdW50LCBlc3RpbWF0ZSBmcmFtZSBjb3VudCB0byBhaW0gZm9yCgkgIGFuIGludGVydmFsIGR1cmF0aW9uIGRlcGVuZGluZyBvbiBmcHMgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIG9sZAoJICBmaXhlZCBkZWZhdWx0LgoKMjAxMS0wMS0xNCAxNToxNjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVyc2UgcGxheWJhY2s7IG1pbmQga2V5ZnJhbWVzIGZvciBmcmFnbWVudCBib3VuZGFyeQoKMjAxMS0wMS0xMyAxNToyNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBwcm9wZXJseSBjaGVjayBmb3Igc3VmZmljaWVudCBhdmFpbGFibGUgZGF0YSBwcmlvciB0byBhY2Nlc3MKCjIwMTEtMDEtMTIgMTQ6NDA6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgbm9uLWVtcHR5IGNhbmRpZGF0ZSBmcmFtZXMKCjIwMTEtMDEtMTEgMTU6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjbGFyaWZ5IHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMS0xMSAxNToyNDowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3Blcmx5IHRyYWNrIHVwc3RyZWFtIHRpbWVzdGFtcHMKCSAgLi4uIHJhdGhlciB0aGFuIHdpdGggYSBkZWxheS4KCjIwMTEtMDEtMTEgMTU6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBuZWVkIHByb3BlciBmcmFtZSBkdXJhdGlvbiB0byBvYnRhaW4gc2Vuc2libGUgZnJhbWUgYml0cmF0ZQoKMjAxMS0wMS0xMSAxNToyMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBpbml0aWFsIHZhbHVlcyBmb3IgaW5kZXggdHJhY2tpbmcgdmFyaWFibGVzCgoyMDExLTAxLTExIDEyOjA1OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXJyYW5nZSBmb3IgY29uc2lzdGVudCBldmVudCBoYW5kbGluZwoKMjAxMS0wMS0xMCAxNjo1OTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGhlYWRlciBzdHlsZSBjbGVhbmluZwoKMjAxMS0wMS0xMCAxNzowNzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgc29tZSBtb3JlIGluaXRpYWwgZnJhbWUgbWV0YWRhdGEgaW4gcGFyc2VfZnJhbWUKCSAgLi4uIGFuZCBkb2N1bWVudCBhY2NvcmRpbmdseS4KCjIwMTEtMDEtMTAgMTY6NTY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHBhc3N0aHJvdWdoIGludG8gZm9ybWF0IGZsYWdzCgkgIEFsc28gYWRkIGEgZm9ybWF0IGZsYWcgdG8gc2lnbmFsIGJhc2VwYXJzZSB0aGF0IHN1YmNsYXNzL2Zvcm1hdCBjYW4gcHJvdmlkZQoJICAocGFyc2VkKSB0aW1lc3RhbXAgcmF0aGVyIHRoYW4gYW4gZXN0aW1hdGVkIG9uZS4gIEluIHBhcnRpY3VsYXIsIHN1Y2ggInN0cm9uZyIKCSAgdGltZXN0YW1wIHRoZW4gYWxsb3dzIHRvIGUuZy4gZGV0ZXJtaW5lIGR1cmF0aW9uLgoKMjAxMS0wMS0xMCAxNTozNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbnRyb2R1Y2UgYSBiYXNlcGFyc2UgZnJhbWUgdG8gc2VydmUgYXMgY29udGV4dAoJICAuLi4gYW5kIGFkanVzdCBzdWJjbGFzcyBwYXJzZXJzIGFjY29yZGluZ2x5CgoyMDExLTAxLTA3IDE2OjM5OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVzdHJpY3QgZHVyYXRpb24gc2Nhbm5pbmcgdG8gcHVsbCBtb2RlIGFuZCBhdm9pZCBleHRyYSBzZXRfY2FwcyBjYWxsCgoyMDExLTAxLTA3IDE1OjU4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDExLTAxLTA2IDExOjQxOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWxsb3cgaW5jcmVhc2luZyBtaW5fc2l6ZSBmb3IgY3VycmVudCBmcmFtZSBwYXJzaW5nIG9ubHkKCSAgQWxzbyBjaGVjayB0aGF0IHN1YmNsYXNzIGFjdHVhbGx5IGVpdGhlciBkaXJlY3RzIHRvIHNraXAgYnl0ZXMgb3IKCSAgaW5jcmVhc2VzIGV4cGVjdGVkIGZyYW1lIHNpemUgdG8gYXZvaWQgZ29pbmcgbm93aGVyZSBpbiBib2d1cwoJICBpbmRlZmluaXRlIGxvb3BpbmcuCgoyMDExLTAxLTE0IDE1OjI2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhZXNwYXJzZTogZml4IHJlZmFjdG9yIHJlZ3Jlc3Npb24gaW4gbG9vcCBiYXNlZCBwYXJzaW5nCgoyMDExLTAxLTA2IDExOjE2OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGFzcyBhbGwgYXZhaWxhYmxlIGRhdGEgdG8gc3ViY2xhc3MgcmF0aGVyIHRoYW4gbWluaW11bQoJICBBbHNvIHJlZHVjZSBzb21lIGFkYXB0ZXIgY2FsbHMgYW5kIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMi0xMCAxNTo1OTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCByZXZlcnNlIHBsYXliYWNrIGhhbmRsaW5nCgoyMDEwLTEyLTEwIDE0OjU2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgdHlwbyBhbmQgZGVidWcgc3RhdGVtZW50IGNsZWFudXAKCjIwMTAtMTItMTAgMTQ6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZWR1Y2UgbG9ja2luZwoJICAuLi4gd2hpY2ggaXMgZWl0aGVyIGFscmVhZHkgbXV0ZSBhbmQvb3IgaW1wbGljaXRseSBoYW5kbGVkIGJ5IFNUUkVBTV9MT0NLLgoKMjAxMS0wMS0xNCAxNDowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIGxvb3AgaW4gZnJhbWUgbG9jYXRpbmcgaW50ZXJwb2xhdGlvbgoKMjAxMS0wMS0xOSAxODoyNjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbmQgZ3N0X2J1ZmZlcl91bnJlZiBub3QgbGlraW5nIE5VTEwKCSAgRml4ZXMgIzYzOTk1MC4KCjIwMTEtMDEtMTQgMTY6MzA6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBiYXNlcGFyc2U6IEJlIGNhcmVmdWwgdG8gbm90IGxvc2UgdGhlIGV2ZW50IHJlZgoJICBEb24ndCB1bnJlZiB0aGUgZXZlbnQgaWYgaXQgaGFzbid0IGJlZW4gaGFuZGxlZCwgYmVjYXVzZSB0aGUgY2FsbGVyCgkgIGFzc3VtZXMgaXQgaXMgc3RpbGwgdmFsaWQgYW5kIG1pZ2h0IHJldXNlIGl0LgoJICBJIHJhbiBpbnRvIHRoaXMgcHJvYmxlbSB3aGVuIHRyYW5zY29kaW5nIGFuIEFWSSAod2l0aCBtcDMgaW5zaWRlKQoJICB0byBncHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1NTUKCjIwMTEtMDEtMTMgMTc6MTA6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogZml4IHN5bmMgd29yZCBmb3IgMTQtYml0IGxpdHRsZSBlbmRpYW4gY29kaW5nCgkgIEZpeCBjb3B5J24ncGFzdGUgYnVnIHRoYXQgbWFkZSB1cyBsb29rIGZvciB0aGUgcmF3IGxpdHRsZSBlbmRpYW4KCSAgc3luYyB3b3JkIHR3aWNlIGluc3RlYWQgb2YgbG9va2luZyBmb3IgdGhlIDE0LWJpdCBMRSBzeW5jIHdvcmQKCSAgYXMgd2VsbC4gRml4ZXMgcGFyc2luZyBvZiBzdWNoIHN0cmVhbXMgKHNlZSAjNjM2MjM0IGZvciBzYW1wbGUgZmlsZSkuCgoyMDExLTAxLTEzIDE2OjI3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGRvY3M6IG1pbm9yIGJhc2VwYXJzZSBkb2NzL2NvbW1lbnQgZml4ZXMKCSAgUmVtb3ZlIGNvcHknbidwYXN0ZSBsZWZ0b3ZlcnMuCgoyMDExLTAxLTA2IDEyOjQ5OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMC0xMi0xMyAxNToxNzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZWxheCBic2lkIGNoZWNraW5nCgkgIC4uLiB0byB0aGUgd2lkZXN0IHBvc3NpYmxlIHNwZWMgaW50ZXJwcmV0YXRpb24uCgkgIEZpeGVzICM2MzcwNjIuCgoyMDEwLTEyLTAzIDE4OjExOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMS0wOCAxOTo1ODozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGluY3JlYXNlIGtleWZyYW1lIGF3YXJlbmVzcwoJICAuLi4gd2hpY2ggaXMgbm90IHBhcnRpY3VsYXIgcmVsZXZhbnQgZm9yIGF1ZGlvIHBhcnNpbmcsIGJ1dCBtb3JlIHNvCgkgIGluIHZpZGVvIGNhc2VzLiAgSW4gcGFydGljdWxhciwgYXV0by1kZXRlcm1pbmUgaWYgZGVhbGluZyB3aXRoIHZpZGVvIChjYXBzKS4KCjIwMTAtMTItMDEgMTU6Mjg6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiB1c2UgcHJvcGVyIEVBQy0zIGNhcHMKCjIwMTAtMTEtMzAgMTU6NDE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCB1bmV4cGVjdGVkIHN0cmF5IG1ldGFkYXRhCgoyMDEwLTExLTMwIDE1OjQwOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIHByb3BlciBfTk9ORSBvdXRwdXQgdmFsdWUgd2hlbiBhcHBsaWNhYmxlCgoyMDEwLTExLTI1IDE4OjU2OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTc6MTQ6MjMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU3ODYKCjIwMTAtMTEtMTcgMTY6MjM6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgY29ycmVjdCBvZmZzZXQgd2hlbiBhZGRpbmcgaW5kZXggZW50cnkKCSAgLi4uIGJlYXJpbmcgaW4gbWluZCB0aGF0IEJVRkZFUl9PRkZTRVQgaXMgbWVkaWEgc3BlY2lmaWMgYW5kIG1heSBub3QKCSAgcmVmbGVjdCB0aGUgYmFzaWMgb2Zmc2V0IGFmdGVyIGhhdmluZyBiZWVuIHBhcnNlZC4KCjIwMTAtMTEtMTcgMTQ6MzA6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbmhhbmNlbWVudHMgZm9yIHRpbWVzdGFtcCBtYXJrZWQgZnJhbWVkIGZvcm1hdHMKCSAgVGhhdCBpcywgYXMgc3VjaCBmb3JtYXRzIGFsbG93IHN1YmNsYXNzIHRvIGV4dHJhY3QgcG9zaXRpb24gZnJvbSBmcmFtZSwKCSAgaXQgaXMgcG9zc2libGUgdG8gZXh0cmFjdCBkdXJhdGlvbiAoaWYgbm90IG90aGVyd2lzZSBwcm92aWRlZCkKCSAgZnJvbSAobmVhcikgbGFzdCBmcmFtZSwgYW5kIGEgc2VlayBjYW4gZmFpcmx5IGFjY3VyYXRlbHkgdGFyZ2V0IHRoZSByZXF1aXJlZAoJICBwb3NpdGlvbi4KCSAgRml4ZXMgIzYzMTM4OS4KCjIwMTAtMTEtMTYgMTc6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBmcmFtZSBzY2FubmluZyBwZWZvcm1lZCBieSBfbG9vcAoKMjAxMC0xMS0xNiAxODowNDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNsaWdodGx5IG9wdGltaXplIHNlbmRpbmcgb2YgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMC0xMS0xNiAxNzowNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCSAgQXJyYW5nZSBmb3IgdXBzdHJlYW0gYXMgd2VsbCBhcyBkb3duc3RyZWFtIGZsdXNoaW5nIHdoZW4gc2Vla2luZy4KCSAgQWxzbyBkZXRlcm1pbmUgdXBzdHJlYW0gc2l6ZSBhcyB3ZWxsIGFzIHNlZWthYmlsaXR5LiAgQWRqdXN0IHNvbWUgY29tbWVudHMKCSAgdG8gcmVhbGl0eSBhbmQgZW1wbG95IGRlYnVnIHN0YXRlbWVudCBpbiBwcm9wZXIgb3JkZXIuCgoyMDEwLTExLTE3IDE1OjMzOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1pbm9yIGNsZWFudXBzCgoyMDEwLTExLTE3IDE1OjI0OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIEFESUYgc3JjIGNhcHMgc2V0dGluZwoKMjAxMC0xMS0xNiAxMjoxMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IHBhcnNlIHNlZWt0YWJsZQoJICBGaXhlcyAjNjMxMzg5IChwYXJ0aWFsbHkpLgoKMjAxMC0xMS0xNiAxMjowODo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGFuZCBlbmFibGUgZGVmYXVsdCBiYXNlcGFyc2Ugc2VnbWVudCBjbGlwcGluZwoKMjAxMC0xMS0wOSAxOTozODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggc2lsbHkgbGVhayBpbiBfcmVzZXQKCjIwMTAtMTAtMjkgMTQ6MDg6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2Ugb25seSB1cHN0cmVhbSBkdXJhdGlvbiBpZiBpdCBwcm92aWRlcyBvbmUKCjIwMTAtMTAtMjUgMTQ6MTU6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZsb3cgdXBkYXRlX2JpdHJhdGUgY29kZQoJICAuLi4gd2hpY2ggbWFrZXMgbG9jYWwgdmFyaWFibGVzIHJlcHJlc2VudCByZWFsIHN0YXRlIGJldHRlciwgYW5kIGF2b2lkcwoJICB0cmlnZ2VyaW5nIHVubmVlZGVkIHVwZGF0ZXMvYWN0aW9ucy4KCjIwMTAtMTAtMjUgMTQ6MTM6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEwLTEwLTE5IDIzOjI1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGluaXQgdmFyaWFibGUgdG8gbWFrZSBvc3ggYnVpbGQgYm90IGhhcHB5CgkgIGdzdGRjYXBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfZGNhX3BhcnNlX2NoZWNrX3ZhbGlkX2ZyYW1lJzoKCSAgZ3N0ZGNhcGFyc2UuYzoyNDY6IHdhcm5pbmc6ICdiZXN0X3N5bmMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMC0xMC0xOSAwMDoxNToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgdmVyeSBiYXNpYyBkdHMvZGNhIHBhcnNlcgoJICBTdGlsbCBzb21lIGlzc3VlcywgZS5nLiB3aXRoIHNlZWthYmxlIHF1ZXJpZXMgaW4gdG90ZW0sIGJ1dCBhbHNvCgkgIHByb2Nlc3NpbmcgYWxyZWFkeS1jaHVua2VkIGlucHV0IChjcmVhdGVkIHdpdGggbWF0cm9za2FkZW11eCAhIGdkcHBheSkuCgoyMDEwLTEwLTE0IDE2OjQ4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByb3Blcmx5IHBhcnNlIGUtYWMzIGZyYW1lIGhlYWRlcgoJICBBbHNvIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMC0xMyAxMTowMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHR3ZWFrIHNldHRpbmcgYnVmZmVyIG1ldGFkYXRhOyBhdm9pZCB0aW1lc3RhbXAgaml0dGVyCgkgIEZpeGVzICM2MzE5OTMuCgoyMDEwLTEwLTEyIDE4OjA3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogc3RyZWFtbGluZSBzcmMgY2FwcyBzZXR0aW5nCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gc2V0IHNyYyBjYXBzIHdoZW5ldmVyIGNoYW5nZXMgaW4gc3RyZWFtIHdhcnJhbnQgZG9pbmcgc28uCgoyMDEwLTEwLTEyIDEwOjI4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEFkanVzdCB1bml0IHRlc3RzIHRvIG5ldyBmbGFjcGFyc2UgYmVoYXZpb3VyCgkgIEdhcmJhZ2UgYWZ0ZXIgZnJhbWVzIGlzIG5vdyBpbmNsdWRlZCBpbiB0aGUgZnJhbWVzIGJlY2F1c2UgZmxhY3BhcnNlCgkgIGhhcyBubyBlYXN5IHdheSB0byBkZXRlY3QgdGhlIHJlYWwgZW5kIG9mIGEgZnJhbWUuIERlY29kZXJzIGFyZQoJICBleHBlY3RlZCB0byBldmVyeXRoaW5nIGFmdGVyIHRoZSBmcmFtZSBiZWNhdXNlIG9ubHkgZGVjb2RpbmcgdGhlCgkgIGJpdHN0cmVhbSB3aWxsIHJldmVhbCB0aGUgcmVhbCBlbmQgb2YgdGhlIGZyYW1lLgoJICBGaXhlcyBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTIgMTA6Mjc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBEb24ndCBkcm9wIHRoZSBsYXN0IGZyYW1lIGlmIGl0IGlzIGZvbGxvd2VkIGJ5IGdhcmJhZ2UKCSAgU2VlIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMSAxNzo0OTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBlcmZvcm0gYml0cmF0ZSBoYW5kbGluZyBhbmQgcG9zdGluZyBhZnRlciBuZXdzZWdtZW50IHNlbmRpbmcKCjIwMTAtMTAtMTEgMTc6MzY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbW1lZGlhdGVseSBwb3N0IHN1YmNsYXNzIHByb3ZpZGVkIGJpdHJhdGUKCjIwMTAtMTAtMTEgMTc6MDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGFyc2luZyB3aXRoIHVua25vd24gZnJhbWVzaXplcwoJICBGaXhlcyAjNjMxODE0IChtb3N0bHkpLgoKMjAxMC0xMC0wNyAyMzozNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFNpbXBsaWZ5IGZyYW1lIGhlYWRlciBwYXJzaW5nIGJ5IHVzaW5nIGxvb2t1cCB0YWJsZXMKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBGZWxpcGUgQ29udHJlcmFzLgoJICBTZWUgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA3IDIzOjI4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogRG9uJ3QgcGFyc2UgdGhlIGNvbXBsZXRlIEZMQUMgZnJhbWVzIGJ1dCBvbmx5IGxvb2sgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMKCSAgVGhhbmtzIHRvIEZlbGlwZSBDb250cmVyYXMgZm9yIHRoZSBzdWdnZXN0aW9uLiBUaGlzIGlzIHBhcnRpYWxseQoJICBiYXNlZCBvbiBoaXMgcGF0Y2hlcyBhbmQgbWFrZXMgZmxhY3BhcnNlIG1vcmUgdGhhbiAzLjUgdGltZXMgZmFzdGVyLgoJICBMb29raW5nIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzIGlzIHVubGlrZWx5IHRvIGdpdmUgZmFsc2UgcG9zaXRpdmVzCgkgIGJlY2F1c2UgZXZlcnkgZnJhbWUgaGVhZGVyIGlzIGF0IGxlYXN0IDkgYnl0ZXMgbG9uZywgY29udGFpbnMgYQoJICAxNCBiaXQgc3luYyBjb2RlIGFuZCBhIDggYml0IGNoZWNrc3VtIG92ZXIgdGhlIGZpcnN0IDggYnl0ZXMuCgkgIEZpeGVzIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNiAxODozMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFJlYWxseSBwb3N0IHRhZ3Mgb25seSBhZnRlciB0aGUgaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50CgkgIFRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50IHdpbGwgYmUgc2VuZCBieSB0aGUgZmlyc3QgY2FsbCB0bwoJICBnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlcigpIGlmIG5lY2Vzc2FyeSwgcG9zdGluZyB0aGUgdGFncwoJICBiZWZvcmUgdGhhdCBpcyBub3QgYSBnb29kIGlkZWEuIEluc3RlYWQgZG8gaXQgZnJvbSB0aGUKCSAgR3N0QmFzZVBhcnNlOjpwcmVfcHVzaF9idWZmZXIgdmZ1bmMuCgoyMDEwLTEwLTA1IDExOjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIFJldmVydCAiYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNWEzZDYwMzYzZDgzN2ExMGYwNTMzYzE0MWVjOTNkMTBiNzQyMzEyLgoJICBSZXZlcnRpbmcgdGhpcyBmb3Igbm93LCBzaW5jZSBubyBvbmUgcmVhbGx5IHNlZW1zIHRvIHJlbWVtYmVyIHdoeSB0aGlzCgkgIHByb3BlcnR5IGV4aXN0cyBvciB3aGF0IGl0IGNvdWxkIHBvc3NpYmx5IGJlIGdvb2QgZm9yLiBJdCBzZWVtcyB0byBoYXZlCgkgIGJlZW4gaW4gdGhlIG9yaWdpbmFsIG1wM3BhcnNlIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGltZSBhbmQgd2FzIGJhY2stCgkgIHBvcnRlZCBmcm9tIHRoZXJlLgoKMjAxMC0xMC0wNCAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZywgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGlmIHRoZXkgd2VyZQoJICBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMDktMTQgMDI6NDg6NTggKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGljdHVyZSBwYXJzaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFB1c2ggdGFncyBiZWZvcmUgdGhlIGhlYWRlciBidWZmZXJzIGFyZSBwdXNoZWQKCjIwMTAtMDgtMDIgMjA6NTA6MjEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0cml2aWFsIGNhcHMgZml4CgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1MDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcjogTGV0IHRoZSBmb3JtYXQgc3RyaW5nIGFncmVlIHdpdGggdGhlIHBhcmFtZXRlcnMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTAtMDMgMTU6NDE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogVXNlIHVuY2hlY2tlZCB2ZXJzaW9ucyBvZiB0aGUgYml0cmVhZGVyIGdldCBmdW5jdGlvbnMKCSAgV2UgZGlkbid0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWVzIGFueXdheS4uLgoKMjAxMC0wOS0yMiAxNTo0NDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBkZWJ1ZyBvdXRwdXQKCSAgV2UgbG9zZSB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIgZ3N0X3BhZF9wdXNoKCksIHNvIHRoZSBkZWJ1ZwoJICBwcmludCBzaG91bGQgaGFwcGVuIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0xMC0wMSAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBmbGFjcGFyc2UgdW5pdCB0ZXN0CgkgIC4uLiBhbmQgdHdlYWsgcGFyc2VyIHRlc3QgaGVscGVyIGluIHRoZSBwcm9jZXNzLgoKMjAxMC0wOS0yOSAxNjoxMjo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN1cHBvcnQgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gaW4gcHVsbCBtb2RlIG9yIHVwc3RyZWFtIGRyaXZlbi4KCjIwMTAtMDktMjcgMTI6MTY6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgZG9uZSBUT0RPcyBhbmQgdXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMjUgMTQ6NDA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgZGV0ZXJtaW5lZCBzZWVrYWJpbGl0eSBpbiBhbnN3ZXJpbmcgU0VFS0lORyBxdWVyeQoKMjAxMC0wOS0yNSAxNDozMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5CgoyMDEwLTA5LTI1IDEzOjU5OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGFjM3BhcnNlIGFuZCBtcGVnYXVkaW9wYXJzZSB1bml0IHRlc3QKCjIwMTAtMDktMjUgMTM6NTk6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgLi4uIGFkZXF1YXRlbHkgZXF1aXZhbGVudCB0byBtcDNwYXJzZSwgc28gbGV0cyBib2xkbHkgc2V0IGl0CgkgIHRvIGhpZ2hlciByYW5rLgoKMjAxMC0wOS0yNSAxNDowMTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgbWluaW11bSBmcmFtZSBzaXplIGF0IF9zdGFydAoJICAuLi4gcmF0aGVyIHRoYW4gb25lIHRpbWUgYXQgX2luaXQuCgoyMDEwLTA5LTI1IDEzOjUwOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiByZWZhY3RvciBleGlzdGluZyB1bml0IHRlc3RzIHVzaW5nIGNvbW1vbiBoZWxwZXIKCjIwMTAtMDktMjIgMTU6MDc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9mcmFtZV9wcm9wcyB0byBjb25maWd1cmUgZnJhbWUgbGVhZF9pbiBhbmQgbGVhZF9vdXQKCSAgLi4uIHByb3ZpZGVkIGEgY29ycmVzcG9uZGluZyBkZWNvZGVyIHdpdGggc3VmZmljaWVudCBsZWFkaW5nIGFuZCBmb2xsb3dpbmcKCSAgZnJhbWVzIHRvIGNhcnJ5IG91dCBmdWxsIGRlY29kaW5nIGZvciBhIHBhcnRpY3VsYXIgc2VnbWVudC4KCjIwMTAtMDktMjIgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9kdXJhdGlvbiB0byBjb25maWd1cmUgZHVyYXRpb24gdXBkYXRlIGludGVydmFsCgkgIC4uLiBhcyBpdCBsb2dpY2FsbHkgYmVsb25ncyB0aGVyZSBhcyBvbmUgb3IgdGhlIG90aGVyOyBlaXRoZXIgc3ViY2xhc3MKCSAgY2FuIHByb3ZpZGUgYSBkdXJhdGlvbiwgb3IgYW4gZXN0aW1hdGUgbXVzdCBiZSBtYWRlIChyZWd1YXJseSB1cGRhdGVkKS4KCjIwMTAtMDktMjIgMTM6NTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBsb2NhbGl6ZSB1c2Ugb2YgcHJvdmlkZWQgZnBzIGluZm9ybWF0aW9uCgoyMDEwLTA5LTIyIDEyOjEzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2VlayB0YWJsZSBhbmQgYWNjdXJhdGUgc2VlayBzdXBwb3J0CgoyMDEwLTA5LTIxIDEzOjU3OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGFuZCBtb3JlIGV4dGVuZGVkIHNlZ21lbnQgYW5kIHNlZWsgaGFuZGxpbmcKCSAgVGhhdCBpcywgbG9vcCBwYXVzZSBoYW5kbGluZywgc2VnbWVudCBzZWVrIHN1cHBvcnQsIG5ld3NlZ21lbnQgZm9yIGdhcHMsIGV0YwoKMjAxMC0wOS0yMSAxMDo1NzowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBpbmRleCBzdXBwb3J0CgoyMDEwLTA5LTIxIDA5OjU5OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3Igc3RhdGUgcmVzZXQKCjIwMTAtMDktMjAgMTY6Mzk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZGVmaW5pdGUgcmVzeW5jaW5nCgoyMDEwLTA5LTIwIDEzOjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3BlY2lmaWMgRU9TIGhhbmRsaW5nIGlmIG5vIG91dHB1dCBzbyBmYXIKCjIwMTAtMDktMjAgMTM6MzE6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3QgX3NldF9mcmFtZV9wcm9wIGRvY3VtZW50YXRpb24gYW5kIHNldCBkZWZhdWx0IGFzIGNsYWltZWQKCjIwMTAtMDktMjAgMTM6MzA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggYml0cmF0ZSBjb3B5LWFuZC1wYXN0ZSBhbmQgdXBkYXRlIGhldXJpc3RpYwoKMjAxMC0wOS0xNyAxODozMzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBvc3QgZHVyYXRpb24gbWVzc2FnZSBpZiBhdmVyYWdlIGJpdHJhdGVzIGlzIHVwZGF0ZWQKCjIwMTAtMDktMTcgMTg6MjQ6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBpc19zZWVrYWJsZSB2bWV0aG9kIGFuZCB1c2UgYSBzZXRfc2VlayBpbnN0ZWFkCgkgIFNlZWthYmlsaXR5LCBsaWtlIGR1cmF0aW9uLCBldGMgaXMgdW5saWtlbHkgdG8gY2hhbmdlIChmcmVxdWVudGx5KSwgYW5kCgkgIHRoZSBkZWZhdWx0IGFzc3VtcHRpb24gY292ZXJzIG1vc3QgY2FzZXMsIHNvIGxldCBzdWJjbGFzcyBzZXQgd2hlbiBuZWVkZWQuCgkgIEF0IHRoZSBzYW1lIHRpbWUsIGFsbG93IHN1YmNsYXNzIHRvIGluZGljYXRlIGlmIGl0IGhhcyBzZWVrLW1ldGFkYXRhICh0YWJsZSkKCSAgYXZhaWxhYmxlLCBhbmQgcG9zc2libHkgaGF2ZSBpdCBwcm92aWRlIGFuIGF2ZXJhZ2UgYml0cmF0ZS4KCjIwMTAtMDktMTcgMTc6MzU6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBkZWZhdWx0IGlzX3NlZWthYmxlCgoyMDEwLTA5LTE3IDE3OjIxOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGFub3RoZXIgaG9vayBmb3Igc3ViY2xhc3MgcHJpb3IgdG8gcHVzaGluZyBidWZmZXIKCSAgLi4uIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBwZXJmb3JtIGN1c3RvbSBzZWdtZW50IGNsaXBwaW5nLCBvciB0bwoJICBlbWl0IHRhZ3Mgb3IgbWVzc2FnZXMgYXQgdGhpcyB0aW1lLgoKMjAxMC0wOS0xNyAxNzoxOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IDAgY29udmVydHMgdG8gMCBieSBkZWZhdWx0CgoyMDEwLTA5LTE2IDE4OjU2OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXNlOiByZWZhY3RvciBjb252ZXJzaW9uIHVzaW5nIGhlbHBlciBmdW5jdGlvbiBhbmQgZXhwb3J0IGRlZmF1bHQgY29udmVydAoKMjAxMC0wOS0xNiAxODozNTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN0cmVhbWxpbmUgcXVlcnkgaGFuZGxpbmcKCjIwMTAtMDktMTYgMTE6NTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjbGVhbnVwIHN0cnVjdCBhbmQgcmVtb3ZlIHVudXNlZCBtZW1iZXIKCjIwMTAtMDgtMTYgMTE6MDQ6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBpbmNyZWFzZSByYW5rcyB0byBlbmFibGUgYXV0by1wbHVnZ2luZwoJICBCZWNhdXNlIHdlIGNhbiwgYW5kIHNob3VsZCwgaGF2ZSBzb21lIHNoYWtlZG93biB0ZXN0aW5nIGJlZm9yZSBoYXZpbmcKCSAgdGhlc2UgbWFrZSBpdCBpbnRvIC1nb29kIGxhdGVyIG9uIC4uLgoKMjAxMC0wOS0yMiAxNjowNzoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEFsbG93IGNoYWluaW5nIG9mIHN1YmNsYXNzIGV2ZW50IGhhbmRsZXJzCgkgIFRoaXMgYWxsb3dzIHRoZSBjaGlsZCBjbGFzcyB0byBjaGFpbiBpdHMgZXZlbnQgaGFuZGxlciB3aXRoCgkgIEdzdEJhc2VQYXJzZSwgc28gdGhhdCBzdWJjbGFzc2VzIGRvbid0IGhhdmUgdG8gZHVwbGljYXRlIGFsbCB0aGUgZGVmYXVsdAoJICBldmVudCBoYW5kbGluZyBsb2dpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0wOC0yNyAxODozNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFsc28gZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBVTkVYUEVDVEVEIGFuZCBkbyBpdAoJICBmb3IgTk9UX0xJTktFRC4KCjIwMTAtMDktMDYgMTQ6MTI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBub24tVElNRSBzZWVrIGV2ZW50IGlzIHNpbXBseSBub3QgaGFuZGxlZAoKMjAxMC0wNi0xNSAxNTozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGV2ZW50IHJlZiBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgYXJpdGhtZXRpYyBvdmVyZmxvd3MgaW4gcHVsbCBtb2RlIGJ1ZmZlciBjYWNoZSBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGhhbmRsaW5nCgkgIEFsbG93IGEgZmV3IG1vcmUgc2VlayBldmVudCB0eXBlIGNvbWJpbmF0aW9ucywgYW5kIHJlYWxseSB1c2UgdGhlIHJlc3VsdAoJICBvZiBnc3Rfc2VnbWVudF9zZXRfc2VlayB0byBwZXJmb3JtIHRoZSBzZWVrLiAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDQtMTIgMTg6MDc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBjaGVjazogRG9uJ3QgcmUtZGVjbGFyZSAnR0xpc3QgKmJ1ZmZlcnMnIGluIHRoZSB0ZXN0cwoJICBJdCdzIGFuIGV4dGVybmFsIHdoaWNoIGxpdmVzIGluIGdzdGNoZWNrLmMuIFJlZGVjbGFyaW5nIGl0IG1ha2VzIHNvbWUKCSAgY29tcGlsZXJzL2FyY2hpdGVjdHVyZXMgdGhpbmsgdGhlICdidWZmZXJzJyBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cyBhcmUKCSAgYSBkaWZmZXJlbnQgc3ltYm9sLi4uIGFuZCB0aGVyZWZvcmUgd2UgZW5kIHVwIGNvbXBhcmluZyBob2xvZGVja3Mgd2l0aAoJICBvcmFuZ2VzLgoKMjAxMC0wMy0yNiAxODo1Njo0OSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IGVtaXQgYml0cmF0ZSB0YWdzIHRvbyBlYXJseQoJICBXZSB3YWl0IHRvIHBhcnNlIGEgbWluaW11bSBudW1iZXIgb2YgZnJhbWVzICgxMCwgYXJiaXRyYXJpbHkpIGJlZm9yZQoJICBlbWl0aW5nIGJpdHJhdGUgdGFncyBzbyB0aGF0IG91ciBlYXJseSBlc3RpbWF0ZXMgYXJlIG5vdCB3aWxkbHkKCSAgaW5hY2N1cmF0ZSBmb3Igc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGggYSBzaWxlbmNlLiBJZiB0aGUgc3RyZWFtIGVuZHMKCSAgYmVmb3JlIHRoYXQsIHdlIGp1c3QgZW1pdCB0aGUgdGFncyBhbnl3YXkuCgkgIFdoaWxlIGl0IF93b3VsZF8gYmUgbmljZXIgdG8gYmUgc3BlY2lmeSB0aGUgdGhyZXNob2xkIHRvIHN0YXJ0IHB1c2hpbmcKCSAgdGhlIHRhZ3MgaW4gdGVybXMgb2YgZHVyYXRpb24sIHRoaXMgd291bGQgaW50cm9kdWNlIG1vcmUgY29tcGxleGl0eSB0aGFuCgkgIHRoaXMgbWVyaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTkxCgoyMDEwLTAzLTI2IDE4OjU4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogT3B0aW9uYWxseSBjaGVjayB0aGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgdG9vIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIGlzIG9wdGlvbmFsIGJlY2F1c2UgaXQncyBhIHF1aXRlIGV4cGVuc2l2ZSBvcGVyYXRpb24gYW5kIGl0J3MgdmVyeQoJICB1bmxpa2VseSB0aGF0IGEgbm9uLWZyYW1lIGlzIGRldGVjdGVkIGFzIGZyYW1lIGFmdGVyIHRoZSBoZWFkZXIgQ1JDIGNoZWNrCgkgIGFuZCBjaGVja2luZyBhbGwgYml0cyBmb3IgdmFsaWQgdmFsdWVzLiBUaGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgYXJlCgkgIG1haW5seSB1c2VmdWwgdG8gZGV0ZWN0IGluY29uc2lzdGVuY2llcyBpbiB0aGUgZW5jb2RlZCBwYXlsb2FkLgoKMjAxMC0wMy0yNiAxODo0MjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IENoZWNrIHRoZSBDUkMtOCBvZiB0aGUgaGVhZGVycyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBtYWtlcyBmYWxzZS1wb3NpdGl2ZXMgZHVyaW5nIHNlZWtpbmcgbXVjaCBsZXNzIGxpa2VseSBhbmQgZGV0ZWN0aW9uIG9mCgkgIHRoZW0gbXVjaCBmYXN0ZXIuCgoyMDEwLTAzLTI2IDE4OjIwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2V0IHRoZSBsYXN0IHN0b3AgdG8gdGhlIGJ1ZmZlciBzdGFydHRpbWUgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQKCSAgLi4uaW5zdGVhZCBvZiBub3Qgc2V0dGluZyBpdCBhdCBhbGwuCgoyMDEwLTAzLTI2IDE4OjE5OjAwICswMTAwICBKb3NodWEgTS4gRG9lIDxqb3NoQGpvc2hkb2UuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZW5kIE5FV1NFR01FTlQgZXZlbnQgd2l0aCBjb3JyZWN0IHN0YXJ0IGFuZCBwb3NpdGlvbgoJICBJbnN0ZWFkIG9mIHRha2luZyB0aGUgbGFzdCBzdG9wICh3aGljaCBjb3VsZCBiZSBidWZmZXIgZW5kdGltZSBpbnN0ZWFkCgkgIG9mIHN0YXJ0dGltZSkgYWx3YXlzIHRha2UgdGhlIGJ1ZmZlciBzdGFydHRpbWUuCgkgIEZpeGVzIGJ1ZyAjNjE0MDE2LgoKMjAxMC0wMy0yNiAxNjo0OTowMSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBidWZmZXIgcmVmY291bnQgaXNzdWUKCSAgV2hlbiBjYWxsZWQgZnJvbSB0aGUgR1NUX0ZMQUNfUEFSU0VfU1RBVEVfSEVBREVSUyBjYXNlLAoJICBnc3RfZmxhY19wYXJzZV9oYW5kX2hlYWRlcnMoKSBkb2VzIGEgZ3N0X2J1ZmZlcl9zZXRfY2FwcygpIG9uIGEgYnVmZmVyCgkgIHdpdGggcmVmY291bnQgPiAxLiBUaGlzIGNoYW5nZSBoYW5kbGVzIHRoaXMgY2FzZSBieSBtYWtpbmcgdGhlIGJ1ZmZlcgoJICBtZXRhZGF0YV9Xcml0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDAzNwoKMjAxMC0wMy0yNSAxNzowOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSB1bnVzZWQgR3N0QmFzZVBhcnNlQ2xhc3NQcml2YXRlIHN0cnVjdHVyZQoKMjAxMC0wMy0yNSAxMjo1NTowMiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE1ha2UgYml0cmF0ZSBlc3RpbWF0aW9uIG1vcmUgYWNjdXJhdGUKCSAgVGhpcyBpbXBsZW1lbnRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgbWFrZSBtb3JlIGFjY3VyYXRlIGJpdHJhdGUgZXN0aW1hdGVzLgoKMjAxMC0wMy0yNSAxMTo0ODo0NiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYml0cmF0ZSBjYWxjdWxhdGlvbgoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgbWluL2F2Zy9tYXggYml0cmF0ZXMgZm9yIGFhY3BhcnNlLgoJICBOb3RlOiBUaGUgYml0cmF0ZSB3YXMgYmVpbmcgaW5jb3JyZWN0bHkgY2FsY3VsYXRlZCBmb3IgQURUUyBzdHJlYW1zCgkgIChpdCdzIG5vdCBpbiB0aGUgaGVhZGVyIGFzIHRoZSBjb2RlIHN1Z2dlc3RzKS4KCjIwMTAtMDMtMjUgMTE6MjI6NTggKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBBZGQgYml0cmF0ZSBjYWxjdWxhdGlvbiB0byBiYXNlcGFyc2UKCSAgVGhpcyBtYWtlcyBiYXNlcGFyc2Uga2VlcCBhIHJ1bm5pbmcgYXZlcmFnZSBvZiB0aGUgc3RyZWFtIGJpdHJhdGUsIGFzCgkgIHdlbGwgYXMgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gYml0cmF0ZXMuIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIGEKCSAgdmZ1bmMgdG8gbWFrZSBzdXJlIHRoYXQgcGVyLWZyYW1lIG92ZXJoZWFkIGZyb20gdGhlIGNvbnRhaW5lciBpcyBub3QKCSAgYWNjb3VudGVkIGZvciBpbiB0aGUgYml0cmF0ZSBjYWxjdWxhdGlvbi4KCSAgV2UgdGFrZSBjYXJlIG5vdCB0byBvdmVycmlkZSB0aGUgYml0cmF0ZSwgbWluaW11bS1iaXRyYXRlLCBhbmQKCSAgbWF4aW11bS1iaXRyYXRlIHRhZ3MgaWYgdGhleSBoYXZlIGJlZW4gcG9zdGVkIHVwc3RyZWFtLiBXZSBhbHNvCgkgIHJhdGUtbGltaXQgdGhlIGVtaXNzaW9uIG9mIGJpdHJhdGUgc28gdGhhdCBpdCBpcyBvbmx5IHRyaWdnZXJlZCBieSBhCgkgIGNoYW5nZSBvZiA+MTAga2Jwcy4KCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDEtMTQgMTE6NTA6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgYmFzZXBhcnNlIEdUeXBlIG5hbWUgdG8gYXZvaWQgcG9zc2libGUgY29uZmxpY3RzCgoyMDEwLTAxLTEyIDE4OjU1OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbml0aWFsaXplIHZhcmlhYmxlcy4KCSAgRml4ZXMgYnVpbGQgb24gJCNAKiggbWFjb3N4CgoyMDEwLTAxLTExIDIyOjQxOjU3ICswMzAwICDQ8/Hr4O0gyObh8+vg8u7iIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICB3aW4zMjogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZS4gRml4IG1wZWdkZW11eCBMSUJBREQKCSAgQmVjYXVzZSBjb25maWcuaCBkZWZpbmVzIF9fTVNWQ1JUX1ZFUlNJT05fXywgd2hpY2ggc2hvdWxkIGJlIGRlZmluZWQKCSAgYmVmb3JlIGluY2x1c2lvbiBvZiBhbnkgc3lzdGVtIGhlYWRlci4KCSAgQWxzbyBmaXhlcyBtcGVnZGVtdXggTWFrZWZpbGUuYW0gTElCQUREIHR5cG8uCgkgIEZpeGVzICM2MDY2NjUKCjIwMTAtMDEtMTEgMTM6MjA6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWxzbyBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIERvIG5vdCBmb3JnZXQgdG8gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBvZmYgYWFjcGFyc2UKCjIwMTAtMDEtMTEgMTM6MTM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBSZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCAnbm9uZScgdG8gJ3JhdycKCSAgUmVuYW1lcyBhYWMncyBzdHJlYW0tZm9ybWF0IGZyb20gcHJldmlvdXMgY29tbWl0cyBmcm9tIG5vbmUgdG8KCSAgcmF3CgoyMDEwLTAxLTExIDEyOjEwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiB1cGRhdGUgdGVzdHMgdG8gc3RyZWFtLWZvcm1hdCBjaGFuZ2VzCgkgIFVwZGF0ZXMgYWFjcGFyc2UgdW5pdCB0ZXN0cyB0byBjaGVjayBmb3Igc3RyZWFtLWZvcm1hdAoJICBjb3JyZWN0bmVzcyBhcyB3ZWxsLgoKMjAxMC0wMS0xMSAxMDo1MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzIHN0cmVhbS1mb3JtYXQgZmllbGQgdG8gb3V0cHV0IGNhcHMKCjIwMTAtMDEtMDUgMTU6MDU6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAxMC0wMS0wNSAxNTowNDozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMS0wNSAxNDo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDA5LTEyLTIxIDE4OjI5OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAxMC0wMS0wNSAxNjozNTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCAobXVsdGlwbGUgY2hhbm5lbCkgZnJhbWUgcGFyc2luZwoKMjAxMC0wMS0wNSAxNjozNTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRlY2xhcmUgdW5wYXJzZWQgaW5wdXQgYW5kIHBhcnNlZCBvdXRwdXQKCjIwMDktMTItMjEgMTg6MTk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHNjYW5uaW5nIGZvciBuZXh0IHN5bmN3b3JkCgoyMDA5LTEyLTIxIDE4OjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IHNlZWsgaGFuZGxpbmcgYW5kIG5ld3NlZ21lbnQgc2VuZGluZwoJICBQZXJmb3JtIHNhbml0eSBjaGVjayBvbiB0eXBlIG9mIHNlZWssIGFuZCBvbmx5IHBlcmZvcm0gb25lIHRoYXQgaXMKCSAgYXBwcm9wcmlhdGVseSBzdXBwb3J0ZWQuICBBZGp1c3QgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50CgkgIHRvIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdGhhdCBpcyBzZW50IGRvd25zdHJlYW0uCgoyMDA5LTEyLTIxIDExOjU5OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgcmVmYWN0b3IgY2xlYW51cAoJICBBbHNvIGFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTEyLTE4IDIxOjA1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbG9jYXRlIG5leHQgc3luYyBjb2RlIG1vcmUgZWZmaWNpZW50bHkKCjIwMDktMTItMTggMjE6MDQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBiYXNlcGFyc2UgdGFrZXMgY2FyZSBvZiBoYW5kbGluZyBsZWZ0b3ZlciBwaWVjZXMKCjIwMDktMTItMTggMjE6MDI6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbXBsZW1lbnQgbGVmdG92ZXIgZHJhaW5pbmcgaW4gcHVsbCBtb2RlCgoyMDA5LTEyLTE3IDEyOjQ1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2V0IF9PRkZTRVQgYW5kIF9PRkZTRVRfRU5EIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMTItMTcgMTI6NDQ6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdmbGFjcGFyc2UnIGludG8gaXQKCjIwMDktMTItMTYgMTg6Mzg6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIGRlZmF1bHQgY29udmVyc2lvbiB1c2luZyBicHMgaWYgbm8gZnBzIGF2YWlsYWJsZQoJICBBbHNvIHN0b3JlIGVzdGltYXRlZCBkdXJhdGlvbiBhcyBzdWNoLCByYXRoZXIgdGhhbiBwcmV0ZW5kaW5nIG90aGVyd2lzZQoJICAoZS5nLiBzZXQgYnkgc3ViY2xhc3MpLgoKMjAwOS0xMi0xOCAxMzozMDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGNoZWNrIGZvciByZW1haW5pbmcgZGF0YSB3aGVuIGRyYWluaW5nIGluIHB1c2ggbW9kZQoKMjAwOS0xMi0xOCAxMzozMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBwdWxsIG1vZGUgY2FjaGUgc2l6ZSBjb21wYXJpc29uCgoyMDA5LTEyLTE4IDEzOjAxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwOS0xMi0xNyAxNDo0NjowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIHNwZWMgZmlsZSBhbmQgZml4IGFjM3BhcnNlciBoZWFkZXIgbGlzdGluZyBpbiBNYWtlZmlsZS5hbQoKMjAwOS0xMi0xMSAxMDoyNToxNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggYSBmb3JtYXQgc3RyaW5nIGFzIHJlcG9ydGVkIG9uIGlyYy4KCjIwMDktMTEtMjMgMTY6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgZm9yIHBhcnNpbmcKCjIwMDktMTAtMjkgMTU6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZXh0cmFjdCBhbmQgdXNlIHNvbWUgbW9yZSBkZXRhaWxzIGZvciBFbmhhbmNlZCBBYy0zIHN0cmVhbXMKCjIwMDktMTAtMjkgMTU6MTg6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjdXN0b20gYnVmZmVyZmxhZyBpbmRpY2F0ZXMgbm90IHRvIGNvdW50IGZyYW1lIGluIHN0YXRzCgoyMDA5LTEwLTI4IDE0OjA4OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMDktMTAtMjggMTQ6MDc6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW5mb3JtIGJhc2UgcGFyc2VyIG9mIGZyYW1lIGR1cmF0aW9uCgoyMDA5LTEwLTI3IDE2OjE2OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgc3JjIGNhcHMgc2V0dGluZ3MKCjIwMDktMTEtMjcgMTc6NTk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFjM3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgTUFSR0lOQUwgcmFuayBmb3Igbm93OyBtaWdodCB0YWtlIHNvbWUgdGltZSBmb3Igc29tZSAodXNlZnVsKQoJICBmcmFtZWQ9dHJ1ZS9mYWxzZSB0byBhcHBlYXIgaGVyZSBhbmQgdGhlcmUuCgoyMDA5LTExLTI2IDE4OjM0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTEtMjYgMTg6MTU6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnYW1ycGFyc2UnIGludG8gaXQKCjIwMDktMTEtMjcgMTc6Mjc6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZWZlcmVuY2UgR3N0QmFzZVBhcnNlIG5vdyBsaXZlcyBoZXJlCgoyMDA5LTExLTI4IDE4OjEzOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgJ2FhY3BhcnNlJyBwbHVnaW4gdG8gZ2VuZXJpYyAnYXVkaW9wYXJzZXJzJyBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJICBhYWNwYXJzZTogc2VwYXJhdGUgcGx1Z2luIHJlZ2lzdHJhdGlvbiBhbmQgcmVuYW1lIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGJlZm9yZSBhY2Nlc3NpbmcKCjIwMDktMTEtMDUgMTQ6MzE6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTAtMjkgMTU6MTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXh1cCBjb21tZW50cyB0byBDLXN0eWxlCgoyMDA5LTEwLTI5IDE2OjA1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXNldCBwYXNzdGhyb3VnaCBtb2RlIHRvIGRlZmF1bHQgKGRpc2FibGVkKSBvbiBhY3RpdmF0aW9uCgoyMDA5LTEwLTI5IDE1OjE2OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlCgoyMDA5LTEwLTI4IDE0OjA2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGZpeC9lbmhhbmNlIERJU0NPTlQgbWFya2luZwoJICBJbiBwYXJ0aWN1bGFyLCBjb25zaWRlciBESVNDT05UID09ICFzeW5jLCBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcXVlcnkKCSAgc3luYyBzdGF0ZSwgYXMgaXQgbWF5IHdhbnQgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIGNoZWNrcyBkZXBlbmRpbmcKCSAgb24gd2hldGhlciBzeW5jIHdhcyBhY2hpZXZlZCBlYXJsaWVyIG9uLgoJICBBbHNvIGFycmFuZ2UgZm9yIHN1YmNsYXNzIHRvIHF1ZXJ5IHdoZXRoZXIgbGVmdG92ZXIgZGF0YSBpcyBiZWluZyBkcmFpbmVkLgoKMjAwOS0xMS0yMyAxNTo0ODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgdGltZXN0YW1wIGhhbmRsaW5nLCBhbmQgZGVmYXVsdCBjb252ZXJzaW9uCgkgIEluIHBhcnRpY3VsYXIsIChvcHRpb25hbGx5KSBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGEgbm90aW9uIG9mIGZyYW1lcyBwZXIgc2Vjb25kCgkgIChhbmQgdGhlcmVmb3JlIGFsc28gZnJhbWUgZHVyYXRpb24pIGFuZCBoYXZlIGl0IHRyYWNrIGZyYW1lIGFuZCBieXRlIGNvdW50cy4KCSAgVGhpcyB3YXksIHN1YmNsYXNzIGNhbiBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGZwcyBhbmQgaGF2ZSBpdCBwcm92aWRlIGRlZmF1bHQKCSAgYnVmZmVyIHRpbWUgbWV0YWRhdGEgYW5kIGNvbnZlcnNpb25zLCB0aG91Z2ggc3ViY2xhc3MgY2FuIHN0aWxsIGluc3RhbGwKCSAgY2FsbGJhY2tzIHRvIGhhbmRsZSBzdWNoIGl0c2VsZi4KCjIwMDktMTAtMjggMTI6MDI6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMDktMTAtMjggMTI6MDA6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZV9maXhlZF9jYXBzIGZvciBzcmMgcGFkCgkgIEFmdGVyIGFsbCwgc3RyZWFtIGlzIGFzLWlzLCBhbmQgdGhlcmUgaXMgbGl0dGxlIG1vbGRpbmcgdG8gZG93bnN0cmVhbSdzCgkgIHRhc3RlIHRoYXQgY2FuIGJlIGRvbmUuICBJZiBzdWJjbGFzcyBjYW4gYW5kIHdhbnRzIHRvIGRvIHNvLCBpdCBjYW4KCSAgc3RpbGwgb3ZlcnJpZGUgYXMgc3VjaC4KCjIwMDktMTEtMjAgMTc6MzI6MTMgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncwoKMjAwOS0xMC0xMSAxMToyMjoxMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTA5LTI1IDE3OjAyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IGZvcmVnbyAoYm9ndXMpIHBhcnNpbmcgb2YgYWxyZWFkeSBwYXJzZWQgKHJhdykgaW5wdXQKCjIwMDktMDgtMDcgMTM6MDc6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGRyYWluaW5nCgoyMDA5LTA4LTA3IDEzOjA2OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggbWlub3IgbWVtb3J5IGxlYWsKCjIwMDktMDctMTQgMTQ6MDg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBBZGQgZnVuY3Rpb24gZm9yIHRoZSBiYXNlcGFyc2Ugc3ViY2xhc3MgdG8gcHVzaCBidWZmZXJzIGRvd25zdHJlYW0KCSAgQWxzbyBoYW5kbGUgdGhlIGNhc2UgZ3JhY2VmdWxseSB3aGVyZSB0aGUgc3ViY2xhc3MgZGVjaWRlcyB0byBkcm9wCgkgIHRoZSBmaXJzdCBidWZmZXJzIGFuZCBoYXMgbm8gY2FwcyBzZXQgeWV0LiBJdCdzIHN0aWxsIHJlcXVpcmVkIHRvCgkgIGhhdmUgdmFsaWQgY2FwcyBzZXQgd2hlbiB0aGUgZmlyc3QgYnVmZmVyIHNob3VsZCBiZSBwYXNzZWQgZG93bnN0cmVhbS4KCjIwMDktMDctMTQgMTQ6MDc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzZWVrIGV2ZW50IGxlYWtpbmcKCjIwMDktMDYtMTggMTI6MTM6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBRElGOiBkbyBub3Qgc2VuZCBib2d1cyB0aW1lc3RhbXBzLCBsZWF2ZSB0byBkb3duc3RyZWFtIChkZWNvZGVyKQoKMjAwOS0wNi0wMSAxNTo1MzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBzYW1wbGUgcmF0ZSBleHRyYWN0aW9uIGZyb20gY29kZWMgZGF0YQoJICBJbiBvbmUgY2FzZSB3ZSBleHRyYWN0ZWQgdGhlIHNhbXBsZSByYXRlIGluZGV4IGZyb20gdGhlIGNvZGVjIGRhdGEKCSAgYW5kIHNhdmVkIGl0IGFzIHNhbXBsZSByYXRlIHJhdGhlciB0aGFuIGdldHRpbmcgdGhlIHJlYWwgc2FtcGxlCgkgIHJhdGUgZnJvbSB0aGUgdGFibGUuIEZpeCB0aGF0LCBhbmQgYWxzbyBtYWtlIHN1cmUgd2UgZG9uJ3QgYWNjZXNzCgkgIG5vbi1leGlzdGFudCB0YWJsZSBlbnRyaWVzIGJ5IGFkZGluZyBhIHNtYWxsIGhlbHBlciBmdW5jdGlvbiB0aGF0CgkgIGd1YXJkcyBhZ2FpbnN0IG91dC1vZi1ib3VuZHMgYWNjZXNzIGluIGNhc2Ugb2YgaW52YWxpZCBpbnB1dCBkYXRhLgoKMjAwOS0wNi0wMSAxNDowMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2UsIGFtcnBhcnNlOiByZW1vdmUgYm9ndXMgZ3N0X3BhZF9maXhhdGVfY2FwcygpIGNhbGxzCgoyMDA5LTA2LTAxIDEzOjU2OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wYWdhdGUgcmV0dXJuIHZhbHVlIG9mIEdzdEJhc2VQYXJzZTo6c2V0X3NpbmtfY2FwcygpCgkgIGdzdF9iYXNlX3BhcnNlX3Npbmtfc2V0Y2FwcygpIHByZXN1bWFibHkgc2hvdWxkIGZhaWwgaWYgdGhlIHN1YmNsYXNzCgkgIHJldHVybnMgRkFMU0UgZnJvbSBpdHMgOjpzZXRfc2lua19jYXBzKCkgZnVuY3Rpb24uCgoyMDA5LTA2LTAxIDEzOjQ3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb24ndCB0cnkgdG8gR1NUX0xPRyBhbiBhbHJlYWR5LWZyZWVkIGNhcHMgc3RyaW5nCgkgIFRoZSBwcm9wZXIgd2F5IHRvIGxvZyBjYXBzIGlzIHZpYSBHU1RfUFRSX0ZPUk1BVCBhbnl3YXkuCgoyMDA5LTA2LTAxIDEzOjA1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIG91dHB1dCBjYXBzLCBhbmQga2VlcCBjb2RlY19kYXRhCgkgIENyZWF0ZSBvdXRwdXQgY2FwcyBmcm9tIGlucHV0IGNhcHMsIHNvIHdlIG1haW50YWluIGFueSBmaWVsZHMgd2UKCSAgbWlnaHQgZ2V0IG9uIHRoZSBpbnB1dCBjYXBzLCBzdWNoIGFzIGNvZGVjX2RhdGEgb3IgcmF0ZSBhbmQgY2hhbm5lbHMuCgkgIFNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgd2UgZG9uJ3QgaGF2ZSBpbnB1dCBjYXBzCgkgIG9yIHRoZXkgZG9uJ3QgY29udGFpbiBzdWNoIGZpZWxkcy4gV2UgZG8gdGhpcyBwYXJ0bHkgYmVjYXVzZSB3ZSBjYW4sCgkgIGJ1dCBhbHNvIGJlY2F1c2Ugc29tZSBtdXhlcnMgbmVlZCB0aGlzIGluZm9ybWF0aW9uLiBUYWdyZWFkYmluIHdpbGwKCSAgYWxzbyBiZSBoYXBweSBhYm91dCB0aGlzLgoKMjAwOS0wNS0yNiAxOTo0Mzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGRlYnVnIGNhdGVnb3J5CgoyMDA5LTA0LTI3IDIyOjM5OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggKHJlZ3Jlc3Npb24gaW4pIG5ld3NlZ21lbnQgaGFuZGxpbmcKCSAgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKS4gIEZpeGVzICM1ODAxMzMuCgoyMDA5LTA0LTA3IDA0OjUzOjAyICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzbGlnaHRseSBicm9rZW4gYnVmZmVyLWluLXNlZ21lbnQgY2hlY2sgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKQoKMjAwOS0wNC0wNSAwMzo1MDoxOSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggcHVzaCBtb2RlIHNlZWtpbmcgKGFhY3BhcnNlLCBhbXJwYXJzZSkKCSAgU2VuZGluZyB0aGUgZmx1c2gtc3RhcnQgZXZlbnQgZm9yd2FyZCBiZWZvcmUgdGFraW5nIHRoZSBzdHJlYW0gbG9jayBhY3R1YWxseQoJICB3b3JrcywgaW4gY29udHJhc3QgdG8gZGVhZGxvY2tpbmcgaW4gZG93bnN0cmVhbSBwcmVyb2xsX3dhaXQgKGh1bmsgMSkuCgkgIEFmdGVyIHRoYXQgd2UgZ2V0IHRoZSBjaGFpbiBmdW5jdGlvbiBiZWluZyBzdHVjayBpbiBhIGJ1c3kgbG9vcC4gVGhpcyBpcyBmaXhlZAoJICBieSB1cGRhdGluZyB0aGUgbWluaW11bSBmcmFtZSBzaXplIGluc2lkZSB0aGUgc3luY2hyb25pemF0aW9uIGxvb3AgYmVjYXVzZSB0aGUKCSAgc3ViY2xhc3MgYXNrcyBmb3IgbW9yZSBkYXRhIGluIHRoaXMgd2F5IChodW5rIDIpLgoJICBGaW5hbGx5LCB0aGlzIGxlYWRzIHRvIGEgdmVyeSBwcm9iYWJsZSBjcmFzaCBiZWNhdXNlIHRoZSBzdWJjbGFzcyBjYW4gZmluZCBhCgkgIHZhbGlkIGZyYW1lIHdpdGggYSBzaXplIGdyZWF0ZXIgdGhhbiB0aGUgY3VycmVudGx5IGF2YWlsYWJsZSBkYXRhIGluIHRoZQoJICBhZGFwdGVyLiBUaGlzIG1ha2VzIHRoZSBzdWJzZXF1ZW50IGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyIGNhbGwgcmV0dXJuIE5VTEwsCgkgIHdoaWNoIGlzIG5vdCBleHBlY3RlZCAoaHVuayAzKS4KCjIwMDktMDMtMzEgMTY6MDc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERlbGF5IG5ld3NlZ21lbnQgYXMgbG9uZyBhcyBwb3NzaWJsZS4KCSAgSWYgbmV3c2VnbWVudCBpcyBzZW50ICh0b28pIGVhcmx5LCBjYXBzIG1heSBub3QgeWV0IGJlIGZpeGVkL3NldCwKCSAgYW5kIGRvd25zdHJlYW0gbWF5IG5vdCBoYXZlIGJlZW4gbGlua2VkLgoKMjAwOS0wMy0xOSAwMToxNzoyNSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJ1c3lsb29wIHdoZW4gc2Vla2luZy4gRml4ZXMgIzU3NTM4OAoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IGFmdGVyIGEgZGlzY29udCwgc2V0X21pbl9mcmFtZV9zaXplKDEwMjQpIGlzIGNhbGxlZCB3aGVuCgkgIGRldGVjdF9zdHJlYW0gcmV0dXJucyBGQUxTRS4gSG93ZXZlciwgZGV0ZWN0X3N0cmVhbSBjYWxscyBjaGVja19hZHRzX2ZyYW1lCgkgIHdoaWNoIHNldHMgdGhlIGZyYW1lIHNpemUgb24gaXRzIG93biB0byBzb21ldGhpbmcgbGFyZ2VyIHRoYW4gMTAyNC4gVGhpcyBpcyB0aGUKCSAgc2FtZSBzaXR1YXRpb24gYXMgaW4gdGhlIGJlZ2lubmluZywgc28gdGhlIGJhc2UgY2xhc3MgZW5kcyB1cCBjYWxsaW5nCgkgIGNoZWNrX3ZhbGlkX2ZyYW1lIGluIGFuIGVuZGxlc3MgbG9vcC4KCjIwMDktMDMtMTkgMDA6MzI6NDAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFJlZmFjdG9yIGNoZWNrX3ZhbGlkX2ZyYW1lIHRvIGV4cG9zZSBicm9rZW4gY29kZQoJICBKdXN0IG1vdmluZyBjb2RlIGFyb3VuZCBhbmQgcmVtb3ZpbmcgYW4gdW5oZWxwZnVsL21pc2xlYWRpbmcgY29tbWVudC4KCjIwMDktMDItMjcgMTE6MjQ6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnQgbGFzdCBjaGFuZ2UgYW5kIHByb3Blcmx5IGZpeAoJICBCYXNlcGFyc2UgaW50ZXJuYWx5IGJyZWFrcyB0aGUgc2VtYW50aWNzIG9mIGEgX2NoYWluIGZ1bmN0aW9uIGJ5IGNhbGxpbmcgaXQgd2l0aAoJICBidWZmZXI9PU5VTEwuIFRoZSByZXNvbiBJIGJlbGl2ZWQgaXQgd2FzIG9rYXkgdG8gcmVtb3ZlIGl0IHdhcyB0aGF0IHRoZXJlIGlzCgkgIGFsc28gYW4gdW5jaGVja2VkIGFjY2VzcyB0byBidWZmZXIgbGF0ZXIgaW4gX2NoYWluLiBBY3R1YWxseSB0aGF0IGNvZGUgaXMgd3JvbmcsCgkgIGFzIGl0IG1vc3QgcHJvYmFibHkgd2FudHMgdG8gc2V0IGRpc2NvbnQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlci4KCjIwMDktMDItMjYgMTE6MDI6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgY2hlY2tzIGZvciBidWZmZXI9PU5VTEwKCSAgQWNjb3JkaWZuIHRvIGRvY3MgZm9yIEdzdFBhZENoYWluRnVuY3Rpb24gYnVmZmVyIGNhbm5vdCBiZSBOVUxMLiBJZiB3ZSB3b3VsZAoJICBsZWF2ZSB0aGUgY2hlY2ssIHdlIHdvdWxkIGFsc28gbmVlZCBtb3JlIHN1Y2ggY2hlY2sgYmVsb3cuCgoyMDA5LTAyLTExIDAwOjE1OjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggbGljZW5zZSBzcGVjaWZpZWQgaW4gcGx1Z2luIGRldGFpbHMuCgoyMDA5LTAxLTMwIDE4OjE4OjEwICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24uCgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uIGluIGJvdGgKCSAgY29waWVzIG9mIEdzdEJhc2VQYXJzZQoKMjAwOS0wMS0yMyAxNjowMDoxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIExvZyBhYWMgZGV0YWlscyBmb3VuZCBpbiBjb2RlY19kYXRhLgoKMjAwOC0xMS0xMyAxNzoyNDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoKMjAwOC0xMS0xMyAxNToyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoKMjAwOC0xMS0xMyAxNDoyMTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoKMjAwOC0xMS0xMyAxMjo1OTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCjIwMTEtMDMtMjAgMDE6MDg6MzggKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IE1ha2Ugc3JjX3F1ZXJ5IE1ULXNhZmUKCSAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgZWxlbWVudCBtaWdodCBiZSBnb2luZyBkb3duIHdoaWxlIHRoZSBldmVudCBhcnJpdmVzCgoyMDExLTA0LTA4IDE1OjIyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogVW5yZWYgZXZlbnQgaWYgdGhlIHBhcmVudCBlbGVtZW50IGRpc2FwcGVhcmVkCgoyMDExLTA0LTA4IDE1OjIyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFVucmVmIGV2ZW50IGlmIHRoZSBwYXJlbnQgZWxlbWVudCBkaXNhcHBlYXJlZAoKMjAxMS0wMy0yMSAxNjowNDozNCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBNYWtlIHVwc3RyZWFtIGV2ZW50cyBNVC1zYWZlCgoyMDExLTAzLTIxIDE2OjA0OjM0ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBNYWtlIHVwc3RyZWFtIGV2ZW50cyBNVC1zYWZlCgoyMDExLTA0LTA4IDE1OjIwOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cDogVW5yZWYgZXZlbnRzIGlmIHRoZSBwYXJlbnQgZWxlbWVudCBkaXNhcHBlYXJlZAoKMjAxMS0wMS0wNiAxODoyNDozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cG1hbmFnZXI6IGZpeCBwYWQgY2FsbGJhY2tzIHNvIHRoZXkgaGFuZGxlIHdoZW4gcGFyZW50IGdvZXMgYXdheQoJICAxKSBXZSBuZWVkIHRvIGxvY2sgYW5kIGdldCBhIHN0cm9uZyByZWYgdG8gdGhlIHBhcmVudCwgaWYgc3RpbGwgdGhlcmUuCgkgIDIpIElmIGl0IGhhcyBnb25lIGF3YXksIHdlIG5lZWQgdG8gaGFuZGxlIHRoYXQgZ3JhY2VmdWxseS4KCSAgVGhpcyBpcyBuZWNlc3NhcnkgaW4gb3JkZXIgdG8gc2FmZWx5IG1vZGlmeSBhIHJ1bm5pbmcgcGlwZWxpbmUuIEhhcyBiZWVuCgkgIG9ic2VydmVkIHdoZW4gYSBzdHJlYW1pbmcgdGhyZWFkIGlzIGRvaW5nIGEgYnVmZmVyX2FsbG9jKCkgd2hpbGUgYW4KCSAgYXBwbGljYXRpb24gdGhyZWFkIHNlbmRzIGFuIGV2ZW50IG9uIGEgcGFkIGZ1cnRoZXIgZG93bnN0cmVhbSwgYW5kIGZyb20KCSAgd2l0aGluIGEgcGFkIHByb2JlIChob2xkaW5nIFNUUkVBTV9MT0NLKSBjYXJyaWVzIG91dCB0aGUgcGlwZWxpbmUgcGx1bWJpbmcKCSAgd2hpbGUgdGhlIHN0cmVhbWluZyB0aHJlYWQgaGFzIGl0cyBidWZmZXJfYWxsb2MoKSBpbiBwcm9ncmVzcy4KCjIwMTAtMTEtMjYgMTU6MjA6MDQgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbWFrZSBpdGVyYXRlX2ludGVybmFsX2xpbmtzIE1ULXNhZmUKCjIwMTEtMDQtMDggMTQ6MzU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBSZXZlcnQgIlB1bHNlc2luazogQWxsb3cgY2h1bmtzIHVwIHRvIGJ1ZnNpemUgaW5zdGVhZCBvZiBzZWdzaXplIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFlMmMxNDY3YWUwNDJhM2M2YmIxYTZiYzBjMDdhZWZmMTNlYzVlZGIuCgkgIFRoZSBjb21taXQgY2F1c2VzIHB1bHNlc2luayB0byBpZ25vcmUgdGhlIGxhdGVuY3ktdGltZSBiYXNlYXVkaW9zaW5rIHByb3BlcnR5LgoKMjAxMS0wNC0wOCAxMToxMzowNyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBydHBzcGVleHBheTogRG8gbm90IHRyYW5zbWl0dCBzYW1wbGVzIHdpdGggR0FQIGZsYWcKCSAgSWYgd2UgZ2V0IEdBUCBzYW1wbGVzLCB0aGVyZSBpcyBubyBuZWVkIHRvIHRyYW5zbWl0dCBpdC4KCSAgSW4gc29tZSBzaXR1YXRpb25zLCBtaWNyb3Bob25lIGlzIG11dGVkLCB3ZSBjYW4gZHJvcCBuZXQgdHJhZmZpY2sKCSAgdXNhZ2UgdG8gfjEga2JpdC9zLiBXaXRob3V0IHBhdGNoIGl0IHdpbGwgc3RheSB+MjAga2JpdC9zCgoyMDExLTA0LTA4IDExOjExOjU4ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IFVzZSBzcGVleCBpbnRlcm4gc2lsZW5jZSBkZXRlY3Rpb24KCSAgU3BlZXggaGFzIGJ1aWxkIGluIHNpbGVuY2UgZGV0ZWN0aW9uLiBJZiBzcGVleF9lbmNvZGVfaW50IHJldHVybnMgMCwKCSAgdGhhbiB0aGVyZSBpcyBzaWxlbmNlIGFuZCBzYW1wbGUgZG8gbm90IG5lZWQgdG8gYmUgdHJhbnNtaXR0ZWQuCgkgIFRoaXMgd29yayBvbmx5IGlmIHZicj0xIGFuZCBkdHg9MSBvcHRpb25hcyBhcmUgZW5hYmxlZC4KCSAgU28gaWYgd2UgZ2V0IDAsIHdlIGFkZCBHQVAgZmxhZyB0byB0aGUgc2FtcGxlLgoKMjAxMS0wNC0wNyAxOTowNDozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJICBydHA6IHBvcnQgc29tZSBwYXkvZGVwYXlsb2FkZXJzCgoyMDExLTA0LTA1IDE5OjE1OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogaGFuZGxlIHNjYXRoZXIgZ2F0aGVyIGZyb20gYnVmZmVycwoJICBJdGVyYXRlIHRoZSBtZW1vcnkgYmxvY2tzIG9uIHRoZSBidWZmZXIgYW5kIHNlbmQgdGhlbSB1c2luZyBzZW5kbXNnLgoKMjAxMS0wNC0wNSAxNzoyNjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IHJlc2V0IHN0cnVjdHVyZSBiZWZvcmUgdXNlCgoyMDExLTA0LTA1IDE3OjIwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYwoKMjAxMS0wNC0wNSAxNzoxMjoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlICogY29udHJvbCBjb3JyZWN0bHkKCSAgUGFyc2Ugc2Vzc2lvbiBjb250cm9sIGF0dHJpYnV0ZXMgd2hlbiBubyBtZWRpYSBjb250cm9sIGF0dHJpYnV0ZSBpcwoJICBwcmVzZW50LiBUaHJlYXQgKiBjb250cm9sIGF0dHJpYnV0ZXMgYXMgYW4gZW1wdHkgc3RyaW5nLCBqdXN0IGxpa2UgdGhlCgkgIHNwZWMgc2F5cy4KCSAgRml4ZXMgIzY0NjgwMAoKMjAxMS0wNC0wNSAxNzowNjo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBydHNwL3VkcDogcG9ydCB0byAwLjExCgoyMDExLTA0LTA1IDE0OjI4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBBLUxhdyBhbmQgwrUtTGF3CgkgIEZpeGVzIGJ1ZyAjNjQ2NTY3LgoKMjAxMS0wNC0wNSAwOTo0NDowMSArMDIwMCAgSm9uIE5vcmRieSA8am9ub25vckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEZpeCBidWlsZCB3aXRoIGphY2sgMC4xMjAuMQoJICA5NTQ0NjIyNjc0YzBkMGEzMTQ3YTliNTExNDUxNTliMDJlZWM2OGU5IGNoZWNrZWQKCSAgZm9yIDAuMTIwLjIgYW5kIGxhdGVyLCBidXQgdGhlIGRlcHJlY2F0aW9uIHdhcyBpbnRyb2R1Y2VkIGluCgkgIDAuMTIwLjEKCjIwMTEtMDQtMDUgMTE6MTM6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIGF2aTogbW9yZSBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMDQtMDUgMTI6MDU6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICBkb2NzOiBmaXggZG9jdWVtbnRhdGlvbiB3YXJuaW5ncyAoYW5kIHJlaW5kZW50KQoKMjAxMS0wNC0wNCAxOToxNzo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpOiBwb3J0IHRvIDAuMTEgQVBJCgoyMDExLTA0LTA0IDE3OjM0OjE3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiB1cGRhdGUgb3JjIGRpc3QgZmlsZXMKCjIwMTEtMDQtMDQgMTU6NTc6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWNjYmUwOSB0byBjM2NhZmUxCgoyMDExLTAzLTAxIDE0OjA4OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBBbHdheXMgY2FsbCBwYV9zdHJlYW1fbmV3X3dpdGhfcHJvcGxpc3QoKQoJICBwYV9zdHJlYW1fbmV3X3dpdGhfcHJvcGxpc3QoKSBjYW4gdGFrZSBhIE5VTEwgcHJvcGxpc3QsIHNvIHdlIGRvbid0IG5lZWQKCSAgdG8gY29uY2VybiBvdXJzZWx2ZXMgd2l0aCB3aGV0aGVyIGl0J3MgTlVMTCBvciBub3QuCgoyMDExLTA0LTA0IDExOjMzOjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGVyZm9ybSBwb3N0LWZsdXNoIHN0YXRlIHRyaWNrcyBkb3duc3RyZWFtIHRvIHVwc3RyZWFtCgkgIC4uLiBzbyBkb3duc3RyZWFtIGlzIHNldCB3aGVuIHVwc3RyZWFtIHJlc3VtZXMgZGF0YSBmbG93LgoKMjAxMS0wNC0wNCAxMToyNzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRpc3RyaWJ1dGUgbmV3IGJhc2VfdGltZSB0byBtYW5hZ2VyIGNoaWxkcmVuIGZvbGxvd2luZyBmbHVzaCBzZWVrCgkgIC4uLiBieSBmb3JjaW5nIGEgc3RhdGUgY2hhbmdlZCB0byBQTEFZSU5HLCB3aGljaCBzaG91bGQgb3RoZXJ3aXNlIGJlIGEKCSAgbm8tb3AgYXMgZWxlbWVudHMgc2hvdWxkIGFscmVhZHkgYmUgaW4gdGhhdCBzdGF0ZS4KCSAgSW4gcGFydGljdWxhciwgaml0dGVyYnVmZmVyIG5lZWRzIG5ldyBiYXNlX3RpbWUgYXMgc29vbiBhcyBwb3NzaWJsZSB0byBwZXJmb3JtCgkgIHByb3BlciB0aW1pbmcgKGUuZy4gZW9zIHRpbWVvdXQgaGFuZGxpbmcpIGFuZCBjYW4ndCB3YWl0IGZvciB0aGUgbmV3IGJhc2VfdGltZQoJICB0aGF0IHdpbGwgYmUgZGlzdHJpYnV0ZWQgd2hlbiB0aGUgd2hvbGUgcGlwZWxpbmUgcmV0dXJucyB0byBQTEFZSU5HLgoJICBTZWUgYnVnICM2NDYzOTcuCgoyMDExLTA0LTA0IDExOjM1OjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgImppdHRlcmJ1ZmZlcjogcmVzZXQgZWxlbWVudCBiYXNlX3RpbWUgdXBvbiBmbHVzaCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmODRiOGE2OWNiYTljNTM4ZjU1NDY4NjljYjRlZjQ1NGFkNWVmYjlkLgoJICBGaXhlcyBidWcgIzY0NjM5Ny4KCjIwMTEtMDQtMDQgMTA6MzE6NDQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogU3BlY2lmeSB0aGUgb25seSBwb3NzaWJsZSBzdHJlYW0tZm9ybWF0IGZvciBoMjY0IGluIHRoZSBwYWQgdGVtcGxhdGVzLgoKMjAxMS0wNC0wNCAxMDowNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGZvciBpbnZhbGlkIChlbXB0eSkgY2xhc3NpZmljYXRpb24gaW5mbyBlbnRpdHkgc3RyaW5ncwoJICBPdGhlcndpc2UgdGhlIGNsYXNzaWZpY2F0aW9uIHN0cmluZyBjYW4gYmUgZW1wdHkgYW5kIGdzdF90YWdfbGlzdF9hZGQoKSB3aWxsCgkgIGNvbXBsYWluIG9yIGhhdmUgYSBcMCBpbiB0aGUgZmlyc3QgZm91ciBieXRlcywgd2hpY2ggaXMgd3JvbmcgdG9vLgoKMjAxMS0wNC0wNCAxMDowMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFllYXIgMCBpcyBub3QgYSB2YWxpZCB5ZWFyIGZvciBHRGF0ZSBhbmQgdGhlIHByb2xlcHRpYyBncmVnb3JpYW4gY2FsZW5kYXIKCjIwMTEtMDQtMDEgMTM6MTg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNRVRBREFUQV9CTE9DS19QSUNUVVJFIGJsb2NrcyBmb3IgR1NUX1RBR19JTUFHRSBhbmQgR1NUX1RBR19QUkVWSUVXX0lNQUdFCgoyMDExLTA0LTAxIDExOjMzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlclsyXTogVXNlIG9yY19tZW1zZXQoKSBpbnN0ZWFkIG9mIG1lbXNldCgpCgoyMDExLTAxLTE5IDE4OjA2OjQ1IC0wNzAwICBMYW5lIEJyb29rcyA8ZGlyanVkQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBBZGQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBvcHRpb24gZm9yIGFscGhhIGNoYW5uZWwgZm9ybWF0cwoKMjAxMS0wMS0xOSAxMjowNzoxNyAtMDcwMCAgTGFuZSBCcm9va3MgPGRpcmp1ZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBBZGQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBvcHRpb24gZm9yIGFscGhhIGNoYW5uZWwgZm9ybWF0cwoJICBUaGlzIG9wdGlvbiBhbGxvd3MgdGhlIHZpZGVvbWl4ZXIyIGVsZW1lbnQgdG8gb3V0cHV0IGEgdmFsaWQgYWxwaGEKCSAgY2hhbm5lbCB3aGVuIHRoZSBpbnB1dHMgY29udGFpbiBhIHZhbGlkIGFscGhhIGNoYW5uZWwuIFRoaXMgYWxsb3dzCgkgIG1peGluZyB0byBvY2N1ciBpbiBtdWx0aXBsZSBzdGFnZXMgc2VyaWFsbHkuCgkgIFRoZSBmb2xsb3dpbmcgcGlwZWxpbmUgc2hvd3MgYW4gZXhhbXBsZSBvZiBzdWNoIGEgcGlwZWxpbmU6CgkgIGdzdC1sYXVuY2ggdmlkZW90ZXN0c3JjIGJhY2tncm91bmQtY29sb3I9MHgwMDAwMDAgcGF0dGVybj1iYWxsICEgdmlkZW8veC1yYXcteXV2LGZvcm1hdD1cKGZvdXJjY1wpQVlVViAhIHZpZGVvbWl4ZXIyIGJhY2tncm91bmQ9dHJhbnNwYXJlbnQgbmFtZT1taXgxICEgdmlkZW9taXhlcjIgbmFtZT1taXgyICEgZmZtcGVnY29sb3JzcGFjZSAhIGF1dG92aWRlb3NpbmsgIHZpZGVvdGVzdHNyYyAhIHZpZGVvL3gtcmF3LXl1dixmb3JtYXQ9XChmb3VyY2NcKUFZVVYgISBtaXgyLgoJICBUaGUgZmlyc3QgdmlkZW90ZXN0c3JjIGluIHRoaXMgcGlwZWxpbmUgY3JlYXRlcyBhIG1vdmluZyBiYWxsIG9uIGEKCSAgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC4gSXQgaXMgdGhlbiBwYXNzZWQgdG8gdGhlIGZpcnN0IHZpZGVvbWl4ZXIyLgoJICBQcmV2aW91c2x5LCB0aGlzIHZpZGVvbWl4ZXIyIHdvdWxkIGhhdmUgZm9yY2VkIHRoZSBhbHBoYSBjaGFubmVsIHRvCgkgIDEuMCBhbmQgZ2l2ZW4gYSBiYWNrZ3JvdW5kIG9mIGNoZWNrZXIsIGJsYWNrLCBvciB3aGl0ZSB0byB0aGUKCSAgc3RyZWFtLiBXaXRoIHRoaXMgcGF0Y2gsIGhvd2V2ZXIsIHlvdSBjYW4gbm93IHNwZWNpZnkgdGhlIGJhY2tncm91bmQKCSAgYXMgdHJhbnNwYXJlbnQsIGFuZCB0aGUgYWxwaGEgY2hhbm5lbCBvZiB0aGUgaW5wdXQgd2lsbCBiZQoJICBwcmVzZXJ2ZWQuIFRoaXMgYWxsb3dzIGZvciBmdXJ0aGVyIG1peGluZyBkb3duc3RyZWFtLCBhcyBpcyBzaG93biBpbgoJICB0aGUgYWJvdmUgcGlwZWxpbmUgd2hlcmUgdGhlIGEgc2Vjb25kIHZpZGVvbWl4ZXIyIGlzIHVzZWQgdG8gbWl4IGluIGEKCSAgYmFja2dyb3VuZCBvZiBhbiBzbXB0ZSB2aWRlb3Rlc3RzcmMuIFNvIHRoZSByZXN1bHQgaXMgYSBiYWxsIGhvdmVyaW5nCgkgIG92ZXIgdGhlIHNtcHRlIHRlc3Qgc291cmNlLiBUaGlzIGNvdWxkLCBvZiBjb3Vyc2UsIGhhdmUgYmVlbgoJICBhY2NvbXBsaXNoZWQgd2l0aCBhIHNpbmdsZSBtaXhlciBlbGVtZW50LCBidXQgc3RhZ2VkIG1peGluZyBpcyB1c2VmdWwKCSAgd2hlbiBpdCBpcyBub3QgY29udmVuaWVudCB0byBtaXggYWxsIHZpZGVvIGF0IG9uY2UgKGUuZy4gYSBwaXBlbGluZQoJICB3aGVyZSBhIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgYmluIGV4aXN0IGFuZCBhcmUgbWl4ZWQgYXQgdGhlIGZpbmFsCgkgIG91dHB1dCwgYnV0IHRoZSBmb3JlZ3JvdW5kIGJpbiBuZWVkcyBhbiBpbnRlcm5hbCBtaXhlciB0byBjcmVhdGUKCSAgdHJhbnNpdGlvbnMgYmV0d2VlbiBjbGlwcykuCgkgIEZpeGVzIGJ1ZyAjNjM5OTk0LgoKMjAxMS0wMy0zMSAxMzoyNTowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWxzbyB1bmNvcmsgZHVyaW5nIEVPUyB3YWl0aW5nIChhbmQgYWZ0ZXIgRU9TIGlzIHJlbmRlcmVkKQoJICBQdWxzZXNpbmsgd2FzIHJlY2VudGx5IGNoYW5nZWQgdG8gZGVmZXIgdW5jb3JraW5nIHVudGlsIHRoZXJlIGlzIGRhdGEKCSAgdG8gd3JpdGUuIFRoaXMgY29uZGl0aW9uIHdpbGwgaG93ZXZlciBuZXZlciBvY2N1ciB3aGVuIEVPUyBpbiBiZWluZwoJICByZW5kZXJlZCAoc2luY2UgdGhhdCBtYXJrcyB0aGUgZW5kIG9mIGRhdGEpLiBDaGFuZ2luZyB0byBQQVVTRUQgc3RhdGUKCSAgd2hpbGUgRU9TIGlzIGJlaW5nIHdhaXRlZCBvbiByZXN1bHRzIGluIGEgaGFuZzogcGF1c2luZyBjb3JrcyB0aGUKCSAgc3RyZWFtLCB3aGljaCB3aWxsIG5ldmVyIGJlIHVuZG9uZSBzaW5jZSB0aGVyZSBpcyBubyBtb3JlIGRhdGEgd2hlbgoJICBnb2luZyBiYWNrIHRvIFBMQVlJTkcuIElmIHB1bHNlc2luayBpcyB0aGUgY2xvY2sgcHJvdmlkZXIsIGRlYWRsb2NrCgkgIGVuc3VlcyBzaW5jZSB0aW1lIGRvZXNuJ3QgY29udGludWUgaW4gY29ya2VkIHN0YXRlIGFuZCB0aGUgY2xvY2sgaWQKCSAgZm9yIEVPUyB3YWl0IG5ldmVyIGZpcmVzLgoJICBGaXhlcyAjNjQ1OTYxLgoKMjAxMS0wMy0yOSAxNjozMzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBEb24ndCB0cnkgdG8gcmVxdWVzdCB0aGUgc2FtZSByZXF1ZXN0IHBhZCB0d2ljZQoKMjAxMS0wMy0yOCAyMzo0Njo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZml4IGlzc3VlcyB3aXRoIGxhcmdlIG1ldGFkYXRhIGJsb2NrcyB3aGVuIHN0cmVhbWluZyB1bmZyYW1lZCBmbGFjCgkgIFBhcnNlIG1ldGFkYXRhIGJsb2NrcyB3aGVuIGhhbmRsaW5nIHVucGFyc2VkIGZsYWMgaW4gcHVzaCBtb2RlLiBUaGlzCgkgIHdvcmtzIGFyb3VuZCBhIGJ1bmNoIG9mIGlzc3VlcyB3aXRoIHRoZSBmbGFjIGRlY29kZXIgd2hlbiBoYW5kbGluZwoJICBtZXRhZGF0YSBibG9ja3MgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIG1heC4gZmxhYyBmcmFtZXNpemUsIHdoaWNoCgkgIGNvdmVyYXJ0IGJsb2NrcyBvZnRlbiBhcmUuIFdlIG5lZWQgdG8gaGF2ZSBhbGwgdGhlIGRhdGEgZm9yIHRoZXNlCgkgIGJsb2NrcyBhdmFpbGFibGUgd2hlbiB3ZSBwYXNzIGRhdGEgdG8gbGliZmxhYy4KCSAgaHR0cDovL2dzdHJlYW1lci1kZXZlbC45NjYxMjUubjQubmFiYmxlLmNvbS9GbGFjLWZpbGVzLXRoYXQtd2lsbC1wbGF5YmFjay1idXQtbm90LXN0cmVhbS10ZDMzMzgxOTguaHRtbCNhMzM5NTI3NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY2NzY5CgoyMDExLTAzLTI4IDIxOjA1OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBwbHVnaW5zOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDExLTAzLTI4IDIwOjUwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMS1mZG8KCjIwMTEtMDMtMjcgMjE6Mzk6NTAgKzAyMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IERvIG5vdCBidWlsZCBhbiBpbmRleCBpZiB1cHN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgQW4gaW5kZXggaXMgbm90IHVzZWZ1bCBpZiB1cHN0cmVhbSBjYW5ub3QgaGFuZGxlIHNlZWtzIGFuZCBidWlsZGluZyBpdAoJICBmb3IgaW5maW5pdGUgZmlsZXMsIGZvciBpbnN0YW5jZSBGTFYgc3RyZWFtcywgcmVzdWx0cyBpbiBhIG1lbW9yeSBsZWFrLgoKMjAxMS0wMy0yNyAwMToxOTo1OCArMDMwMCAgQWxleGV5IENoZXJub3YgPDRlcm5vdkBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uaDoKCSAgdjRsMjogbmV3IHY0bDJyYWRpbyBlbGVtZW50IHRvIGNvbnRyb2wgYW5hbG9nIHJhZGlvIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDExOAoKMjAxMS0wMy0yNSAyMjoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5M2I3MTcgdG8gMWNjYmUwOQoKMjAxMS0wMy0yNSAxNDo1NjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNzdlMmJmIHRvIDE5M2I3MTcKCjIwMTEtMDMtMjUgMTI6NTM6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm86IGZpeCB0aGUgbmFtZSBvZiB0aGUgKi1tYXJzaGFsbC5saXN0IGZpbGUgdG8gdW5icmVhayBtYWtlIGRpc3RjaGVjawoKMjAxMS0wMy0yNSAwOTozMTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ4ODE0YjYgdG8gYjc3ZTJiZgoKMjAxMS0wMy0yNSAwOTowNjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYWEyODYgdG8gZDg4MTRiNgoKMjAxMS0wMy0yNSAwMDoxMDo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogcmVmYWN0b3IgcHJvY2Vzc2luZyBsb29wIGZvciBibG9jayBiYXNlZCBvcGVyYXRpb24KCSAgUHJldmlvdXNseSB0aGUgY2hhaW4gZnVuY3Rpb24gd2FzIHdvcmtpbmcgc2FtcGxlIGZyYW1lIGJhc2VkLiBJbiBlYWNoIGN5Y2xlIGl0CgkgIHdhcyBjaGVja2luZyBpZiBpdCBpcyB0aW1lIHRvIHJ1biBhIGZmdCBvciBpZiBpdCBpcyB0aW1lIHRvIHNlbmQgYSBtZXNzYWdlLgoJICBOb3cgd2UgY2hhbmdlZCB0aGUgZGF0YSB0cmFuc2Zvcm0gZnVuY3Rpb25zIHRvIHdvcmsgb24gYSBibG9jayBvZiBkYXRhIGFuZAoJICBjYWxjdWxhdGUgdGhlIG1heCBsZW5ndGggdW50aWwgZWl0aGVyIHtlbmQtb2YtZGF0YSwgZG8tZmZ0LCBkby1tc2d9LiBUaGlzIGFsbG93cwoJICB1cyBhbHNvIHRvIGF2b2lkIHRoZSBkdXBsaWNhdGVkIGNvZGUgZm9yIHRoZSBzaW5nbGUgYW5kIG11bHRpLWNoYW5uZWwgY2FzZSAoYXMKCSAgdGhlIHRyYW5zZm9ybWVycyBoYXZlIHRoZSBzYW1lIHNpZ25hdHVyZSBub3cpLgoKMjAxMS0wMy0yNCAyMzo0NzozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBqYWNrOiB1bmJyZWFrIHRoZSBidWlsZCBmb3IgamFjazIgdXNlcnMKCSAgSmFjazIgKHZlcnNpb25zIDEuWC5YKSBkb2VzIG9ubHkgaGF2ZSB0aGF0IEFQSSBpbiBzdm4uIExpbW1pdCB0aGUgdXNlIG9mIHRoZSBuZXcKCSAgQVBJIGZvciBqYWNrMSB2ZXJzaW9ucy4KCjIwMTEtMDMtMjQgMTg6NDk6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFlYzZiOSB0byA2YWFhMjg2CgoyMDExLTAzLTI0IDE0OjE0OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGZpeCB0aGUgZXJyb3IgYWNjdW11bGF0aW9uIGFuZCBmcmFtZXNfdG9kbyBoYW5kbGluZwoJICBFdmVuIHRob3VnaCB3ZSB3cmFwIGFyb3VuZCB0aGUgYWNjdW11bGF0ZWQgc2Vjb25kLCB3ZSBzdGlsbCBuZWVkIHRvIGFkZCB0aGUKCSAgZXJyb3IgaW4gdGhlIHNhbWUgY3ljbGUuIEluY3JlYXNlIHRoZSB0b2RvIGluIHRoZSBzYW1lIGNvbmRpdGlvbmFsIGFzIGFmdGVyd2FyZHMKCSAgdGhlIGFjY3VtdWxhdGVkIGVycm9yIHdpbGwgYmUgYmVsb3cgb25lIHNlY29uZC4KCjIwMTEtMDMtMjQgMTM6NTM6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZml4IGJyb2tlbiBjb2RlIHJlc3VsdGluZyBmb3IgYSB3cm9uZyBzcGxpdHVwIG9mIGNoYW5nZXMKCjIwMTEtMDMtMjIgMTY6Mjk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHNpbXBsaWZ5IHRoZSBoYXZlX2ludGVydmFsIGNhbGN1bGF0aW9uCgkgIE1vdmUgc29tZSBvZiB0aGUgY29uZGl0aW9ucyB0byB0aGUgcGxhY2VzIHdoZXJlIHRoZSBkZXBlbmRlbnQgdmFyaWFibGVzIGNoYW5nZS4KCjIwMTEtMDMtMjIgMTY6MjY6NDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogdXNlIGxvY2FsIHZhciBmb3IgaW5wdXRfZGF0YSBmdW5jdGlvbgoJICBBdm9pZCBkZXJlZmVyZW5jaW5nIHRoZSBpbnB1dF9kYXRhIGZyb20gdGhlIGluc3RhbmNlIGZyb20gd2l0aGluIGFuIGlubmVyIGxvb3AuCgoyMDExLTAzLTIzIDE2OjM0OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IEdldCBhbmQgdXNlIHN0cmVhbWhlYWRlciBmcm9tIHRoZSBjYXBzIGlmIHBvc3NpYmxlCgkgIFRoaXMgYWxsb3dzIHBsYXliYWNrIG9mIHN0cmVhbXMgd2hlcmUgdGhlIHN0cmVhbWhlYWRlciBidWZmZXJzCgkgIHdlcmUgZHJvcHBlZCBmcm9tIHRoZSBzdHJlYW0gZm9yIHNvbWUgcmVhc29uLgoKMjAxMS0wMy0yMiAxOTozNjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBGaXhlcyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxOTozNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgRml4ZXMgIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTk6MzU6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgU2VlIGJ1ZyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxMjo1MzoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkKCSAgY2xlYW5lZCB0aGUgcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpIGluIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMy0xOCAxOTozNDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW46IHdpbmdvIHNpZ25lZCBjb21tZW50CgoyMDExLTAzLTE2IDEwOjQzOjQ3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2thdWRpb3Npbms6IEZpeCB0eXBvIGZyb20gOTU0NDYyMjY3NGMwZDBhMzE0N2E5YjUxMTQ1MTU5YjAyZWVjNjhlOQoKMjAxMS0wMy0xNiAwOTozODo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogTWFyayB0YWcgbWFwcGluZyB0YWJsZXMgYXMgc3RhdGljIGNvbnN0CgoyMDExLTAzLTE2IDA5OjM3OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSBBUlRJU1QgaW5zdGVhZCBvZiBBVVRIT1IgZm9yIEdTVF9UQUdfQVJUSVNUCgoyMDExLTAzLTE2IDA5OjM1OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBBUlRJU1QgTWF0cm9za2EgdGFnIGluc3RlYWQgb2YgQVVUSE9SIGZvciBHU1RfVEFHX0FSVElTVAoJICBBVVRIT1Igb25seSBleGlzdGVkIGluIGFuIG9sZCB2ZXJzaW9uIG9mIHRoZSBzcGVjIGFuZCBBUlRJU1QgaXMKCSAgdGhlIG5ldyByZXBsYWNlbWVudCBmb3IgdGhpcy4gV2UgYXJlIHN0aWxsIHJlYWRpbmcgYm90aCB0byBzdGlsbAoJICBiZSBjb21wYXRpYmxlIHdpdGggb2xkIGZpbGVzLgoJICBGaXhlcyBidWcgIzY0NDg3NS4KCjIwMTEtMDMtMTUgMjA6MTk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdGVzdHM6IGVuYWJsZSBtb3JlIGZvcm1hdHMgaW4gdmlkZW9maWx0ZXIgdW5pdCB0ZXN0LCBjaGVjayBtb3JlIHJlc29sdXRpb25zCgoyMDExLTAzLTE0IDE5OjE0OjA3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEZpeCBidWZmZXIgb3ZlcmZsb3cgYnVnIGZvciBvZGQgcmVzb2x1dGlvbnMgYW5kIFk0MjIgY29sb3JzcGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDc3MwoKMjAxMS0wMy0xNSAxOTozNjowMSArMDIwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHNpbGVuY2Ugd2FybmluZyBtZXNzYWdlIHdoZW4gYXBwcm9wcmlhdGUKCSAgSWYgd2UgZGlkIG5vdCBrbm93IGhvdyBtYW55IGZyYW1lcyB0byBleHBlY3QsIHRoZW4gd2UgZ2V0IGFuIHVuZXhwZWN0ZWQKCSAgZW5kIG9mIHN0cmVhbSB3aGVuIHRyeWluZyB0byBkZWNvZGUgbW9yZSBmcmFtZXMgdGhhdCBhcmUgdGhlcmUsIGlmIHRoZXJlCgkgIGFyZSBsZWZ0b3ZlciBiaXRzIHRvIHBhZCB0byB0aGUgbmV4dCBieXRlCgoyMDExLTAzLTE0IDE5OjE0OjA3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBVVllWIGFuZCBZVllVIGNvbG9yc3BhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ3NzMKCjIwMTEtMDMtMTUgMDk6NDM6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdGVzdHM6IGluIHZpZGVvZmlsdGVyIHVuaXQgdGVzdCBhbHNvIGNoZWNrIHdpdGggJ29kZCcgd2lkdGhzIGFuZCBoZWlnaHRzCgkgIEFuZCBvbmx5IHVzZSBvbmUgdGVzdCBzdWl0ZS4KCjIwMTEtMDMtMTQgMTk6Mjg6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBBbHdheXMgcHJvY2VzcyB0aGUgbnVtYmVyIG9mIGZyYW1lcyBwZXIgcGFja2V0IGFzIHNwZWNpZmllZCBpbiB0aGUgaGVhZGVyCgkgIExvb2tpbmcgYXQgdGhlIHJlbWFpbmluZyBiaXRzIGluIHRoZSBiaXRzdHJlYW0gYWZ0ZXIgZGVjb2RpbmcgYQoJICBzaW5nbGUgZnJhbWUgY2FuJ3QgYmUgdXNlZCBhcyBsb29wIGNvbmRpdGlvbi4gVGhlIHJlbWFpbmluZwoJICBiaXRzIG1pZ2h0IG5vdCBnaXZlIGEgY29tcGxldGUgZnJhbWUgYW5kIHRoZSBzcGVleCBkZWNvZGVyIHdpbGwKCSAgdGhlbiBvdXRwdXQgbm90aGluZyBidXQgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LCB3aGljaCBsZWFkcwoJICB0byB2YWxncmluZCB3YXJuaW5ncy4KCSAgRml4ZXMgYnVnICM2NDQ2NjkuCgoyMDExLTAzLTE0IDE1OjQ2OjUwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZXR1cm4gVFJVRSBmcm9tIHNpbmsgcGFkIGV2ZW50IGZ1bmN0aW9uIGZvciB0YWcgZXZlbnRzLCB3aGljaCBhcmUgaGFuZGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NzMwCgoyMDExLTAzLTEyIDAwOjQ0OjMxICswNTMwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEJldHRlciBmaXggZm9yIGRlYWRsb2NrIG9uIGZhaWxlZCBjb25uZWN0CgkgIFRoaXMgcmV2ZXJ0cyB0aGUgcHJldmlvdXMgZml4IHRoYXQgd291bGQgY2F1c2UgYSBkb3VibGUtdW5sb2NrIHdoZW4gdGhlCgkgIHN0cmVhbSBjb25uZWN0IGZhaWxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDUxMAoKMjAxMS0wMy0xMSAyMzowNjozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4IGRlYWRsb2NrIGlmIGNvbm5lY3RpbmcgdG8gUEEgZmFpbHMKCSAgQ29tbWl0IGRkNGVjMjJlIGludHJvZHVjZWQgYSBkZWFkbG9jayBpbiB0aGUgZmFpbHVyZSBwYXRoIHdoaWxlIHRyeWluZwoJICB0byBjb25uZWN0IHRvIFB1bHNlQXVkaW8uIFRoaXMgbWFrZXMgc3VyZSB3ZSBkcm9wIHRoZSBsb2NrIG9uIHRoZQoJICByZXNvdXJjZSBtdXRleCB0byBhdm9pZCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NTEwCgoyMDExLTAzLTExIDE2OjU5OjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG9yZGVyIHN0YXRlLXRlc3QgYmxhY2tsaXN0IGFuZCBhZGQgamFjayBlbGVtZW50cwoJICBKYWNrIGF1ZGlvIHNyYy9zaW5rIGVsZW1lbnRzIHJlY2VudGx5IGdvdCBtb3ZlZCBmcm9tIGJhZCBhbmQgc2hvdWxkIGJlIGV4Y2x1ZGVkCgkgIGZyb20gdGhlIHRlc3QgKGxpa2UgdGhlIG90aGVyIGRldmljZSBzcGVjaWZpYyBzb3VyY2UgYW5kIHNpbmtzKS4KCSAgRml4ZXMgIzY0NDI4OAoKMjAxMS0wMy0xMSAxMzo0NzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyA6OnNlbmRfZXZlbnQgZm9yIG5vbi1zZWVrIGV2ZW50cwoKMjAxMS0wMy0xMSAxMzo0NjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBGaXggcmVmY291bnQgaXNzdWVzIHdpdGggdGhlIHNlZWsgZXZlbnQKCSAgRml4ZXMgYnVnICM2NDI5NjMuCgoyMDExLTAzLTExIDA5OjU0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgZG9jczogZml4IHB1bHNlc2luayBndGstZG9jIG1hcmt1cAoKMjAxMS0wMy0xMSAxMDoyOTowOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IGJ1aWxkIGFnYWluc3QgamFjayAwLjEyMC4yCgkgIGphY2tfcG9ydF9nZXRfdG90YWxfbGF0ZW5jeSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YKCSAgamFja19wb3J0X2dldF9sYXRlbmN5X3JhbmdlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ0NzcKCjIwMTEtMDMtMTAgMTQ6Mjk6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogbW9yZSBjb21tZW50cyBhbmQgdHVuZSBhbmQgbG9nZ2luZwoKMjAxMS0wMy0xMCAxNDoxNTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhdm9pZCB1bm5lY2Nlc2FyeSBleHRyYSBmZnQgcnVucwoJICBCZWZvcmUgaXQgd2FzIHBvc3NpYmxlIHRoYXQgd2UgcnVuIGFuIGV4dHJhIGZmdCB3aGVuIHRoZSB0aW1lIGZvciBzZW5kaW5nIGEgbmV3CgkgIG1lc3NhZ2UgaXMgZHVlLiBPbmx5IGRvIHRoaXMgaWYgd2UgaGF2ZSBub3QgcnVuIHRoZSBmZnQgZm9yIHRoZSBpbnRlcnZhbCBhdCBhbGwuCgoyMDExLTAzLTEwIDE0OjEyOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IG9ubHkgc2NhbGUgdGhlIHZlY3RvcnMgdGhhdCB3ZSBhcmUgcHJvY2Vzc2luZwoJICBQaGFzZSBpcyBub3QgcHJvZHVjZWQgYnkgZGVmYXVsdCwgc28gbGV0cyBub3Qgc2NhbGUgaXQgdW5jb25kaXRpb25hbGx5IHRvIHNhdmUgYQoJICBmZXcgY3ljbGVzLgoKMjAxMS0wMy0xMCAxNDoxMDoyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogcHV0IG51bWJlciBvZiBjaGFubmVscyB0byBpbnN0YW5jZSB2YXJpYWJsZQoJICBXaGVuIGZyZWVpbmcgZGF0YSB0aGUgZm9ybWF0IG1pZ2h0IGhhdmUgY2hhbmdlZC4gVGh1cyB3ZSBuZWVkIHRvIHJlbWVtYmVyIGZvcgoJICB3aGljaCBmb3JtYXQgd2UgYWxsb2NhdGVkIG1lbW9yeS4KCjIwMTEtMDMtMTAgMTA6Mjc6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogdXBkYXRlIGRvYyByZXZpZXcgc3RhbXAKCjIwMTEtMDMtMTAgMTA6MjI6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHVzZSBmdW5jdGlvbiBwb2ludGVycyBmb3IgZGF0YSByZWFkZXJzCgkgIERvbid0IGNoZWNrIHRoZSBmb3JtYXQgZm9yIGVhY2ggc2FtcGxlIGZyYW1lIHRvIHJlYWQuIFdlIGNhbiBtYWtlIHRoYXQgZGVjaXNzaW9uCgkgIGluIF9zZXR1cCBhbHJlYWR5LiBUaGlzIGlzIHN0aWxsIG5vdCBpZGVhbCBhcyB3ZSBjYWxsIHRoZSBmdW5jdGlvbiBwZXIgZnJhbWUuCgkgIElkZWFsbHkgd2UgZGV0ZXJtaW5lIGhvdyBtYW55IHNhbXBsZXMgd2UgY2FuIGNvcHkgYW5kIGhhdmUgYSBsb29wIGluIHRoZSBpbnB1dAoJICByZWFkZXIuIEFzIGFuIGFsdGVybmF0aXZlIHdlIG1pZ2h0IGFsc28gY29uc2lkZXIgdG8gdXNlIHRoZSBmZnQgdmFyaWFudHMgZm9yIHRoZQoJICB2YXJpb3VzIGZvcm1hdHMgYW5kIG5vdCBjb252ZXJ0IHRvIGZsb2F0IGZvciBhbGwgY2FzZXMgLSB3ZSB3b3VsZCBzdGlsbCBuZWVkIHRvCgkgIG1peCBvciBkZWludGVybGVhdmUgdGhvdWdoLgoKMjAxMS0wMy0wOSAxNzowNzo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wcm92ZSByZWNvdmVyeSBmcm9tIGZhaWxlZCBzZWVrCgkgIEluIGNhc2Ugc2VydmVyLXNpZGUgZmFpbHMgdG8gcGVyZm9ybSBzZWVrLCBpLmUuIFBMQVkgYXQgbm9uLXplcm8gcmVxdWVzdGVkCgkgIHBvc2l0aW9uLCByZWNvdmVyeSBzbyBmYXIgd291bGQgYXJyYW5nZSBmb3Igc3RyZWFtaW5nIHRvIGNvbnRpbnVlLCBhbGJlaXQKCSAgaGF2aW5nIGxvc3QgcG9zaXRpb24gdHJhY2tpbmcgaW4gdGhlIHByb2Nlc3MuICBTbywgcXVlcnkgcG9zaXRpb24gcHJpb3IKCSAgdG8gc2VlayBhbmQgdXNlIHVwb24gZmFpbGVkIHNlZWsuCgoyMDExLTAzLTA5IDE2OjUxOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSBwb3NpdGlvbiBxdWVyeQoKMjAxMS0wMy0wOSAxNjo1NzoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogIG11bHRpLWNoYW5uZWwgc3VwcG9ydAoJICBBZGQgYSBib29sZWFuIG11bHRpLWNoYW5uZWwgcHJvcGVydHkgd2l0aCBhIGRlZmF1bHQgb2YgRkFMU0UuIFdoZW4gc2V0IHRvIFRSVUUKCSAgdGhlIGVsZW1lbnQgd29uJ3QgbWl4IGFsbCBpbnB1dCBjaGFubmVscyB0byBtb25vLCBidXQgaW5zdGVhZCBydW4gYSBGRlQgb24gZWFjaAoJICBjaGFubmVsLiBJbiB0aGF0IGNhc2UgdGhlIHJlc3VsdCBtZXNzYWdlIHdvdWxkIGNvbnRhaW4gYSAyIGRpbWVuc2lvbmFsIGFycmF5CgkgIG9mIGNoYW5uZWwgeCBkYXRhIGZvciBtYWduaXR1ZGUgYW5kIHBoYXNlLgoJICBBUEk6IEdzdFNwZWN0cnVtOm11bHRpLWNoYW5uZWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MzQ4MgoKMjAxMS0wMy0wOSAxNjo1NTo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBtb3JlIHhyZWZzIGluIHRoZSBkb2NzCgoyMDExLTAzLTA5IDEyOjQxOjE1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGZhY3RvciBvdXQgdGhlIGNvZGUgdGhhdCBhY2N1bXVsYXRlZCBzYW1wbGVzIGludG8gdGhlIHJpbmctYnVmZmVyCgkgIFVzZSBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvIHJlYWQgYSBzYW1wbGUgZnJhbWUgaW50byBhIHJpbmdidWZmZXIgc2xvdC4gSW4gdGhlCgkgIGZ1dHVyZSB3ZSBjYW4gdXNlIGZvcm1hdC1zcGVjaWZpYyBmdW5jdGlvbiBwb2ludGVyIHRvIGF2b2lkIHRoZSByZW9jY3VyaW5nCgkgIGZvcm1hdCBjaGVja3MuCgoyMDExLTAzLTA5IDEyOjM4OjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHB1bGwgZm9ybWF0IHRvIHRlbXAgdmFyIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgbGluZXMgdXNpbmcgaXQKCjIwMTEtMDMtMDkgMTI6MjA6MTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY29kZSBjbGVhbnVwIGZvciBjb3B5aW5nIGRhdGEgdG8gcmluZy1idWZmZXIKCSAgUmVuYW1lIGZwIHRvIGlzX2Zsb2F0IGFuZCByZXN0cnVjdHVyZSBpZi1lbHNlIHBhcnQgZm9yIGhhbmRsaW5nIHRoZSBkaWZmZXJlbnQgZm9ybWF0cy4KCjIwMTEtMDMtMDkgMTE6NDA6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IGFkZCBhIEdzdFNwZWNydHVtQ2hhbm5lbCBjb250ZXh0IHN0cnVjdHVyZQoJICBXZSBub3cga2VlcCB0aGUgZmZ0IGRhdGEgdGhhdCBpcyByZWxhdGVkIHRvIG9uZSBjaGFubmVsIGluIGEgc2VwYXJhdGUgc3RydWN0dXJlCgkgIHRvIHByZXBhcmUgZm9yIG11bHRpY2hhbm5lbCBzdXBwb3J0LiBXZSBhbHNvIHJlZmFjdG9yIHRoZSBjb2RlIHRvIG9wZXJhdGUgbW9yZQoJICBvZnRlbiBvbiB0aGUgY2hhbm5lbCBjb250ZXh0LgoKMjAxMS0wMy0wOSAxMToxODoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBjYWxsIHRoZSBpbnN0YW5jZSB2YXIgc3BlY3RydW0gaW5zdGVhZCBvZiBmaWx0ZXIKCjIwMTEtMDMtMDkgMTE6MTQ6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZG9uJ3QgdmFsdWUgd2UgYWxyZWFkeSB0b29rIGZyb20gdGhlIGd2YWx1ZQoKMjAxMS0wMy0wOCAxNzoyNjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCjIwMTEtMDMtMDggMTc6MDI6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIG1ldGE6IHVwZGF0ZSBmb3IgbmV3IEFQSQoKMjAxMS0wMy0wOCAxNjoyODoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBhZC1ob2MgcmVsZWFzZSBicmFuY2ggJzAuMTAuMjgnCgo9PT0gcmVsZWFzZSAwLjEwLjI4ID09PQoKMjAxMS0wMy0wOCAxNTo0Nzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yOAoJICBBZC1ob2MgcmVsZWFzZSB0byBmaXggYnVpbGQgaXNzdWUgd2l0aCBuZXdlciBrZXJuZWxzLgoKMjAxMS0wMy0wMyAwMDoxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IHJlbW92ZSB1bm5lY2Vzc2FyeSBsaW51eC92aWRlb2Rldi5oIGluY2x1ZGUKCSAgQ2F1c2VzIGNvbXBpbGF0aW9uIGlzc3VlcyB3aXRoIG5ld2VyIGtlcm5lbCBoZWFkZXJzIHdoZXJlIHRoZSBvbGQKCSAgdjRsIGludGVyZmFjZSBoYXMgYmVlbiByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzNzE2CgoyMDExLTAzLTA4IDEwOjE0OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtCgoyMDExLTAzLTA3IDE2OjU2OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFsc28gZXN0aW1hdGUgZW9zIGlmIHZlcnkgbmVhciBlb3MKCjIwMTEtMDMtMDcgMTY6NTY6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXZvaWQgdHJ5aW5nIHRvIGJ1ZmZlciBtb3JlIHRoYW4gaXMgYXZhaWxhYmxlLgoJICBUaGF0IGlzLCBpbiBjYXNlIG9mIHNob3J0IChvciBuZWFyIGVvcyBvZikgc3RyZWFtLCBkZWFkbG9jayAodW50aWwgdGltZW91dCkKCSAgd291bGQgb2NjdXIgdHJ5aW5nIHRvIGJ1ZmZlciBtb3JlIHRoYW4gaXMgeWV0IGZvcnRoY29taW5nLgoKMjAxMS0wMy0wNyAxMTowMTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCBlbGVtZW50IGJhc2VfdGltZSB1cG9uIGZsdXNoCgkgIC4uLiB0byBhcnJhbmdlIGZvciBwcm9wZXJseSBzY2hlZHVsZWQgdGltZW91dCAoZm9sbG93aW5nIHNlZWspLgoKMjAxMS0wMy0wNyAxMDo1NDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogQWRkIGEgYnVzIGhhbmRsZXIgdG8gdGhlIGV4YW1wbGUgdG8gaGFuZGxlIEVPUy9FUlJPUi9XQVJOSU5HCgkgIEFsc28gY2xlYW4gdXAgdGhlIHBpcGVsaW5lIHByb3Blcmx5LgoKMjAxMS0wMy0wNyAxMDo0NzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEFsd2F5cyBkaXN0IHRoZSBjYWlybyBleGFtcGxlCgoyMDExLTAzLTA3IDEwOjQ2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICBjYWlyb292ZXJsYXk6IFVzZSBMREFERCBpbnN0ZWFkIG9mIExERkxBR1MgZm9yIGxpYnMgYW5kIGFkZCAkKEdTVF9MSUJTKQoKMjAxMS0wMy0wNSAyMzoyMjo1OCArMDAwMCAgSm9uIE5vcmRieSA8am9ub25vckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBSZW1vdmUgdW5uZWNlc3NhcnkgZ3RrL2d0ay14MTEgdXNlIGluIGV4YW1wbGUuCgkgIFRoaXMgcmVtb3ZlcyBjb2RlLCBhbmQgYWxsb3dzIHRoZSBleGFtcGxlIHRvIGJlIHVzZWQgb24gYW55IHBsYXRmb3JtLgoJICBGaXhlcyBidWcgIzY0Mzk4MS4KCjIwMTEtMDMtMDQgMTg6Mzc6MzggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBVc2UgI2lmZGVmcyBmb3IgVjRMMl9QSVhfRk1UX1BKUEcKCSAgSXQncyBvbmx5IHJlY2VudGx5IGFkZGVkIHRvIGtlcm5lbCBoZWFkZXJzLgoKMjAxMS0wMi0yMyAxNjo1MDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiB0dW5lIG91dHB1dCBtYXggYnVmZmVyIHNpemUgdG8gbWF0ZXJpYWwKCSAgLi4uIHRvIGF2b2lkIGVuZGluZyB1cCB3aXRoIHRvbnMgb2Ygc2hvcnQgdGltZSBidWZmZXJzIGZvciBlLmcuIGhpZ2ggc2FtcGxlCgkgIHJhdGUgYXVkaW8uCgoyMDExLTAzLTA0IDE3OjA0OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBkb24ndCB1c2UgaGFyZGNvZGVjIDAuMTAKCjIwMTEtMDMtMDQgMTY6MzA6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAzLTA0IDE1OjUwOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGEgZG9jIGV4YW1wbGUgZm9yIHNldHRpbmcgc3RyZWFtLXByb3BlcnRpZXMKCjIwMTEtMDMtMDQgMTU6NDI6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggdGhlIHhtbCBpbiB0aGUgZG9jcwoKMjAxMS0wMy0wMyAwMDoxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IHJlbW92ZSB1bm5lY2Vzc2FyeSBsaW51eC92aWRlb2Rldi5oIGluY2x1ZGUKCSAgQ2F1c2VzIGNvbXBpbGF0aW9uIGlzc3VlcyB3aXRoIG5ld2VyIGtlcm5lbCBoZWFkZXJzIHdoZXJlIHRoZSBvbGQKCSAgdjRsIGludGVyZmFjZSBoYXMgYmVlbiByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzNzE2CgoyMDExLTAzLTAyIDIzOjIxOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogVGhlIGV4YW1wbGUgYWx3YXlzIHJlcXVpcmVzIGd0ay14MTEKCSAgQ2hlY2sgZm9yIGd0ay14MTEgYW5kIG9ubHkgYnVpbGQgdGhlIGV4YW1wbGUgaWYgaXQncyBhdmFpbGFibGUuCgoyMDExLTAzLTAyIDIzOjE0OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJICBjYWlyb292ZXJsYXk6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMS0wMy0wMiAyMzowOToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSAgZG9jczogVXBkYXRlIGluc3BlY3RlZCBwbHVnaW4gZGF0YQoKMjAxMS0wMS0yOCAwMjoxNDowNCArMDIwMCAgSm9uIE5vcmRieSA8am9ub25vckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvY2Fpcm8vLmdpdGlnbm9yZToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8tbWFyc2hhbC5saXN0OgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IEFkZCBnZW5lcmljIENhaXJvIG92ZXJsYXkgdmlkZW8gZWxlbWVudC4KCSAgQWxsb3dzIGFwcGxpY2F0aW9ucyB0byBjb25uZWN0IHRvIHRoZSAiZHJhdyIgc2lnbmFsIG9mCgkgIHRoZSBlbGVtZW50IGFuZCBkbyB0aGVpciBjdXN0b20gZHJhd2luZyB0aGVyZS4KCSAgSW5jbHVkZXMgYW4gZXhhbXBsZSBhcHBsaWNhdGlvbiBkZW1vbnN0cmF0aW5nIHVzYWdlLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTUyMAoKMjAxMS0wMy0wMiAxMzowMDozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBkb24ndCBsZWFrIHRoZSBtb25vc2NvcGVfc3RhdGUgZGF0YQoJICBUaGUgbW9ub3Njb3BlX2Nsb3NlKCkgaW1wbGVtZW50YXRpb24gd2FzIGVtcHR5LgoKMjAxMS0wMy0wMiAxMjo1OTozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiB3ZSBoYXZlIDY0IGNvbG9ycywgZG9uJ3QgYWNjZXNzIGNvbG9yc1s2NF0KCSAgRml4ZXMgcmVtYWluaW5nIGludmFsaWQgcmVhZC4KCjIwMTEtMDMtMDIgMTA6MjU6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhcnJhbmdlIGZvciBub24tZmF0YWwgZXJyb3Igd2hlbiBwYXJzaW5nIG5vbi12aXRhbCBwYXJ0cwoKMjAxMS0wMy0wMiAxMDo1NjozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJICBtb25vc2NvcGU6IHN0YWNrIG5lZWRzIHRvIGJlIHNpemUrMSBhcyB3ZSBwdXQgYSBlbmQtbWFya2VyIGludG8gaXQKCSAgVmFsZ3JpbmQgaXMgc3RpbGwgY29tcGxhaW5pbmcgYWJvdXQgb25lIGJhZCByZWFkLCBidXQgdGhpcyB0YWtlcyBjYXJlIG9mIHRoZQoJICBjcmFzaCBtZW50aW9uZWQgaW4gdGhlIGNvbW1lbnQgYW5kIGluIGJ1ZyAjNTY0MTIyLgoKMjAxMS0wMy0wMSAyMjo0MDoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJICBleGFtcGxlOiBmaXggdGhlIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpcC1hZGRyZXNzCgkgIEZpeCB0aGUgbmFtZSBpbiB0aGUgbGF1bmNoIHBpcGVsaW5lIGFuZCB1c2UgYSB2YWx1ZSBvZiAibG9jYWxob3N0IiBieSBkZWZhdWx0LgoKMjAxMS0wMi0yOCAxOToxNjowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogY3lnd2luL21pbmd3OyBlbmFibGUgcGx1Z2luIGxpbmtpbmcgdG8gc3RhdGljIGxpYgoJICBVc2VmdWwgZm9yIERpcmVjdFggcGx1Z2luKHMpLgoJICBGaXhlcyAjNjQyNTA3LgoKMjAxMS0wMi0yOCAxOToxMzo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZXhwb3J0IHBsdWdpbiBkZXNjcmlwdGlvbiBtb3JlIHBsYXRmb3JtIGluZGVwZW5kZW50CgkgIEZpeGVzICM2NDI1MDQuCgoyMDExLTAyLTI4IDE4OjMyOjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWRlN2Y2YSB0byA2YWVjNmI5CgoyMDExLTAyLTI4IDEzOjI5OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMi0yOCAxMzoyODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdXNlIE5ldEFkZHJlc3MgbWV0YWRhdGEKCjIwMTEtMDItMjggMTM6MTQ6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBpbXBsZW1lbnQgTmV0QWRkcmVzcyB3aXRoIG1ldGFkYXRhCgoyMDExLTAyLTI4IDEwOjE2OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogcmVnaXN0ZXIgbWV0YWRhdGEKCjIwMTEtMDItMjcgMTk6NDM6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIG1ldGE6IGZpeCBmb3IgbmV3IEFQSQoKMjAxMS0wMi0yNSAxNjoyOTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgbWV0YWRhdGE6IHVzZSBtZXRhZGF0YSBmb3IgcHJpdmF0ZSBidWZmZXIgZGF0YQoJICBVc2UgYnVmZmVyIG1ldGFkYXRhIHRvIHN0b3JlIGVsZW1lbnQgcHJpdmF0ZSBkYXRhLgoKMjAxMS0wMi0yNCAxMzo1MTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICBtaW5pb2JqZWN0OiBwb3J0IHRvIDAuMTEKCSAgVXNlIGJ1ZmZlciBwcml2YXRlIGRhdGEgaW5zdGVhZCBvZiBzdWJjbGFzc2luZy4KCjIwMTEtMDItMjQgMTM6NTA6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBkb24ndCBoYXJkY29kZSB2ZXJzaW9uIG51bWJlcgoKMjAxMS0wMi0yNCAxMzowMzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkMzogdXNlIGJveGVkIHR5cGUgaW5zdGVhZCBvZiBtaW5pb2JqZWN0CgoyMDExLTAyLTI0IDEzOjAwOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBtaW5pb2JqZWN0OiB1c2UgYnVmZmVyIHByaXZhdGUgZmllbGQgZm9yIGV4dHJhIGRhdGEKCSAgVXNlIHRoZSBvd25lciBwcml2YXRlIGZpZWxkIHRvIHN0b3JlIGV4dHJhIGJ1ZmZlciBkYXRhIGluc3RlYWQgb2YgdXNpbmcKCSAgc3ViY2xhc3NpbmcuCgoyMDExLTAyLTI0IDEyOjIzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgZHVyYXRpb24gd2hlbiBleHRpbWF0aW5nIFFvUyB0aW1lCgkgIFdoZW4gd2UgbmVlZCB0byBkZWNpZGUgb24gdGhlIG5leHQgUW9TIHRpbWUsIHRha2UgaW50byBhY2NvdW50IHRoZSBkdXJhdGlvbiBvZgoJICB0aGUgYnVmZmVycy4KCjIwMTEtMDItMjggMTE6NTg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDExLTAyLTIzIDE3OjQxOjIyICswMTAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlbGVhc2UgcGFfc2hhcmVkX3Jlc291cmNlX211dGV4IGJlZm9yZSBwYV90aHJlYWRlZF9tYWlubG9vcF93YWl0CgkgIE5vdCBkb2luZyBzbyBjYW4gcmVzdWx0IGluIGEgZGVhZGxvY2sgd2hlbiB0d28gdGhyZWFkcyBlbnRlcgoJICBnc3RfcHVsc2VyaW5nYnVmZmVyX29wZW5fZGV2aWNlIGF0IHRoZSBzYW1lIHRpbWUsIGFzCgkgIHBhX3RocmVhZGVkX21haW5sb29wX3dhaXQgcmVsZWFzZXMgdGhlIG1haW5sb29wIGxvY2sgd2hpbGUgd2FpdGluZywKCSAgYWxsb3dpbmcgYW5vdGhlciB0aHJlYWQgdG8gdGFrZSBpdCwgcmVzdWx0aW5nIGluIGEgZGVhZGxvY2sgYXMgdHdvCgkgIHRocmVhZHMgd2FpdHMgZm9yIHRoZSBsb2NrIHRoZSBvdGhlciBpcyBob2xkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzMDg3CgoyMDExLTAyLTIzIDE3OjE4OjE5ICswMTAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHMvcmVzc291cmNlL3Jlc291cmNlLwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzMDg3CgoyMDExLTAyLTI1IDIwOjEyOjM1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGFjY2lkZW50YWwgZGVidWcgbWVzc2FnZQoJICBpbiBwcmV2aW91cyBjb21taXQKCjIwMTEtMDItMjUgMTk6MzU6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgMlZ1eSBhbmQgcjIxMAoKMjAxMS0wMi0yNCAxNDowODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIE5WMjEgY29sb3JzcGFjZQoKMjAxMS0wMi0yNCAxNDowMDozNyArMDEwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIE5WMTIgY29sb3JzcGFjZQoJICBGaXhlcyBidWcgIzY0Mjk2MS4KCjIwMTEtMDItMjQgMTM6NTY6MDQgKzAxMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRmlyc3QgdHJ5IGlmIHVwc3RyZWFtIGhhbmRsZXMgVElNRSBzZWVrcyBiZWZvcmUgaGFuZGxpbmcgdGhlbSBoZXJlCgkgIEZpeGVzIGJ1ZyAjNjQyOTYzLgoKMjAxMC0xMS0wOCAxNDoyNTo1OSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogU2ltcGxpZnkgc2V0Y2FwcwoJICBUaGUgY3VycmVudCBjb2RlIG5ldmVyIHVzZXMgdXBzdHJlYW0gbmVnb3RpYXRpb24gc28gdGhlIGNvZGUgY2FuIGJlCgkgIHNpZ25pZmljYW50bHkgc2ltcGxpZmllZC4KCjIwMTEtMDEtMjQgMTI6NDg6MTggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBQb3J0IGdyZWVkeWwgdG8gR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2QKCSAgVGhlIG1haW4gZ29hbCBvZiB0aGlzIGNoYW5nZSBpcyB0byByZXVzZSB0aGUgY29tcGxleCBidXQgbm93IG5lYXRseQoJICB3cml0dGVuIHNjYW5saW5lIHBvaW50ZXIgY2FsY3VsYXRpb24gY29kZSBmcm9tIHRoZSBzaW1wbGUgbWV0aG9kcy4KCjIwMTEtMDItMjIgMTU6MjA6MTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBSZXZlcnQgImlkM2RlbXV4OiBlbnN1cmUgYSB0YWdsaXN0IGJlZm9yZSBhZGRpbmcgdGhlIGNvbnRhaW5lciB0YWciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTg2YmFiNjY4OTNiYjFhMzMyM2E3NTY0MTA1NzNjMTE3YjgyMTllZi4gVGhlIGlzc3VlIGlzCgkgIGZpeGVkIHdpdGggY29tbWl0IGZmNWU1YThmMGRhYTFmZGY4OTc5MmQwNzI2ZWEwNjNiYmQ5OWRiMTggaW5zdGVhZC4KCjIwMTEtMDItMjIgMTU6MTk6MDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiByZXR1cm4gSUQzVEFHU19CUk9LRU5fVEFHIGZvciB1bnN1cHBvcnRlZCB2ZXJzaW9ucwoJICBUaGlzIHByZXZlbnRzIHVzIGZvciB0cnlpbmcgdG8gd29yayB3aXRoIGEgTlVMTCB0YWdsaXN0LgoKMjAxMS0wMi0yMiAxNDoxNToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMTEtMDItMjIgMTQ6MDE6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZW5zdXJlIHNhbmUgcGFyYW1ldGVycyB3aGVuIHBhcnNpbmcgc3VwZXJpbmRleAoKMjAxMS0wMi0yMiAxNDowMDoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjaGVjayBmb3IgTlVMTCBhdWRpbyBzdHJlYW0gZm9ybWF0IGhlYWRlciB3aGVuIHBhcnNpbmcgc3RyZWFtCgoyMDExLTAyLTIyIDE0OjUyOjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgcnRwLWV4YW1wbGVzOiBtb3ZlIGNhcHNmaWx0ZXIgYmVoaW5kIGNvbnZlcnRlcnMKCSAgV2UgbmVlZCB0byBoYXZlIHRoZSBjYXBzZmlsdGVyIGJlaGluIHRoZSBjb252ZXJ0ZXJzIHRvIG1ha2UgdGhlIGNvbnZlcnRlcnMKCSAgY29udmVydCBmcm9tIHRoZSBmb3JtYXRzIHY0bDJzcmMgY2FuIGRvIHRvIHdoYXQgd2UgcmVxdWVzdCB3aXRoIHRoZQoJICBjYXBzZmlsdGVyLgoKMjAxMS0wMi0yMiAxNDo1MDo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBydHAtZXhhbXBsZXM6IGZpeCBhc2NpaS1hcnQKCSAgU29tZSBib3hlcyB3aGVyZSBtaXNhbGlnbmVkIGR1ZSB0byBsb25nICJhdWRpb3RldHNzcmMiIG5hbWUuIFRyaW0gdHJhaWxpbmcKCSAgd2hpdGVzcGFjZS4KCjIwMTEtMDItMjIgMTM6Mjk6MjYgKzAxMDAgIEJsYWlzZSBHYXNzZW5kIDxibGFpc2UgYXQgd2lsbG93Z2FyYWdlIGRvdCBjb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBoYW5kbGUgTlVMTCBkZW11eCBlbGVtZW50cwoJICBXaGVuIHVzaW5nIGdzdHJ0cGJpbiB3aXRoIGlnbm9yZS1wdD10cnVlLCB0aGUgZnJlZV9zdHJlYW0gZnVuY3Rpb24gdHJpZXMgdG8KCSAgY2FsbCBnc3RfZWxlbWVudF9zZXRfbG9ja2VkX3N0YXRlIGFuZCBnc3RfZWxlbWVudF9zZXRfc3RhdGUgb24gYSBzdHJlYW0tPmRlbXV4CgkgIHdoaWNoIGlzIE5VTEwuCgkgIGZpeGVzICM2NDI0MTIKCjIwMTEtMDEtMjQgMTI6MTg6MzkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IHNtYWxsIGNsZWFuLXVwcwoJICBJbXByb3ZlIGRlYnVnIG91dHB1dCBieSBwcmludGluZyB0aGUgYnVmZmVyIHBvaW50ZXIgd2hlbgoJICBwb3BwaW5nIGEgYnVmZmVyIGFuZCBzaW1wbGlmeSBjb2RlIHRvIHVzZSBzY2FubGluZXMuYm90dG9tX2ZpZWxkCgkgIGFzIGFwcHJvcHJpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyNjkxCgoyMDExLTAxLTI0IDEyOjE4OjM5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBhc3NpZ25lZCBtZXRob2RfaWQgd2hlbiB1c2luZyBmYWxsYmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyNjkxCgoyMDExLTAyLTIxIDE3OjE3OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHNldHRpbmcgdGhlIFNERVMgcHJvcGVydHkKCSAgT25seSB0aGUgc2RlcyB2ZXJpYWJsZSBpcyBwcm90ZWN0ZWQgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFVzZSB0aGUgcmlnaHQgb2JqZWN0IHdoZW4gc2V0dGluZyB0aGUgc2RlcyBwcm9wZXJ0eS4KCjIwMTEtMDItMjEgMTI6MDk6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIFJldmVydCAiQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZTZiODc2ZTc2Yzk0NDEwZGIxNjBhZmU1ZWIzMGYyMTQ1MmU0MTlmLgoJICBEZXBlbmRzIG9uIGEgY29yZSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQKCjIwMTEtMDItMjEgMDA6NTU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBmaXggdGFnIGxpc3QgaGFuZGxpbmcgaXNzdWVzIHRoYXQgbWlnaHQgaGF2ZSBjYXVzZWQgY3Jhc2hlcwoJICBGaXggc2xpZ2h0bHkgY29uZnVzZWQgdGFnIGhhbmRsaW5nIGluIHNvbWUgcGxhY2VzOiBtYWtlIGl0IGNsZWFyIHdoZW4KCSAgd2UncmUgdGFraW5nIG93bmVyc2hpcCBvZiBhIHRhZyBsaXN0IGFuZCB3aGVuIG5vdC4gRm9yIGV4YW1wbGUsCgkgIGdzdF9pY3lkZW11eF90YWdfZm91bmQoKSB3YXMgdGFraW5nIG93bmVyc2hpcCB3aGVuIHRoZSBzb3VyY2UgcGFkCgkgIGV4aXN0ZWQsIGJ1dCBvdGhlcndpc2Ugbm90IChsZWFrKS4gQWxzbywgZ3N0X2V2ZW50X3BhcnNlX3RhZygpIGRvZXMKCSAgbm90IHJldHVybiBhIG5ld2x5LWFsbG9jYXRlZCB0YWdsaXN0LCBidXQgYSB0YWcgbGlzdCB0aGF0IGJlbG9uZ3MgdG8KCSAgdGhlIHRhZyBldmVudCwgc28gZG9uJ3QgZ2l2ZSBvd25lcnNoaXAgb2YgaXQgYXdheS4KCSAgV2hpbGUgd2UncmUgYXQgaXQsIHNvbWUgbWlub3IgY2xlYW4tdXBzOiBkb24ndCByZS1pbnZlbnQgZ19zdHJuZHVwKCkKCSAgYW5kIHNpbXBsaWZ5IGdzdF9pY3lkZW11eF9wYXJzZV9hbmRfc2VuZF90YWdzKCkgYSBiaXQsIGFuZCBkb24ndAoJICBsZWFrIHRoZSB0YWcgbGlzdCBpbiBjYXNlIG5vIHZhbGlkIHRhZ3Mgd2hlcmUgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEzMzAKCjIwMTEtMDItMjAgMjM6Mzk6NDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIENoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQKCSAgVGhlIGNvcmUgbm93IGNhbGxzIHJlbGVhc2UgcGFkIGZyb20gZmluYWxpemUsIGF0IHdoaWNoIHBvaW50CgkgIHRoZSBjb2xsZWN0cGFkcyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBmcmVlZC4KCjIwMTEtMDItMTkgMTU6NDg6MjIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBIYW5kbGUgMTYtYml0LXBlci1jaGFubmVsIGltYWdlcwoKMjAxMS0wMi0xOCAxMDoxMjo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtLT5jdXJyZW50X3RvdGFsIGlzIGFjY3VtdWxhdGVkIGJ5dGUgc2l6ZSBhbmQgbm90IHRpbWUKCSAgVXNlIHRpbWVzdGFtcCBmb3IgdGhlIHN0cmVhbSBpbmRleCBhcyB3ZWxsLgoKMjAxMS0wMi0xNSAxOTozMzo0NSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiB3YXJuIHdoZW4gcGFja2V0IGlzIHRvbyBsYXJnZQoKMjAxMS0wMi0xNyAxNzo1OToyNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thcGFyc2U6IE5ldyBlbGVtZW50CgkgIENvcGllZCBmcm9tIGRlbXV4LiAgRHVwbGljYXRlcyBtdWNoIGNvZGUsIGFsc28gc29tZSBkZWFkIGNvZGUKCSAgcmVtYWluaW5nLgoKMjAxMS0wMi0xNyAxNzo1Nzo1NSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRWFybGllciBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbgoKMjAxMS0wMS0yMiAwMDoxMzoxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHNldCBkdXJhdGlvbiBmb3IgbGl2ZSBzdHJlYW0KCjIwMTEtMDEtMDYgMTU6NDQ6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkgIGRlYnVndXRpbHM6IHJlbW92ZSBiaXRyb3R0ZW4gbmVnb3RpYXRpb24gZWxlbWVudAoJICBXYXNuJ3QgZW5hYmxlZCwgZGlkbid0IHdvcmssIGFuZCBwbGFubmVkIGZlYXR1cmVzIGhhdmUgYmVlbgoJICBzdXBlcmNlZGVkIGJ5IGNhcHNmaWx0ZXIgYW5kIGNhcHNkZWJ1Zy4KCjIwMTAtMDktMTcgMTI6MTA6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHB2cmF3cGF5OiBJbXBsZW1lbnQgaW50ZXJsYWNpbmcKCjIwMTEtMDItMTcgMTc6NTc6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFsc28gYWRkIHRoZSBmcmFtZS10eXBlIGZvciB0aGUgc3RyZWFtIGluZGV4CgoyMDExLTAyLTE3IDE3OjU2OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBnZXQgdGhlIGluZGV4IHdyaXRlciBpZCB3aGVuIHRoZSBwYWQgaGFzIGEgcGFyZW50CgkgIE90aGVyd2lzZSB0aGUgaW5kZXggd3JpdGVyIGhhcyBhIHdlaXJlZCBuYW1lLCBhcyB0aGUgcGFkIGhhcyBubyBwYXJlbnQgeWV0LgoKMjAxMS0wMi0xNyAxNDowMDo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGF2aWRlbXV4LCBmbHZkZW11eDogZm9ybWF0dGluZyBjbGVhbnVwCgkgIFRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZXMgYW5kIGZpeCB0aGUgZm9ybWF0dGluZyBvZiBkb3VibGUgbmVnYXRpb24uCgoyMDExLTAyLTE3IDEzOjU3OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgYXZpZGVtdXgsIGZsdmRlbXV4OiBtYXJrIGRlbHRhLXVuaXRzIGluIHRoZSBpbmRleAoJICBXZSBuZWVkIHRvIHVzZSB0aGUgJ2RlbHRhJyBmbGFnIGZvciBkZWx0YSB1bml0cyBhbmQgbm90IHRoZSAnbm9uZScgZmxhZy4KCjIwMTEtMDItMTcgMTE6NTg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vdmVkIGVxdWFsaXplciB0ZXN0IGJpbmFyeQoKMjAxMS0wMi0xNyAxMjo0NjoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYXJrIGRlbHRhLXVuaXQgaW4gdGhlIGluZGV4CgkgIFdlIG5lZWQgdG8gdXNlIHRoZSBkZWx0YSBmbGFnIGZybyBkZWx0YSB1bml0cyBhbmQgbm90IG5vbmUuIFByaW50IG1vcmUgZGV0YWlscwoJICB0byB0aGUgZGVidWcgbG9nLgoKMjAxMS0wMi0xNyAxMjo0NDowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmb3JtYXR0aW5nIGNsZWFudXAKCSAgVHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlcyBhbmQgZml4IHRoZSBmb3JtYXR0aW5nIG9mIGRvdWJsZSBuZWdhdGlvbi4KCjIwMTEtMDItMTYgMTc6MDk6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJld29yayBfcmVxdWVzdF9uZXdfcGFkIHRvIGhhbmRsZSBleHBsaWN0IHJlcS1wYWQtbmFtZXMKCSAgRG9uJ3QgaWdub3JlIGV4cGxpY2l0IHBhZC1uYW1lcy4KCjIwMTEtMDItMTYgMTc6MDY6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogcmV3b3JrIF9yZXF1ZXN0X25ld19wYWQgdG8gaGFuZGxlIGV4cGxpY3QgcmVxLXBhZC1uYW1lcwoJICBEb24ndCBpZ25vcmUgZXhwbGljaXQgcGFkLW5hbWVzLiBSZWFycmFuZ2UgdGhlIGNvZGUgYW5kIHRoZSBlcnJvciBoYW5kbGluZyBhCgkgIGJpdC4gQWRkIGEgRklYTUUtMC4xMSBmb3IgdGhlIGJhZCBwYWQtbmFtZXMuCgoyMDExLTAyLTE2IDE1OjI4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBpY2xlczogQWRkIGVxdWFsaXplci10ZXN0IHRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTEtMDItMTYgMTU6MjM6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgW01PVkVEIEZST00gQkFEIDUvNV0gZXF1YWxpemVyLXRlc3Q6IEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgYWZ0ZXIgZ3N0X2luaXQoKSB0byBmaXggc2VnZmF1bHQKCjIwMDctMTEtMDcgMTU6MzY6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0LzVdIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGRvX3NsaWRlcl9maWRkbGluZyk6CgkgIEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCjIwMDctMDUtMjEgMTQ6MDE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzLzVdIENoYW5nZUxvZzogQ2hhbmdlTG9nIHN1cmdlcnkuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hc3RJaXJFcXVhbGl6ZXJCYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsIHBsdWdpbl9pbml0KToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBBZGQgZml4bWUgYW5kIGNvbW1lbnQgZm9yIGV4YW1wbGUuCgoyMDA3LTAzLTE0IDE2OjMzOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMi81XSB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgoyMDA3LTAyLTAzIDIzOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDEvNV0gRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIHRoaXMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoY2hlY2tfYnVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBBZGQgYnJhaW4tZGVhZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBlcXVhbGl6ZXIuCgoyMDExLTAyLTE1IDE1OjU5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIFBKUEcgbWFwcGluZwoJICBBZGRzIG1hcHBpbmcgb2YgcHJvZ3Jlc3NpdmUganBlZyBmb3JtYXQKCjIwMTEtMDItMTUgMTY6MzA6MjAgKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5jb20+CgoJICBwbHVnIHF0ZGVtdXggcmVmY291bnQgbGVha3MKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X3NyY19jb252ZXJ0KTogVW5yZWYgdGhlIHF0ZGVtdXg7IHdlCgkgIHdlcmVuJ3QgZG9pbmcgc28gYmVmb3JlLgoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCwgZ3N0X3F0ZGVtdXhfY2hhaW4pOiBGaXggc29tZSBlcnJvcgoJICBjYXNlcyB3aGljaCB3b3VsZCBsZWFrIGEgcmVmIHRvIHRoZSBxdGRlbXV4LgoKMjAxMS0wMi0xNCAyMDoyMDowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFkZCBVUkkgcXVlcnkgaGFuZGxlcgoJICBGaXhlcyBidWcgIzY0MjMzNy4KCjIwMTEtMDItMTQgMTc6NDk6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIHNvcnRpbmcgTlVMTCBhcnJheSBvZiBjbHVzdGVyIHBvc2l0aW9ucwoKMjAxMS0wMi0xNCAxNjo0Njo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdGhlb3JhcGF5OiBoYW5kbGUgMCBzaXplZCBwYWNrZXRzCgkgIEhhbmRsZSAwIHNpemVkIHBhY2tldHMgKHJlcGVhdCBmcmFtZSkgaW4gdGhlIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuCgkgIEZpeGVzICM2NDE4MjcKCjIwMTEtMDItMTQgMTU6MjE6MjkgKzAyMDAgIFR1dWtrYSBQYXNhbmVuIDx0dXVra2EucGFzYW5lbkBpbG1pLmZpPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogcmVzZW5kIHRhZ3Mgd2hlbiB0aGV5IGFyZSBjaGFuZ2VkCgkgIEFsbG93IHNldHRpbmcgbmV3IHRhZ3Mgb24gdGhlIHByb3BlcnR5IHdoaWxlIHJ1bm5pbmcgYW5kIHNlbmQgdGhlbS4KCSAgRml4ZXMgIzY0MDI0OQoKMjAxMS0wMi0xNCAxMjo1MzoyNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOTRkNzM5IHRvIDFkZTdmNmEKCjIwMTEtMDItMDcgMjM6MzI6NTMgKzAxMDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWlub3IgbGVha3Mgd2hlbiBoYW5kbGluZyBzZXJ2ZXIgcmVxdWVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAxNjMKCjIwMTEtMDItMTQgMDA6NDk6MDAgKzAwMDAgIEhlYXRoIE5pZWxzb24gPGhlYXRobkBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgTXVzaWNCcmFpbnogdGFncwoJICBFeHRyYWN0IE11c2ljQnJhaW56IHRhZ3MgYWRkZWQgYnkgTXVzaWNCcmFpbnoncyBQaWNhcmQKCSAgdGFnZ2VyIGFwcGxpY2F0aW9uLiBUaGVzZSB0YWdzIChlc3AuIHRoZSBhbGJ1bSBpZCkgYXJlCgkgIGhlbHBmdWwgZm9yIHJoeXRobWJveCBldC5hbC4gdG8gYXV0b21hdGljYWxseSBkb3dubG9hZHMKCSAgY292ZXIgYXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyMjA1CgoyMDExLTAyLTE0IDAwOjM4OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVmYWN0b3IgaVR1bmVzIHRhZyBwYXJzaW5nIGEgYml0CgoyMDExLTAyLTEwIDIzOjUyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgZG9hcDogdXBkYXRlIG1haWxpbmcgbGlzdCBsb2NhdGlvbgoKMjAxMS0wMi0xMCAxODoxMTo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByb3BhZ2F0ZSBlcnJvciBkdXJpbmcgZXhwb3NlX3N0cmVhbXMKCSAgLi4uIGFzIGl0IG1heSBvY2N1ciBkdXJpbmcgaW5pdGlhbCBwYXJzaW5nIG9mIGZyYWdtZW50ZWQgZmlsZS4KCjIwMTEtMDItMTAgMTg6MDA6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBza2lwcGluZyBleHBvc2luZyBhIHN0cmVhbSBmb2xsb3dpbmcgYSByZW1vdmVkIHN0cmVhbQoKMjAxMS0wMi0xMCAxMTo1NjozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHN0b3JlIGNsdXN0ZXIgcG9zaXRpb25zIHByb3ZpZGVkIGJ5IFNlZWtIZWFkCgkgIC4uLiBhbmQgdXNlIHRob3NlLCBpZiBhdmFpbGFibGUsIHRvIGxvY2F0ZSBhIGNsdXN0ZXIgcmF0aGVyIHRoYW4gc2Nhbm5pbmcuCgoyMDExLTAyLTA5IDE2OjIyOjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcm9wZXJseSByZXN1bWUgY2x1c3RlciBzY2FubmluZwoJICAuLi4gcmF0aGVyIHRoYW4gZ2V0dGluZyBvZmZzZXQgdHJhY2tpbmcgbWVzc2VkIHVwLCBhbmQgdGhlbiBsaWtlbHkKCSAgZmFpbGluZyBhIHN1YnNlcXVlbnQgYXNzZXJ0LgoKMjAxMS0wMi0wOCAxMDowNzo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIGlkM2RlbXV4OiBlbnN1cmUgYSB0YWdsaXN0IGJlZm9yZSBhZGRpbmcgdGhlIGNvbnRhaW5lciB0YWcKCSAgSW4gdGhlIGNhc2Ugb2YgaWQzdjEgYWxzbyBkb24ndCByZXR1cm4gTlVMTCBvbiBlbXB0eSB0YWdzLCBidXQgYWxzbyBjcmVhdGUgYSBuZXcKCSAgdGFnbGlzdCBhbmQgYWRkIHRoZSBjb250YWluZXIgdGFnIGZvciBjb25zaXN0ZW5jeS4KCjIwMTEtMDItMDcgMTc6MDg6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc3RyaXAgdHJhaWxpbmcgc3BhY2VzCgoyMDExLTAyLTA3IDE3OjA3OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0cHNyYzogc2V0IG11bHRpcGxlIHByb3BlcnRpZXMgaW4gb25lIGdvCgkgIFRoZXJlIGlzIG5vIG5lZWQgZm9yIHNlcGFyYXRlIGdfb2JqZWN0X3NldCgpIGNhbGxzIGhlcmUuCgoyMDExLTAyLTAzIDE2OjEwOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSGFuZGxlIGltYWdlIGNhcHMgd2l0aG91dCBhc3NlcnRpbmcKCSAgSW1hZ2VzIG1pZ2h0IGhhdmUgZnJhbWVyYXRlPTAvMSBpbiB0aGUgY2Fwcywgd2hpY2ggY2F1c2VkIGFuCgkgIGFzc2VydGlvbiBvbiBkZWludGVybGFjZS4gSSBkb24ndCBrbm93IG9mIGludGVybGFjZWQgaW1hZ2UgZm9ybWF0cwoJICBidXQgZGVpbnRlcmxhY2UgbWlnaHQgYmUgaGFyZGNvZGVkIG9uIHNvbWUgZ2VuZXJpYyBwaXBlbGluZXMgYW5kCgkgIGl0IHNob3VsZG4ndCBhc3NlcnQuCgkgIFRoZSBmaXggd2FzIHRvIHNldCBmaWVsZF9kdXJhdGlvbiB0byAwIGlmIHRoZSBpbnB1dCBoYXMgYSBmcmFtZXJhdGUKCSAgd2l0aCBhIDAgbnVtZXJhdG9yLgoJICBUaGlzIHBhdGNoIGFsc28gYWRkcyBjaGVja3MgZm9yIHRoaXMgc2l0dWF0aW9uIG9uIHRoZSB1bml0IHRlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNDAwCgoyMDExLTAyLTA0IDEyOjMzOjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBkb2NzOiBmaXggcGFyYW1ldGVyIG5hbWUgaW4gdWRwc3JjIGRvY3MKCSAgSXQgaXMgImJ1ZmZlci1zaXplIiBhbmQgbm90ICJidWZmZXIiLiBBbHNvIHRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZS4KCjIwMTEtMDItMDMgMjM6NDI6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggaW50ZXJsYWNlZCBzZXRfZm9ybWF0IGNvbmZpZ3VyYXRpb24KCSAgQ29tbWl0IDZjODI2OGRiZmQ1Yzg4ZmFjMjhjODgyZWYyZTQ1OThhNjUyMmUyZDYgYnJva2UgcmVjb3JkaW5nCgkgIGZyb20gaW50ZXJsYWNlZCB2NGwyIHNvdXJjZSAoZS5nLiB0eXBpY2FsIHR2IGNhcHR1cmUgY2FyZCkgc2luY2UKCSAgVjRMMl9GSUVMRF9TRVFfVEIgKHdpdGggZmllbGRzIHN0b3JlZCBzZXBhcmF0ZWx5KSBkb2VzIG5vdCBtYXAKCSAgdG8gY3VycmVudGx5IGRlZmluZWQgaW50ZXJsYWNlZCBmb3JtYXQgKGZpZWxkcyBzdG9yZWQgaW50ZXJsZWF2ZWQpLgoJICBCZXNpZGVzIHRoaXMgbWlzbWF0Y2gsIGhhcmR3YXJlIG1pZ2h0IHF1aXRlIGxpa2VseSBub3Qgc3VwcG9ydCBvcgoJICBhcHByZWNpYXRlIHRoaXMgZmllbGQgdmFsdWUsIHNpbmNlIHF1ZXJ5aW5nIHN1cHBvcnRlZCBmb3JtYXRzIG1hcHBlZAoJICBfSU5URVJMQUNFRCBmaWVsZCBmb3JtYXRzIHRvIGludGVybGFjZWQ9dHJ1ZSBjYXBzIChzbyB0aGUgbGF0dGVyIHNob3VsZAoJICBub3QgYmUgbWFwcGVkIHRvIGZpZWxkIHZhbHVlIHRoYXQgaXMgbm90IGtub3duIHRvIGJlIHN1cHBvcnRlZCkuCgoyMDExLTAyLTAyIDE4OjI3OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogZml4IHR5cGUgb2YgbnRwbnN0aW1lCgoyMDExLTAyLTAyIDE4OjIxOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IEdldCBhbmQgdXNlIHRoZSBOVFAgdGltZSB3aGVuIHJlY2VpdmluZyBSVENQCgkgIFdoZW4gd2UgcmVjZWl2ZSBhbiBSVENQIHBhY2tldCwgZ2V0IHRoZSBjdXJyZW50IE5UUCB0aW1lIGluIG5hbnNlY29uZHMgc28gdGhhdAoJICB3ZSBjYW4gY29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgcm91bmQtdHJpcCB0aW1lLgoKMjAxMS0wMi0wMSAxOTo0MDo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kOiBhcnJhbmdlIGZvciBkZWZpbml0aW9uIG9mIF9zd2FiIG9uIEN5Z3dpbgoJICBnc3RkaXJlY3Rzb3VuZHNpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9kaXJlY3Rzb3VuZF9zaW5rX3dyaXRlJzoKCSAgZ3N0ZGlyZWN0c291bmRzaW5rLmM6NTU3OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ19zd2FiJwoJICBnc3RkaXJlY3Rzb3VuZHNpbmsuYzo1NTc6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdfc3dhYicKCjIwMTAtMTAtMDYgMjE6MTc6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJICBydHB0aGVvcmFkZXBheTogUmVxdWVzdCBuZXcga2V5ZnJhbWUgb24gbG9zdCBwYWNrZXRzCgkgIFRoZW9yYSBjYW4gb25seSB1c2UgdGhlIGxhc3QgZnJhbWUgKG9yIHRoZSBrZXlmcmFtZSkgYXMgYSByZWZlcmVuY2UsIHNvIGluCgkgIHByYWN0aWNlLiBJZiB3ZSByZWNlaXZlIGEgYnVmZmVyIHRoYXQgcmVmZXJlbmNlcyBhbiB1bmtub3duIGNvZGVib29rLCByZXF1ZXN0CgkgIG5ldyBoZWFkZXJzLiBJdCBwcm9iYWJseSBtZWFucyB0aGF0IGhlYWRlcnMgd2VyZSBsb3N0LgoKMjAxMC0wOC0yNyAxNDoxMTo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJlcXVlc3QgZWFybHkgUlRDUAoKMjAxMC0wOC0yNyAxNjoxMTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWRkIGNhbGxiYWNrIHRvIGdldCB0aGUgY3VycmVudCB0aW1lCgoyMDEwLTEwLTE5IDIyOjIxOjU0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRG9uJ3QgcmVsYXkgbW9yZSB0aGFuIG9uZSBQTEkgcmVxdWVzdCBwZXIgUlRUCgkgIERyb3AgUExJIHJlcXVlc3RzIGlmIG9uZSB3YXMgcmVsYXkgaW4gdGhlIGxhc3QgUlRULCB0aGUgb3RoZXIgc2lkZSBtYXkKCSAganVzdCBub3QgaGF2ZSByZWNlaXZlZCB0aGUga2V5ZnJhbWUgeWV0LgoKMjAxMC0wNi0yMyAxNjo0MzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogU2VuZCBHc3RGb3JjZUtleVVuaXQgZXZlbnQgaW4gcmVzcG9uc2UgdG8gcmVjZWl2ZWQgUlRDUCBQTEkKCjIwMTAtMTEtMjQgMTU6Mjc6NDYgLTA1MDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBGYWxsYmFjayBmb3IgRklSIHRvIFBMSSBpZiBQTEkgaXNuJ3QgYXZhaWxhYmxlCgoyMDEwLTA2LTIyIDE5OjU2OjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBJbXBsZW1lbnQgc2VuZGluZyBQTEkgcGFja2V0cyBpbiByZXNwb25zZSB0byBHc3RGb3JjZUtleVVuaXQKCjIwMTAtMDYtMjIgMTM6MzM6MzIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNvdXJjZTogUmV0YWluIFJUQ1AgRmVlZGJhY2sgcGFja2V0cyBmb3IgYSBzcGVjaWZpZWQgYW1vdW50IG9mIHRpbWUKCjIwMTAtMDktMDcgMTM6MzU6MTYgKzAzMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTWFrZSBydGNwIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBhZnRlciBwcm9jZXNzaW5nIGl0CgkgIEZ1bmN0aW9ucyB0aGF0IHByb2Nlc3MgdGhlIHJ0Y3AgYnVmZmVyIGNvdWxkIGRlY2lkZSB0byBrZWVwIGEgcmVmCgkgIG9uIHRoZSBidWZmZXIgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZy4gU28gbWFrZSB0aGUgbWV0YWRhdGEgd3JpdGFibGUKCSAgb25seSBhZnRlciB0aGV5IGFyZSBkb25lLgoKMjAxMC0wNi0xNyAxNzozNDoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEVtaXQgc2lnbmFsIG9uIGluY29taW5nIFJUQ1AgRkIgcGFja2V0CgoyMDExLTAyLTAxIDE4OjE3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmaXggY29tcGlsYXRpb24KCjIwMTAtMDYtMTUgMTg6Mzk6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgbWV0aG9kIHRvIHJlcXVlc3QgZWFybHkgUlRDUCBwYWNrZXQKCSAgSW1wbGVtZW50IHRoZSBlYXJseSBtb2RlIGRlZmluZWQgaW4gUkZDIDQ1ODUuIEluIHRoaXMgbW9kZSwgUlRDUCBmZWVkYmFjawoJICBwYWNrZXRzIGFyZSBzZW50IGVhcmx5IHRvIG5vdGlmaWVyLgoKMjAxMC0wNi0wMSAxOToyODowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBwcm9wZXJ0eSBmb3IgbWluaW11bSBpbnRlcnZhbCBiZXR3ZWVuIFJlZ3VsYXIgUlRDUCBtZXNzYWdlcwoJICBUaGlzIGNhbiBiZSBjaGFuZ2VkIGFjY29yZGluZyB0byBSRkMgNDU4NQoKMjAxMC0wNi0xNCAxODo0MDozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEVtaXQgc2lnbmFsIHdoZW4gc2VuZGluZyBhIGNvbXBvdW5kIFJUQ1AgcGFja2V0CgkgIFRoaXMgYWxsb3dzIHVzZXJzIHRvIGFkZCBleHRyYSBSVENQIHBhY2tldHMgdG8gdGhlIGNvbXBvdW5kCgkgIFJUQ1AgcGFja2V0LgoKMjAxMC0wNi0xOSAxOToxMTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBUYWcgdXBzdHJlYW0gY3VzdG9tIGV2ZW50cyB3aXRoIHBheWxvYWQgdHlwZQoKMjAxMC0wNi0xOCAxOToxMjo0MCAtMDQwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBUYWcgdXBzdHJlYW0gY3VzdG9tIGV2ZW50cyB3aXRoIFNTUkMKCjIwMTAtMTAtMDEgMTc6MTk6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRW1pdCAib24tc3NyYy12YWxpZGF0ZWQiIHdoZW4gdmFsaWRhdGluZyBieSBSVENQCgkgIEVtaXQgIm9uLXNzcmMtdmFsaWRhdGVkIiBpZiB0aGUgU1NSQyBpcyB2YWxpZGF0ZWQgYnkgcmVjZWl2aW5nCgkgIGEgUlRDUCBTREVTIHBhY2tldC4KCjIwMTEtMDItMDEgMTY6Mzg6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IHNraXAgRVBIIHBhY2tldHMKCSAgSW5jbHVkZSBFUEggbWFya2VycyBpbnRvIHRoZSBwcmV2aW91cyBjaHVuayBvZiBwYWNrZXRzLgoKMjAxMS0wMS0zMSAxNzo1NjoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICBydHBwY21hcGF5OiBSZW5hbWUgdGhlIGNsYXNzIHRvIGhhdmUgdGhlIHJpZ2h0IG5hbWUKCSAgSXQgd2FzIG5hbWUgcG1jYSBpbnN0ZWFkIG9mIHBjbWEgYW5kIG1hZGUgZGVidWcgbG9ncyBoYXJkIHRvIHNlYXJjaC4KCjIwMTEtMDEtMzEgMDU6NTg6MzYgKzAxMDAgIERhdmlkIEhlbm5pbmdzc29uIDxkYXZpZC5oZW5uaW5nc3NvbkBjYW5vbmljYWwuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBQdWxzZXNpbms6IEFsbG93IGNodW5rcyB1cCB0byBidWZzaXplIGluc3RlYWQgb2Ygc2Vnc2l6ZQoJICBCeSBhbGxvd2luZyBsYXJnZXIgY2h1bmtzIHRvIGJlIHNlbnQsIFB1bHNlQXVkaW8gd2lsbCBoYXZlIGEKCSAgbG93ZXIgQ1BVIHVzYWdlLiBUaGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IG9uIGxvdy1lbmQgbWFjaGluZXMsCgkgIHdoZXJlIFB1bHNlQXVkaW8gY2FuIGNyYXNoIGlmIHBhY2tldHMgYXJlIGNvbWluZyBpbiBhdCBhIGhpZ2hlcgoJICByYXRlIHRoYW4gUHVsc2VBdWRpbyBjYW4gcHJvY2VzcyB0aGVtLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCjIwMTEtMDEtMzEgMTM6NDQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzaW1wbGlmeSB0ZW1wbGF0ZSBjYXBzCgkgIFdlIGNhbiBtZXJnZSBhbGwgdGhlIFlVViB2YXJpYW50cyBpbnRvIG9uZSBzaW5nbGUgc3RydWN0dXJlLgoKMjAxMS0wMS0yNyAxNTozNTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGZpeCBERUZBVUxUX0FVRElPU0lOSywgc2hvdWxkIGJlIGRpcmVjdCpzb3VuZCpzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDA3MDUKCjIwMTEtMDEtMjcgMTY6MDI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW5pdGlhbGl6ZSBsb2NhbCB2YXJpYWJsZSB0byBwbGVhc2UgbWluZ3czMiBjb21waWxlcgoKMjAxMS0wMS0yNiAyMjoyMTozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogdXNlIHNvY2tsZW5fdCB3aGVyZSBhcHByb3ByaWF0ZSByYXRoZXIgdGhhbiBjdXN0b20gdHlwZQoJICBJbiBwYXJ0aWN1bGFyLCBmaXhlcyBDeWd3aW4gYnVpbGQgd2hlcmUgc29ja2xlbl90IGlzIGRlZmluZWQgYXMgaW50CgkgIGluIGxpbmUgd2l0aCBuYXRpdmUgd2luMzIgYXBpIGRlZmluaXRpb24uCgoyMDExLTAxLTI3IDEyOjE2OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWluZCByb3VuZGluZyBpc3N1ZXMgd2hlbiBjb252ZXJ0aW5nIGZyb20gZ2xvYmFsIHRpbWUgdG8gbW92IHRpbWUKCSAgSW4gcGFydGljdWxhciwgdGhpcyBhdm9pZHMgbWlzc2luZyB0aGUgaW50ZW5kZWQga2V5ZnJhbWUgd2hlbiBmaXJzdCBjb252ZXJ0aW5nCgkgIGZyb20gdGhlIGZyYW1lJ3MgbW92IHRpbWUgdG8gZ2xvYmFsIHNlZ21lbnQgdGltZSwgYW5kIHRoZW4gYmFjayBmcm9tIGdsb2JhbAoJICB0aW1lIHRvIG1vdiB0aW1lIHdoZW4gYWN0aXZhdGluZyB0aGUgc2VnbWVudC4KCjIwMTEtMDEtMjYgMDg6NDg6NDMgKzAwMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBsZWFrIGVibWwgd3JpdGVyIGNhcHMgd2hlbiByZS11c2luZyBtYXRyb3NrYW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwNTQyCgoyMDExLTAxLTI1IDIxOjU2OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBkaXZpZGUgYnkgMAoKMjAxMS0wMS0xOCAxNDo0ODowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHVsbCBtb2RlIHNob3VsZCBhbHdheXMgcmVwb3J0IHNlZWthYmxlCgkgIC4uLiBhcyBpdCBubyBsb25nZXIgcmVxdWlyZXMgYW4gaW5kZXgsIGJ1dCBjYW4gc2VlayBieSBzY2FubmluZyBhcyB3ZWxsLgoKMjAxMS0wMS0xMCAxMjozNDoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgc29tZSBtb3JlIG1wZWctNCBmb3VyY2MgdmFyaWFudHMKCjIwMTEtMDEtMTAgMTI6MzQ6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzaW1wbGlmeSByZXRyaWV2aW5nIHN0c2QgY2hpbGQgZW50cnkgYXRvbQoKMjAxMS0wMS0yNCAxODoyNzo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBjb25zaWRlciAwIGZjY19oYW5kbGVyIGFzIHVuY29tcHJlc3NlZC4KCSAgSnVzdCBhdm9pZHMgYSB3YXJuaW5nCgoyMDExLTAxLTIwIDEyOjE0OjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0YWtlIGNvbmZpZ3VyZWQgc3RhcnQgdGltZSBpbnRvIGFjY291bnQKCSAgd2hlbiBjcmVhdGluZyB0aGUgbmV3c2VnbWVudCBldmVudCwgdGFrZSB0aGUgY29uZmlndXJlZCBzdGFydCB0aW1lCgkgIGludG8gYWNjb3VudC4KCjIwMTEtMDEtMjQgMTU6MTE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIG9uIG1pbmd3MzIKCSAgTWFrZSB3aW4zMiBidWlsZCBib3QgaGFwcHkgYWdhaW4sIGFuZCBuaWNlZnkgb3V0cHV0IHdoaWxlIHdlJ3JlIGF0IGl0LgoJICBxdGRlbXV4LmM6IEluIGZ1bmN0aW9uICdxdGRlbXV4X3BhcnNlX3RydW4nOgoJICBxdGRlbXV4LmM6MjE2MjozOiBlcnJvcjogZm9ybWF0ICclbHUnIGV4cGVjdHMgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZSAnZ3VpbnQzMicKCjIwMTEtMDEtMjQgMTM6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSAgZXhhbXBsZXM6IGF1dG9hdWRpc2luayAtPiBhdXRvYXVkaW9zaW5rIGluIFJUUCBleGFtcGxlcwoKMjAxMS0wMS0yNCAwMDozMjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yNyA9PT0KCjIwMTEtMDEtMjEgMTI6NTQ6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjcKCjIwMTEtMDEtMjAgMTQ6MTA6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBkb24ndCBsZWFrIGNvZGVjIGRhdGEgYnVmZmVyIGluIGJ5dGUtc3RyZWFtPXRydWUgbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDYzCgoyMDExLTAxLTIwIDEzOjQxOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgbGVhayB1cmwgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwNjQKCjIwMTEtMDEtMjAgMTE6NDU6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBHcmFjZWZ1bGx5IGhhbmRsZSBtb3YgZmlsZXMgbWlzdXNpbmcgdGhlIFdBVkUgYXRvbXMKCSAgQ2hlY2sgdGhhdCB0aGUgV0FWRUhFQURFUiBub2RlIGlzIHByZXNlbnQgaW5zdGVhZCBvZiBibGluZGx5IHVzaW5nIGl0LgoJICBJZiBub3QgcHJlc2VudCB3ZSB3b24ndCBiZSBhYmxlIHRvIHByb3ZpZGUgYSBtb3JlIHJlZmluZWQgY2FwcywgYnV0IGF0CgkgIGxlYXN0IHdlIHdvbid0IGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDI4CgoyMDExLTAxLTIwIDAwOjA3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBmaXggYWNjaWRlbnRhbCBicmVha2FnZSBvZiBuYXZpZ2F0aW9uIGludGVyZmFjZSBzdXBwb3J0CgoyMDExLTAxLTE4IDEyOjU4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI2LjQgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTIgMTQ6MDM6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiByZXdyaXRlIGhvdyBuZWlnaGJvcmluZyBzY2FuIGxpbmVzIGFyZSBjYWxjdWxhdGVkCgkgIE9sZCBjb2RlIHdhcyBkaWZmaWN1bHQgdG8gdW5kZXJzdGFuZCBleGFjdGx5IGhvdyB0aGUgbmVpZ2hib3JpbmcKCSAgc2NhbiBsaW5lcyBhcmUgY2FsY3VsYXRlZCwgYW5kIGl0IGFwcGVhcmVkIHRoYXQgc29tZSB3ZXJlIG9mZiBieQoJICArMiBvciAtMiwgZGVwZW5kaW5nIG9uIHRoZSBmaWVsZCBmbGFnLiAgRml4ZXMgIzYzOTMyMS4KCjIwMTEtMDEtMTggMDk6MzM6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmlzdWJ0aXRsZTogc2V0IGNhcHMgb24gc3JjcGFkIHRvIGZpeCBpc3N1ZSB3aXRoIGRpc2NvdmVyZXIKCSAgU2V0IGNhcHMgZnJvbSB0aGUgc3RhcnQgc28gZGlzY292ZXJlciBkb2Vzbid0IGJsb3cgdXAgb24KCSAgc2VlaW5nIG5vIG5lZ290aWF0ZWQgY2FwcyBiZXR3ZWVuIGVsZW1lbnRzIG9uIHByZXJvbGwsCgkgIHdoaWNoIG1pZ2h0IGhhcHBlbiBpZiBubyBzdWJ0aXRsZSBidWZmZXJzIGhhdmUgYmVlbgoJICBwdXNoZWQgeWV0IGF0IHRoZSB0aW1lLiBTZWUgZmlsZSBmcm9tIGJ1ZyAjNjAzMzA4LgoKMjAxMS0wMS0xNyAyMDowOToxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVW5jb3JrIHN0cmVhbSB3aGlsZSBmbHVzaGluZyB0aGUgcmluZ2J1ZmZlcgoJICBBZnRlciBzdGFydGluZyB0aGUgcmluZ2J1ZmZlciwgd2Ugd2FpdCBmb3IgZW5vdWdoIGRhdGEgdG8gYXJyaXZlIGJlZm9yZQoJICB1bmNvcmtpbmcgdGhlIHN0cmVhbS4gVGhpcyB3aWxsIGNhdXNlIHRoZSBwaXBlbGluZSB0byBzdGFsbCBpZiB3ZSBnZXQgYW4KCSAgRU9TIChvciBvdGhlcndpc2UgbmVlZCB0byBmbHVzaCB0aGUgc3RyZWFtKSBiZWZvcmUgc3VmZmljaWVudCBkYXRhCgkgIGJlY29tZXMgYXZhaWxhYmxlLiBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhhdCB0aGUgc3RyZWFtIGlzIHVuY29ya2VkCgkgIHdoaWxlIGZsdXNoaW5nIHRvIGF2b2lkIHRoaXMgcHJvYmxlbS4KCSAgRml4ZXMgaXNzdWUgd2l0aCBhIHdlYmtpdCB1bml0IHRlc3QgdGVzdGluZyByZXZlcnNlIHBsYXliYWNrIG9mCgkgIGFuIE1QNCBILjI2NC9BQUMgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTc0MAoKMjAxMS0wMS0xNCAxNDo1MTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhdm9pZCBjcmVhdGluZyBjYXBzIGZyb20gc3RyaW5nIHdoZW4gcG9zc2libGUKCSAgRml4ZXMgIzYzOTUxNi4KCjIwMTEtMDEtMTQgMTQ6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzZXQgc3JjIHBhZCBjYXBzIHdoZW4gc3RhcnRpbmcgZmlsZQoJICBGaXhlcyAjNjM5NTE2LgoKMjAxMS0wMS0xMiAyMDozODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRlZmluZSBWNEwyX0ZJRUxEX0lOVEVSTEFDRURfe1RCLEJUfSBpZiBub3QgYXZhaWxhYmxlIGluIGhlYWRlcgoJICBPbGRlciBrZXJuZWxzIGRvbid0IGhhdmUgdGhlc2UsIGFuZCB0aGVyZSdzIG5vIGVhc3kgd2F5IHRvIGNoZWNrIGZvciB0aGUKCSAgZXhpc3RhbmNlIG9mIGVudW1zIHRoYXQgZG9lc24ndCBpbnZvbHZlIGEgY29uZmlndXJlIGNoZWNrLCBzbyBqdXN0IGRlZmluZQoJICB0aGVzZSBpZiB0aGUgVjRMMl9DQVBfVklERU9fT1VUUFVUX09WRVJMQVkgZGVmaW5lIGlzIG5vdCB0aGVyZSwgd2hpY2ggd2FzCgkgIGFkZGVkIGluIHRoZSBzYW1lIGNvbW1pdCBhcyB0aGUgVEIvQlQgZW51bS4gRml4ZXMgY29tcGlsYXRpb24gb24gQ2VudE9TIDUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzkKCjIwMTEtMDEtMTEgMjM6MTg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjYuMyBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xMSAyMjo0Mjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTEtMDEtMTEgMjM6Mzk6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE1ha2UgY29ya2luZyBkdXJpbmcgcGF1c2Ugc3luY2hyb25vdXMKCSAgVGhpcyBtYWtlcyB0aGUgY2FsbCB0byBwYV9zdHJlYW1fY29yaygpIGR1cmluZyByaW5nYnVmZmVyIHBhdXNlKCkKCSAgc3luY2hyb25vdXMsIHdoaWNoIG1ha2VzIHN1cmUgdGhhdCB0aGUgY2xvY2sgZG9lcyBub3QgYWR2YW5jZSBhZnRlciB3ZQoJICB0YWtlIGEgc25hcHNob3QgZm9yIHN0YXJ0X3RpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyNDAKCjIwMTEtMDEtMTEgMTk6MzM6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vZGEucG86CgkqIHBvL2dsLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTAxLTExIDE1OjUwOjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGU1NzJjODcgdG8gZjk0ZDczOQoKMjAxMS0wMS0xMCAxNjozNjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGNjYmFhODUgdG8gZTU3MmM4NwoKMjAxMS0wMS0xMCAxNDo1MzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NDQ1YWQgdG8gY2NiYWE4NQoKMjAxMS0wMS0wNyAxMzoyNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNi4yIHByZS1yZWxlYXNlCgoyMDExLTAxLTA3IDEzOjA2OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTAxLTA3IDAyOjMyOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDEtMDcgMDI6MDY6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgcHV0IGVzc2VudGlhbCBmdW5jdGlvbiBjYWxscyBpbnRvIGdfYXNzZXJ0KCkKCSAgZ19hc3NlcnQoKSB3aWxsIGV4cGFuZCB0byBOT09QcyBpZiAtREdfRElTQUJMRV9BU1NFUlQgaXMgcGFzc2VkLgoKMjAxMS0wMS0wNyAwMTozNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZG9uJ3QgcHV0IGZ1bmN0aW9uYWwgY29kZSBsaWtlIGlvY3RsIGNhbGxzIGludG8gZ19yZXR1cm5faWZfZmFpbCgpCgkgIFRoZXNlIG1hY3JvcyB3aWxsIGV4cGFuZCB0byBOT09QcyBnaXZlbiB0aGUgcmlnaHQgZGVmaW5lcy4gQWxzbywKCSAgZ19yZXR1cm5faWZfZmFpbCgpIGFuZCBmcmllbmRzIGFyZSBtZWFudCB0byBiZSB1c2VkIHRvIGNhdGNoIHByb2dyYW1taW5nCgkgIGVycm9ycyAobGlrZSBpbnZhbGlkIGlucHV0IHRvIGZ1bmN0aW9ucyksIG5vdCBydW50aW1lIGVycm9yIGhhbmRsaW5nLgoKMjAxMS0wMS0wNyAwMToxMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG5ldmVyIGRpc2FibGUgZ19hc3NlcnQoKSBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzCgkgIFRoZSB1bml0IHRlc3RzIGFyZSByaWRkbGVkIHdpdGggZ19hc3NlcnQoKSBhbmQgZnJpZW5kcywgbWFrZSBzdXJlIHdlCgkgIGRvbid0IGRpc2FibGUgYXNzZXJ0IGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMgZXZlbiBpZgoJICB0aGlzIGhhcyBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgYmFzZSwgZS5nLiB2aWEKCSAgLS1kaXNhYmxlLWdsaWItYXNzZXJ0cy4KCjIwMTEtMDEtMDYgMTI6Mjk6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNiAxMjoyODo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDUgMTc6NDk6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogQWRkIGNhcGRlYnVnIGRlYnVnIGNhdGVnb3J5CgoyMDEwLTEyLTExIDEyOjQyOjEwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2hhbmdlIHRoZSBkZWZhdWx0IHRvIGxpbmVhcgoJICBUaGUgcHJldmlvdXMgZGVmYXVsdCwgZ3JlZWR5aCwgdGFrZXMgNCB0aW1lcyBhcyBsb25nIGFzIE1QRUctMgoJICB2aWRlbyBkZWNvZGluZywgYW5kIGlzIHVubGlrZWx5IGZhc3QgZW5vdWdoIG9uIGFueSBjdXJyZW50IENQVQoJICB0byBwbGF5IDEwODBpIHZpZGVvIGluIHJlYWwtdGltZS4gIGdyZWVkeWwgaXNuJ3QgbXVjaCBmYXN0ZXIuCgkgIGxpbmVhciB3YXMgY2hvc2VuIG92ZXIgdmZpciwgc2luY2UgdGhlIHF1YWxpdHkgYWR2YW50YWdlIG9mIHZmaXIKCSAgaXMgbWluaW1hbCBjb21wYXJlZCB0byB0aGUgb2NjYXNpb25hbCB2aXN1YWwgYXJ0aWZhY3RzIGFuZCBzbG93ZXIKCSAgcHJvY2Vzc2luZy4KCjIwMTEtMDEtMDUgMTg6MzI6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGNvbmZ1c2UgcmV0dXJuIHZhbHVlcwoJICBSZXR1cm4gYSByZXR1cm4gdmFsdWUgb2YgdGhlIHJpZ2h0IHR5cGUuCgoyMDExLTAxLTA1IDE2OjI0OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA1IDE1OjAzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBmaXggbGVuZ3RoIGNoZWNrCgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBBZGQgdGhlIGxlbmd0aCBjaGVjayBzbyB3ZSBkb24ndCBjYXVzZSB1bm5lZWRlZCB3YXJuaW5ncy4KCjIwMTEtMDEtMDUgMTI6MDQ6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGFkZCBidWZmZXItc2l6ZSBwcm9wZXJ0eQoJICBBZGQgYnVmZmVyLXNpemUgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBrZXJuZWwgc2VuZCBidWZmZXIuCgoyMDExLTAxLTAzIDIwOjE2OjIyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIHdoZW4gZGVidWctbG9nZ2luZyBkaXNhYmxlZAoKMjAxMS0wMS0wMyAyMDowNjozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyB3aGVuIGRlYnVnLWxvZ2dpbmcgZGlzYWJsZWQKCjIwMTEtMDEtMDMgMTg6MDU6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhc2luazogZml4IG1hc2tzIGFuZCBzdHJpZGVzCgkgIFVzZSB0aGUgcmlnaHQgZW5kaWFubmVzcyB0byByZWFkIHRoZSBtYXNrcy4KCSAgVXNlIHRoZSByaWdodCBzdHJpZGVzIGZvciB0aGUgYml0bWFwLgoJICBGaXhlcyAjNjM4NTY5CgoyMDExLTAxLTAzIDAxOjE4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogdW5kbyBwcmVzdW1hYmx5IGFjY2lkZW50YWwgZW5hYmxlbWVudCBvZiB0aGUgR3N0WE92ZXJsYXkgaW50ZXJmYWNlCgkgIExvb2tzIGxpa2UgdGhpcyBnb3QgZW5hYmxlZCBieSBhY2NpZGVudCB3aGVuIGFkZGluZyBpdCB0byB2NGwyc2luaywKCSAgc28gdW5kbyB0aGlzIGZvciBub3cuIE5vdCBzdXJlIGl0IG1ha2VzIG11Y2ggc2Vuc2UgaW4gYSBHU3RyZWFtZXIKCSAgY29udGV4dCB3aXRoIGN1cnJlbnQgaGFyZHdhcmUuCgoyMDExLTAxLTAzIDE1OjQwOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbmNyZWFzZSB1ZHAgYnVmZmVyIHNpemUKCSAgU2V0IGEgYmlnZ2VyIFVEUCBidWZmZXIgc2l6ZSBieSBkZWZhdWx0IHRvIHJlZHVjZSBwYWNrZXQgbG9zcyB3aXRoCgkgIGhpZ2ggYml0cmF0ZSBzdHJlYW1zLgoKMjAxMS0wMS0wMiAxOToxOToyNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IHNlbmQgc3RyZWFtIGhlYWRlcnMgaW4ga2V5LWZyYW1lIG1vZGUKCjIwMTEtMDEtMDIgMTk6NDM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL1JFQURNRToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggdXAgZWxlbWVudCBkZXRhaWxzIGFuZCBzb21lIG90aGVyIG1pbm9yIGNsZWFuLXVwcwoKMjAxMS0wMS0wMiAxOToyMzo1MSArMDAwMCAgRXJpY2ggU2NodWJlcnQgPGVyaWNoQGRlYmlhbi5vcmc+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IGZpeCBwYXJzaW5nIG9mIElEM3YyLjQgZ2VucmUgZnJhbWVzIHdpdGggbXVsdGlwbGUgZ2VucmVzCgkgIFdlJ2Qgb25seSBleHRyYWN0IHRoZSBmaXJzdCBnZW5yZSAobXVsdGlwbGUgdGltZXMpIGluc3RlYWQgb2YgYWxsCgkgIGdlbnJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODUzNQoKMjAxMS0wMS0wMiAxNzo0MDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiB0ZW1wbGF0ZSBjYXBzIGhhZCBsaXN0cyB3aXRoIG9uZSB2YWx1ZSwganVzdCB1c2UgdmFsdWUgZGlyZWN0bHkKCjIwMTEtMDEtMDIgMTc6MDc6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBtYWtlIGdldF90eXBlIGZ1bmN0aW9ucyB0aHJlYWQtc2FmZQoJICBCZWNhdXNlIHdlIGNhbiAoc2hvdWxkbid0IGJlIG5lZWRlZCB3aXRoIG90aGVyIHdvcmthcm91bmRzIHN0aWxsIHRoZXJlKS4KCjIwMTEtMDEtMDIgMTU6Mjc6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDExLTAxLTAyIDE1OjI1OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJICBqYWNrOiBuZXcgamFja2F1ZGlvc3JjIGFuZCBqYWNrYXVkaW9zaW5rIGVsZW1lbnRzLCBtb3ZlZCBmcm9tIGdzdC1wbHVnaW5zLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxOTI5CgoyMDEwLTEwLTE5IDE2OjIzOjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICB2YXJpb3VzIChleHQpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTA5LTA5IDE0OjQ5OjA2IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWRkZWQgdHJhbnNsYXRhYmxlIHRleHQgZm9yIHNlcnZlciBub3QgZm91bmQgZXJyb3IKCjIwMTAtMDktMDYgMTc6MTc6NTQgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSAgZXhhbXBsZXM6IGFkZCB0ZXN0IHRvIGRlbW9uc3RyYXRlIGphY2tfY2xpZW50X3QgdXNhZ2UKCjIwMTAtMDktMDYgMTY6MTE6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZGVkIGNsaWVudCBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjoyNjowNyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGphY2s6IHJlbW92ZWQgdW51c2VkIGZpbGUgZ3N0amFja2Jpbi5jCgkgIFRoaXMgaXMgYSAwLjggbGVmdG92ZXIuCgoyMDEwLTA1LTEzIDEyOjU1OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2tzcmM6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgcmVhZCBuZnJhbWVzCgkgIEVycm9yIG91dCB3aGVuIHdlIGFyZSBhc2tlZCB0byByZWFkIGEgZGlmZmVyZW50IHNpemUgdGhhdCB3aGF0IHdhcyBjb25maWd1cmVkIGFzCgkgIHRoZSBqYWNrIHBlcmlvZCBzaXplIGJlY2F1c2UgdGhhdCB3b3VsZCBtZWFuIHNvbWV0aGluZyBlbHNlIGlzIHdyb25nLgoJICBGaXhlcyAjNjE4NDA5CgoyMDEwLTA1LTExIDE3OjU2OjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogaW1wcm92ZSBwcm9jZXNzX2NiCgoyMDEwLTA0LTI3IDEwOjQ4OjMyIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHRyaXN0YW4tbGFwdG9wLihub25lKT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSAgamFjazogaW1wbGVtZW50IG11bHRpY2hhbm5lbCBzdXBwb3J0IGNvcnJlY3RseSBmb3IgamFja2F1ZGlvc3JjCgkgIEZpeGVzIHBhcnRzIG9mIGJ1ZyAjNjE2NTQxLgoKMjAxMC0wNC0yNyAxMToyMToxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSAgamFjazogcmVtb3ZlIGVtcHR5IGRpc3Bvc2UgYW5kIGZpbmFsaXplIG1ldGhvZHMKCjIwMTAtMDQtMjcgMTA6NTk6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IGxlYWsgY2FwcwoJICBBZGQgZGlzcG9zZSBtZXRob2RzIHRvIGNsZWFyIGNhcHMuCgoyMDEwLTA0LTI3IDEwOjM0OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMDMtMjQgMTU6NTk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggZWxlbWVudCBuYW1lIGluIHNlY3Rpb24gZG9jIGJsb2IKCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMC0xMiAwOTowNjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZW5zdXJlIHNlZ3RvdGFsIGlzIGF0IGxlYXN0IDIKCSAgTm90IG9ubHkgYWRqdXN0IGJ1ZmZlci10aW1lIGFuZCBhdm9pZCBzZWd0b3RhbD0wLCBidXQgaW5zdGVhZCBlbnN1cmUgc2VndG90YWwgaXMKCSAgYXRsZWFzdCAyLiBEbyBzYW1lIGNoYW5nZSBvbiBqYWNrc3JjLiBXZSBjb3VsZCBhbHNvIGNoZWNrIHRoZSBsYXRlbmN5IGFuZCBidWZmZXIKCSAgdGltZSBjb25maWd1cmVkIGJ5IHRoZSBjbGllbnQgYW5kIGFkanVzdCBidWZmZXItdGltZSBzbyB0aGF0IHdlIGdldCB0byB0aGUgc2FtZQoJICBudW1iZXIgb2Ygc2VnbWVudHMuCgoyMDA5LTEwLTEyIDAwOjUxOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IGRvbid0IGNyYXNoIGluIHJpbmdidWZmZXIgd2l0aCBTSUdGUEUgb24gc21hbGwgYnVmZmVyLXRpbWVzCgkgIEphY2sgb3ZlcnJpZGVzIHVzZXItc3BlY2lmaWVkIGxhdGVuY3ktdGltZSB3aXRoIHRoZSBvbmUgaXQgZ2V0cyBmcm9tIGphY2sKCSAgaXRzZWxmLiBJdCBhbHNvIG5lZWRzIHRvIGFkanVzdCBidWZmZXItdGltZSBzb21ld2hhdCB0byBhdm9pZCBzZWd0b3RhbCBiZWluZyAwCgoyMDA5LTA1LTExIDE2OjEyOjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiB3aGVuIHN0b3BwaW5nIHBsYXliYWNrLCBkbyBvbmUgbW9yZSBjeWNsZSB0byBmbHVzaCB0aGUgcG9ydC4gRml4ZXMgIzU4MjE2NwoJICBUaGUgZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUoKSBmbGFncyB0aGUgcG9ydCBhcyBkZWFjdGl2YXRpbmcgYW5kIHVzZXMKCSAgYSBHQ29uZCB0byB3YWl0IHVudGlsIHRoZSBqYWNrX3Byb2Nlc3NfY2IoKSBoYXMgcnVuIG9uY2UgbW9yZSBhbmQgY2xlYXJlZCB0aGUKCSAgZmxhZy4gVGhpcyB3YXkgdGhlIGNsaWVudCB6ZXJvJ3MgdGhlIGJ1ZmZlci4gVGhpcyBoYXBwZW5zIGlmIG9uZSBtYW55YWxseSBnbwoJICB0byBQQVVTRUQgYW5kIHRoZW4gdG8gUkVBRFksIHdoaWxlIGxldGluZyB0aGUgbWFpbmxvb3AgcnVuIGluYmV0d2Vlbi4KCjIwMDktMDMtMTYgMTE6MjE6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogQWRkIG5ldyBjb25uZWN0aW9uIG1vZGUKCSAgQWRkIGEgbmV3IGNvbm5lY3Rpb24gbW9kZSB0byBqYWNrc3JjIGFuZCBqYWNrc2luay4gSW4gdGhpcyBuZXcgYXV0by1mb3JjZQoJICBjb25uZWN0aW9uIG1vZGUgamFjayB3aWxsIGNyZWF0ZSBhcyBtYW55IHBvcnRzIGFzIHJlcXVlc3RlZC9uZWVkZWQgaW4gdGhlCgkgIHBpcGVsaW5lIGFuZCB3aWxsIHRoZW4gY29ubmVjdCBhcyBtYW55IHBoeXNpY2FsIHBvcnRzIGFzIHBvc3NpYmxlLCBwb3NzaWJseQoJICBsZWF2aW5nIHNvbWUgcG9ydHMgdW5jb25uZWN0ZWQuCgkgIEFsc28gZ2V0IHJpZCBvZiBzb21lIGxlZnRvdmVyIGdfcHJpbnQuCgkgIEZpeGVzICM1NzUyODQuCgoyMDA4LTExLTIzIDE3OjUwOjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay86IFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIE5vIHByaW50ZiBwbGVhc2UuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0wOS0xNyAxMzo1OToyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoKMjAwOC0wOC0wNyAxMzoxNToyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6IFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoKMjAwOC0wOC0wNyAwOTowOTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgQWRkIG5ldyBlbGVtZW50IHRvIGRvY3MuCgkgICogZXh0L2phY2svZ3N0amFjay5oCgkgIEFkZCBtaXNzaW5nIGZpbGUuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIFJlbmFtZSBqYWNrYXVkaW9zcmMgdG8gamFja19hdWRpb19zcmMuCgoyMDA4LTA4LTA3IDA4OjQ3OjQwICswMDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkgIGV4dC9qYWNrLzogQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBGaXhlcyAjNTQ1MTk3LgoKMjAwOC0wNi0xMyAxMTo1OToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4CgkgIGZvciBleGFtcGxlcyAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZQoJICBoYXZlIHNldmVyYWwgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDUtMjYgMTc6NTI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKToKCSAgSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgoyMDA4LTA0LTA2IDIwOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgIFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUKCSAgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHdoZW4gc3RhcnRpbmcgdXAgbXVsdGlwbGUgcGxheWJpbgoJICBvYmplY3RzIGNvbmN1cnJlbnRseSAoc2VlICM1MTIzODIpLgoKMjAwOC0wMy0xMyAxNDoyNToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtLmM6CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YS5jOgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkCgkgIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCjIwMDctMDctMTggMDc6NDI6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoKMjAwNy0wNC0wNCAwNzozNjoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtIGVzdGFibGlzaGluZyBsaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0KCSAgZXN0YWJsaXNoaW5nIGxpbmtzLgoKMjAwNy0wMy0xOCAxNzo1Nzo0OCArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkIGNhdXNlIGRlYWRsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKToKCSAgRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkCgkgIGNhdXNlIGRlYWRsb2Nrcy4KCjIwMDctMDMtMDggMTU6MjQ6NTIgKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svOiBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZSB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJbmNsdWRlcyBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2luaXQpLAoJICAoamFja19wcm9jZXNzX2NiKSwgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksCgkgIChqYWNrX3NodXRkb3duX2NiKSwgKGNvbm5lY3Rpb25fZmluZCksCgkgIChnc3RfamFja19hdWRpb19tYWtlX2Nvbm5lY3Rpb24pLCAoZ3N0X2phY2tfYXVkaW9fZ2V0X2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX2FkZF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9yZW1vdmVfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9uZXcpLCAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2ZyZWUpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2dldF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJICBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZQoJICB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlY3RlZCBqYWNrIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgamFjawoJICBjb25uZWN0aW9uLgoJICBNYWtlIHNvbWUgc3R1ZmYgYSBiaXQgbW9yZSB0aHJlYWRzYWZlLgoJICBBY3RpdmF0ZSB0aGUgamFjayBjbGllbnQgQVNBUC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZnJlZV9jaGFubmVscyksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBVc2UgbmV3IGNsaWVudCBvYmplY3QgdG8gbWFuYWdlIGNvbm5lY3Rpb25zLgoJICBEb24ndCByZW1vdmUgYW5kIHJlY3JlYXRlIGFsbCBwb3J0cywgdHJ5IHRvIHJldXNlIHRoZW0uCgoyMDA3LTAxLTEyIDEwOjI1OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay4qOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfc2FtcGxlX3JhdGVfY2IpLAoJICAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNi0xMi0wNiAxNjo1NzoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvamFjay8uY3ZzaWdub3JlOiBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCjIwMDYtMTEtMzAgMTE6NTk6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMTEtMzAgMTE6NDk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9pbml0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdGFydCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9wYXVzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdG9wKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2RlbGF5KSwKCSAgKGdzdF9qYWNrX2Nvbm5lY3RfZ2V0X3R5cGUpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlcik6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksCgkgIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLAoJICAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksCgkgIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwKCSAgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwKCSAgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLAoJICAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwKCSAgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwKCSAgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLAoJICAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLAoJICAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwKCSAgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksCgkgIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0wOS0wNSAxNzoyMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA0LTA4LTAzIDE0OjI4OjEyICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkgIGZpeGVzIGZvciBHX0RJU0FCTEVfQVNTRVJUIGFuZCBmcmllbmRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2R5bnBhcmFtcy9maWx0ZXIuYzogKHVpX2NvbnRyb2xfY3JlYXRlKToKCSAgKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOiAocHJpbnRfdGFnKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhLmM6IChnc3RfYWxzYV9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOgoJICAoZ3N0X2dka19hbmltYXRpb25faXRlcl9tYXlfYWR2YW5jZSk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBleHQvbWFkL2dzdGlkM3RhZy5jOiAoZ3N0X21hZF9pZDNfdG9fdGFnX2xpc3QpLAoJICAodGFnX2xpc3RfdG9faWQzX3RhZ19mb3JlYWNoKSwgKGdzdF9pZDNfdGFnX2hhbmRsZV9ldmVudCk6CgkgICogZXh0L3ZvcmJpcy9vZ2d2b3JiaXNlbmMuYzogKGdzdF9vZ2d2b3JiaXNlbmNfZ2V0X3RhZ192YWx1ZSk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNlbmNfZ2V0X3RhZ192YWx1ZSk6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6IChnc3RfeGluZV9hdWRpb19kZWNfY2hhaW4pOgoJICAqIGdzdC1saWJzL2dzdC9tZWRpYS1pbmZvL21lZGlhLWluZm8tdGVzdC5jOiAocHJpbnRfdGFnKToKCSAgKiBnc3Qvc2luZS9kZW1vLWRwYXJhbXMuYzogKG1haW4pOgoJICAqIGdzdC90YWdzL2dzdHZvcmJpc3RhZy5jOiAoZ3N0X3RhZ190b192b3JiaXNfY29tbWVudHMpOgoJICAqIHRlc3RzdWl0ZS9hbHNhL2Zvcm1hdHMuYzogKGNyZWF0ZV9waXBlbGluZSk6CgkgICogdGVzdHN1aXRlL2Fsc2Evc2luZXNyYy5jOiAoc2luZXNyY19mb3JjZV9jYXBzKSwgKHNpbmVzcmNfZ2V0KToKCSAgZml4ZXMgZm9yIEdfRElTQUJMRV9BU1NFUlQgYW5kIGZyaWVuZHMKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKGFhY190eXBlX2ZpbmQpLAoJICAobXAzX3R5cGVfZnJhbWVfbGVuZ3RoX2Zyb21faGVhZGVyKSwgKG1wM190eXBlX2ZpbmQpLAoJICAocGx1Z2luX2luaXQpOgoJICByZXF1aXJlIG1wMyB0eXBlZmluZGluZyB0byBoYXZlIGF0IGxlYXN0IE1JTl9IRUFERVJTIHZhbGlkIGhlYWRlcnMKCSAgYWRkIHR5cGVmaW5kaW5nIGZvciBBQUMgYWR0cyBmaWxlcwoKMjAwNC0wNS0yMSAyMzoyODo1NyArMDAwMCAgU3TDqXBoYW5lIExvZXVpbGxldCA8Z3N0cmVhbWVyQGxlcm91dGllci5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgc2Vjb25kIGJhdGNoIDogcmVtb3ZlICcsJyBhdCBlbmQgb2YgZW51bXMgYXMgdGhleSBjb3VsZCBjb25mdXNlIG9sZGVyIGdjYywgZm9yZWlnbiBjb21waWxlcnMgKGZvcnRlKSBhbmQgZ3RrLWRvYyAoaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZWNvbmQgYmF0Y2ggOgoJICByZW1vdmUgJywnIGF0IGVuZCBvZiBlbnVtcyBhcyB0aGV5IGNvdWxkIGNvbmZ1c2Ugb2xkZXIgZ2NjLCBmb3JlaWduIGNvbXBpbGVycyAoZm9ydGUpIGFuZCBndGstZG9jCgkgIChpbiBnc3QtcGx1Z2lucy9leHQvIHRoaXMgdGltZSkKCjIwMDQtMDMtMTUgMTk6MzI6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCjIwMDQtMDMtMTUgMTY6MzI6NTQgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSAgKi5oOiBSZXZlcnQgaW5kZW50aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqICouaDogUmV2ZXJ0IGluZGVudGluZwoKMjAwNC0wMy0xNCAyMjozNDozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBnc3QtaW5kZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnc3QtaW5kZW50CgoyMDA0LTAxLTEyIDAzOjQwOjE4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgUmVtb3ZlIGFsbCB1c2FnZSBvZiBnc3RfcGFkX2dldF9jYXBzKCksIGFuZCByZXBsYWNlIGl0IHdpdGggZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzKCkgb3IgZ3N0X3BhZF9nZXRfbmVnb3RpYXRlZF9jYXAoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBhbGwgdXNhZ2Ugb2YgZ3N0X3BhZF9nZXRfY2FwcygpLCBhbmQgcmVwbGFjZSBpdCB3aXRoCgkgIGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcygpIG9yIGdzdF9wYWRfZ2V0X25lZ290aWF0ZWRfY2FwKCkuCgoyMDAzLTEyLTIyIDAxOjQ3OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgTWVyZ2UgQ0FQUyBicmFuY2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lcmdlIENBUFMgYnJhbmNoCgoyMDAzLTEyLTEzIDE2OjU5OjUxICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgcmVtb3ZlZCBHU1RfKl9DQVNULiBEaXNhYmxpbmcgb2YgdHlwZSBjaGVja2luZyBpcyBkb25lIGluIGdsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmVkIEdTVF8qX0NBU1QuIERpc2FibGluZyBvZiB0eXBlIGNoZWNraW5nIGlzIGRvbmUgaW4gZ2xpYi4KCjIwMDMtMTItMDQgMTA6Mzc6MzggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgoyMDAzLTExLTA3IDEyOjQ3OjAyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBzZXZlcmFsIHNvdXJjZSBmaWxlcwoKMjAwMy0xMS0wMSAyMzo0MzoxMyArMDAwMCAgSWFpbiBIb2xtZXMgPGlhaW5AcHJldHR5cGVvcGxlLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgSmFjayBmaXhlZCB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEphY2sgZml4ZWQgdG9vCgoyMDAzLTEwLTI5IDAzOjE1OjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgY2hhbmdlIGdzdC9ieXRlc3RyZWFtLmggdG8gZ3N0L2J5dGVzdHJlYW0vYnl0ZXN0cmVhbS5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2UgZ3N0L2J5dGVzdHJlYW0uaCB0byBnc3QvYnl0ZXN0cmVhbS9ieXRlc3RyZWFtLmgKCjIwMDMtMTAtMjggMjA6NTI6NDEgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBtZXJnZSBUWVBFRklORCBicmFuY2guIE1ham9yIGNoYW5nZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtZXJnZSBUWVBFRklORCBicmFuY2guIE1ham9yIGNoYW5nZXM6CgkgIC0gdG90YWxseSByZXdvcmtlZCB0eXBlKGZpbmQpIHN5c3RlbQoJICAtIGFsbCB0eXBlZmluZCBmdW5jdGlvbnMgYXJlIGluIGdzdC90eXBlZmluZCBub3cKCSAgLSBtb3JlIHR5cGVmaW5kIGZ1bmN0aW9ucyB0aGVuIGJlZm9yZQoJICAtIHNvbWUgcGx1Z2lucyBtaWdodCBmYWlsIHRvIGNvbXBpbGUgbm93IGJlY2F1c2UgSSBkb24ndCBoYXZlIHRoZW0gaW5zdGFsbGVkIGFuZCB0aGV5CgkgIGEpIHJlcXVpcmUgYnl0ZXN0cmVhbSBvcgoJICBiKSBoYXZlbid0IGhhZCB0aGVpciB0eXBlZmluZCBmaXhlZC4KCSAgUGxlYXNlIGZpeCB0aG9zZSBwbHVnaW5zIGFuZCBwdXQgdGhlIHR5cGVmaW5kIGZ1bmN0aW9ucyBpbnRvIGdzdC90eXBlZmluZCBpZiB0aGV5IGRvbid0IGhhdmUgZGVwZW5kZW5jaWVzCgoyMDAzLTEwLTA4IDE2OjA4OjE5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoKMjAwMy0xMC0wMSAxMzoxNDo1MCArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBOZXcgdHlwZWZpbmQgc3lzdGVtOiBieXRlc3RyZWFtIGlzIG5vdyBwYXJ0IG9mIHRoZSBjb3JlIGFsbCBwbHVnaW5zIGhhdmUgYmVlbiBtb2RpZmllZCB0byB1c2UgdGhpcyBuZXcgdHlwZWZpbmQgc3lzdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyB0eXBlZmluZCBzeXN0ZW06CgkgICogYnl0ZXN0cmVhbSBpcyBub3cgcGFydCBvZiB0aGUgY29yZQoJICAqIGFsbCBwbHVnaW5zIGhhdmUgYmVlbiBtb2RpZmllZCB0byB1c2UgdGhpcyBuZXcgdHlwZWZpbmQgc3lzdGVtCgkgICogYXNmIHR5cGVmaW5kaW5nIGFkZGVkCgkgICogbXBlZyB2aWRlbyBzdHJlYW0gdHlwZWZpZGluZyByZW1vdmVkIGJlY2F1c2UgaXQncyBicm9rZW4KCSAgKiBkdXBsaWNhdGUgdHlwZWZpbmQgZW50cmllcyByZW1vdmVkCgkgICogZXh0cmEgaWQzIHR5cGVmaW5kaW5nIGFkZGVkLCBiZWNhdXNlIHdlJ3ZlIHNlZW4gNCB0eXBlcyBvZiBmaWxlcwoJICAocmlmZi93YXYsIGZsYWMsIHZvcmJpcywgbXAzKSB3aXRoIGlkMyBoZWFkZXJzIGFuZCBlYWNoIG9mIHRoZXNlIG5lZWRzCgkgIHRvIHdvcmsuIEluc3RlYWQsIEkndmUgYWRkZWQgYW4gaWQzIGVsZW1lbnQgYW5kIGxldCBpdCByZWRvIHR5cGVmaWRpbmcKCSAgYWZ0ZXIgdGhlIGlkMyBoZWFkZXIuIHRoaXMgbmVlZHMgYSBoYWNrIGJlY2F1c2Ugc3BpZGVyIG9ubHkgdHlwZWZpbmRzCgkgIG9uY2UuIFdlIGNhbiByZW1vdmUgdGhpcyBoYWNrIG9uY2Ugc3BpZGVyIHN1cHBvcnRzIG11bHRpcGxlIHR5cGVmaW5kcy4KCSAgKiB3aXRoIGFsbCB0aGlzLCBtcDMgdHlwZWZpbmRpbmcgaXMgc2VtaS1yZXdyaXR0ZW4KCSAgKiBpZDMgdHlwZWZpbmRpbmcgaW4gZmxhYy92b3JiaXMgaXMgcmVtb3ZlZCwgaXQncyBubyBsb25nZXIgbmVlZGVkCgkgICogZml4ZWQgc3BpZGVyIGFuZCBnc3QtdHlwZWZpbmQgdG8gdXNlIHRoaXMsIHRvby4KCSAgKiBPdGhlciBnZW5lcmFsIGNsZWFudXBzCgoyMDAzLTA5LTMwIDEyOjU2OjI3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBjb25mb3JtIHRvIHRoZSBidWZmZXItZnJhbWVzIHByb3BzIGVudHJ5IC0tIG11Y2ggbmljZXIgbm93Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb25mb3JtIHRvIHRoZSBidWZmZXItZnJhbWVzIHByb3BzIGVudHJ5IC0tIG11Y2ggbmljZXIgbm93Li4uCgoyMDAzLTA4LTEwIDAwOjAxOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgoyMDAzLTA3LTE5IDIzOjI1OjI1ICswMDAwICBMZWlmIEpvaG5zb24gPGxlaWZAYW1iaWVudC4yeS5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKyBjaGFuZ2VzIGZvciBuZXcgZmxvYXQgY2FwcyB3aXRob3V0IHNsb3BlL2ludGVyY2VwdCArIHNvbWUgY2F0ZWdvcnkgY2hhbmdlcyBmb3IgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKyBjaGFuZ2VzIGZvciBuZXcgZmxvYXQgY2FwcyB3aXRob3V0IHNsb3BlL2ludGVyY2VwdAoJICArIHNvbWUgY2F0ZWdvcnkgY2hhbmdlcyBmb3IgcGx1Z2lucwoKMjAwMy0wNy0wNiAyMDo0OTo1MiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0J3MgZG9jdW1lbnQuIE5vdGU6IHNvbWUgcGx1Z2lucyB3aWxsIGJyZWFrLCBzb21lIHBpcGVsaW5lcyB3aWxsIGJyZWFrLCBleHBlY3QgSEVBRCB0byBiZSBicm9rZW4gb3IgYXQgbGVhc3Qgbm90IDEwMCUgd29ya2luZyBmb3IgYSBmZXcgZGF5cywgYnV0IGRvbid0IGZvcmdldCB0byByZXBvcnQgYnVncwoKMjAwMy0wNy0wMSAwMjoyNzowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGZpeCB0eXBlIHB1bm5pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0eXBlIHB1bm5pbmcKCjIwMDMtMDYtMjkgMTk6NDY6MTMgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIEluY2x1ZGVzIGZpeGVzIGZvciBtaXNzaW5nIGluY2x1ZGVzIGZvciBjb25maWcuaCBhbmQgdW5pc3RkLmgKCSAgSSBvbmx5IGVuc3VyZWQgZm9yIHBsdWdpbnMgSSBjYW4gYnVpbGQgdGhhdCB0aGV5IHdvcmssIHNvIGlmIHNvbWUgb2YgdGhlbSBhcmUgc3RpbGwgYnJva2VuLCB5b3UgZ290dGEgZml4IHRoZW0geW91cnNlbHZlcyB1bmZvcnR1bmF0ZWx5LgoKMjAwMy0wNi0xMyAyMToyMToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgUmVtb3ZlZCB1Z2x5IGNhcHMgZml4ZWQgZmxhZyBoYWNrLCB3aWxsIGJlIGRvbmUgYXV0b21hdGljYWxseSBpbiBjb3JlIHNvb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgdWdseSBjYXBzIGZpeGVkIGZsYWcgaGFjaywgd2lsbCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgaW4KCSAgY29yZSBzb29uCgoyMDAzLTAzLTA0IDE1OjM0OjIwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICB1cGRhdGUgZm9yIHRoZSBsYXRlc3QgamFjayBjdnMgYW5kIG5vbi1jb3RocmVhZGVkIGdzdCBzY2hlZHVsZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBmb3IgdGhlIGxhdGVzdCBqYWNrIGN2cyBhbmQgbm9uLWNvdGhyZWFkZWQgZ3N0IHNjaGVkdWxlcgoKMjAwMy0wMi0wNSAyMDozODo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIENoYW5nZWQgY2Fwcy0+Zml4ZWQgdG8gdXNlIEZMQUdfU0VUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIGNhcHMtPmZpeGVkIHRvIHVzZSBGTEFHX1NFVAoKMjAwMy0wMS0xMCAxMzozODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIFBhZENvbm5lY3QgLT4gUGFkTGluawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgoyMDAzLTAxLTEwIDEwOjIyOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMKCSAgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcwoJICBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHRoYXQgSSBkb24ndCBzcGVuZCBkb3VibGUKCSAgdGhlIHRpbWUgcmVzb2x2aW5nIGNvbmZsaWN0cwoKMjAwMi0xMi0wOCAxNDo1MDoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoKMjAwMi0wOS0yOSAxODoxMjoxOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGxpY2Vuc2VzIGFnYWluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsaWNlbnNlcyBhZ2FpbgoKMjAwMi0wOS0xOCAxOTowMjo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCjIwMDItMDktMTAgMDk6MzE6NDAgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgVGhpcyB1cGRhdGVzIGFsbCBwbHVnaW5zIHRvIHRoZSBuZXcgQVBJIGZvciBnc3RfcGFkX3RyeV9zZXRfY2FwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVGhpcyB1cGRhdGVzIGFsbCBwbHVnaW5zIHRvIHRoZSBuZXcgQVBJIGZvciBnc3RfcGFkX3RyeV9zZXRfY2FwcwoKMjAwMi0wOS0wOSAyMzoyNzozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHJlbW92aW5nIHdhcm5pbmdzIGFzIGFwcHJvdmVkIGJ5IHdpbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3Zpbmcgd2FybmluZ3MgYXMgYXBwcm92ZWQgYnkgd2ltCgoyMDAyLTA4LTIzIDA0OjA0OjExICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgZml4IGphY2sgaW5wdXQgcG9ydCBjb25uZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggamFjayBpbnB1dCBwb3J0IGNvbm5lY3Rpb24KCjIwMDItMDctMDkgMTc6Mzk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgY29tcGlsZSBmaXhlbiwgYW5kIHByZXBhcmUgdG8gbW92ZSBNQUlOVEFJTkVSX01PREUgdG8gYXMtdmVyc2lvbi5tNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tcGlsZSBmaXhlbiwgYW5kIHByZXBhcmUgdG8gbW92ZSBNQUlOVEFJTkVSX01PREUgdG8gYXMtdmVyc2lvbi5tNAoKMjAwMi0wNy0wMiAyMzozNTowNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIG1ha2UgamFjayB3b3JrIGluIGFsbCBpdHMgZnVsbCBkdXBsZXggZ2xvcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1ha2UgamFjayB3b3JrIGluIGFsbCBpdHMgZnVsbCBkdXBsZXggZ2xvcnkKCjIwMDItMDYtMTIgMDM6MzI6MDIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICB3b3JraW5nIGphY2sgZWxlbWVudHMgKGZpeGVkIGEgcHJvYmxlbSBpbiB1cHN0cmVhbSBqYWNrKSByYW5kb20gb3RoZXIgZml4ZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd29ya2luZyBqYWNrIGVsZW1lbnRzIChmaXhlZCBhIHByb2JsZW0gaW4gdXBzdHJlYW0gamFjaykKCSAgKiByYW5kb20gb3RoZXIgZml4ZW4uLi4KCjIwMDItMDUtMTUgMTk6MDg6NDkgKzAwMDAgIFN0ZXZlIEJha2VyIDxzdGV2ZUBzdGV2ZWJha2VyLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgdXNlIG5ldyBieXRlc3RyZWFtIGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIG5ldyBieXRlc3RyZWFtIGFwaQoKMjAwMi0wNS0xMyAxODowODozMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgdXBkYXRlIHRvIG5ldyBqYWNrIGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIG5ldyBqYWNrIGFwaQoKMjAwMi0wNS0wNSAxOTozOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhZGQgc29tZSBpbmNsdWRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvbWUgaW5jbHVkZXMKCjIwMDItMDUtMDUgMDE6MDg6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGJldHRlciBpbml0aWFsaXphdGlvbi4gaXQgZG9lc24ndCB3b3JrIG92ZXIgaGVyZSwgdGhvdWdoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmV0dGVyIGluaXRpYWxpemF0aW9uLiBpdCBkb2Vzbid0IHdvcmsgb3ZlciBoZXJlLCB0aG91Z2guCgoyMDAyLTA1LTA0IDIxOjM4OjU2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGEgY29tbWl0IHNvIHRoYXQgamFjayB3aWxsIGJ1aWxkIHdpdGhvdXQgZXJyb3JzIG9uIFVyYWV1cydzIHN5c3RlbSA7KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYSBjb21taXQgc28gdGhhdCBqYWNrIHdpbGwgYnVpbGQgd2l0aG91dCBlcnJvcnMgb24gVXJhZXVzJ3Mgc3lzdGVtIDspCgoyMDAyLTA1LTA0IDIwOjUzOjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHNldCBjYXBzIG9uY2Ugd2Uga25vdyB0aGUgc2FtcGxlIHJhdGUgb2YgdGhlIHN5c3RlbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2V0IGNhcHMgb25jZSB3ZSBrbm93IHRoZSBzYW1wbGUgcmF0ZSBvZiB0aGUgc3lzdGVtCgoyMDAyLTA1LTA0IDE4OjU3OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBzb21lIGphY2sgZml4ZXMsIGFsc2EgdG91Y2h1cHMsIGFuZCBhZGQgcnRwIGJ5IGRlZmF1bHQgdG8gdGhlIGJ1aWxkIGlmIHRoZXJlIGFyZSBhbnkgcHJvYmxlbXMgYnVpbGRpbmcgcnRwLCB3ZSdyZSBtb3YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNvbWUgamFjayBmaXhlcywgYWxzYSB0b3VjaHVwcywgYW5kIGFkZCBydHAgYnkgZGVmYXVsdCB0byB0aGUgYnVpbGQKCSAgaWYgdGhlcmUgYXJlIGFueSBwcm9ibGVtcyBidWlsZGluZyBydHAsIHdlJ3JlIG1vdmluZyBpdCBiYWNrIHRvIGV4cGVyaW1lbnRhbCA7KQoKMjAwMi0wNC0yMCAyMTo0Mjo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMgZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zIGFuIGVsZW1lbnQgYnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcwoJICAqIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMKCSAgKiBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMKCSAgKiBhbiBlbGVtZW50IGJyb3dzZXIgdGhhdCB1c2VzIGRldGFpbHMtPmtsYXNzCgkgICogc2VwYXJhdGVkIGNkeGEgcGFyc2Ugb3V0IGZyb20gdGhlIGF2aSBkaXJlY3RvcnkKCjIwMDItMDQtMTYgMTc6MTQ6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBGaW5hbGx5IHdlJ3JlIG9uIHRvIGEgcHJvcGVyIGphY2sgc2V0dXAsIHdpdGggYSBzcGVjaWFsaXplZCBiaW4gYW5kIGVsZW1lbnRzIHRoYXQgY2FuIG9ubHkgZ28gaW4gYSBqYWNrIGJpbi4gSSBoYWQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpbmFsbHkgd2UncmUgb24gdG8gYSBwcm9wZXIgamFjayBzZXR1cCwgd2l0aCBhIHNwZWNpYWxpemVkIGJpbiBhbmQgZWxlbWVudHMKCSAgdGhhdCBjYW4gb25seSBnbyBpbiBhIGphY2sgYmluLiBJIGhhZCB0byBmaXggdGhlIHBhcnNlciBmaXJzdCB0byBkbyB0aGlzLCBidXQKCSAgdG8gcnVuIGl0LCB0aGUgc3ludGF4IGlzIGxpa2Ugc286CgkgIGdzdC1sYXVuY2ggamFja2Jpbi4oIGZpbGVzcmMgISBtYWQgISBqYWNrc2luayApCgkgIEJ1dCBvZiBjb3Vyc2UgaXQncyBub3QgZnVsbHkgZnVuY3Rpb25hbCB5ZXQuIFNpZ2guCgoyMDAyLTA0LTExIDIwOjQyOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURQoJICBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBhbHNvLCBzb21lIC1XZXJyb3IgZml4ZXMuCgoyMDAyLTAzLTMwIDIxOjA3OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFscGhhYmV0aXphdGlvbiBmaXhlbiBhIGphY2sgY2FwcyBmaXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYWxwaGFiZXRpemF0aW9uIGZpeGVuCgkgICogYSBqYWNrIGNhcHMgZml4CgoyMDAyLTAzLTMwIDE5OjMxOjEzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFkZCBub3RpZnkgYmFjayB0byBmaWxlc3JjLCBpdCdzIG5lZWRlZCBmb3IgTVZDIGFwcGxpY2F0aW9ucyByZW1vdmUgbm90aWZ5IHByaW50b3V0cyBmcm9tIGdzdC1sYXVuY2ggY2xlYW51cCBpbiBnc3QtcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhZGQgbm90aWZ5IGJhY2sgdG8gZmlsZXNyYywgaXQncyBuZWVkZWQgZm9yIE1WQyBhcHBsaWNhdGlvbnMKCSAgKiByZW1vdmUgbm90aWZ5IHByaW50b3V0cyBmcm9tIGdzdC1sYXVuY2gKCSAgKiBjbGVhbnVwIGluIGdzdC1wbHVnaW5zIGNvbmZpZ3VyZS5hYwoJICAqIHNvbWUgamFjayB1cGRhdGVzCgkgICogcmVtb3ZlIFNFTEZfSVRFUkFUSU5HIGZsYWcgaW4gZmF2b3Igb2YgU0VGX1NDSEVEVUxBQkxFIChub3QgYSBjbGVhciBuYW1lLAoJICBidXQgaXQncyB3aGF0IHdlIGhhdmUgZm9yIHRoZSBtb21lbnQpCgkgICogaW1wcm92ZSBwYXJzaW5nIG9mIHJlcXVlc3QgcGFkIG5hbWVzLCBubyBtb3JlIHNzY2FuZgoJICAqIGZpeGVzIHRvIHRoZSBmYXN0c2NoZWR1bGVyIE1ha2VmaWxlLmFtCgoyMDAyLTAzLTIwIDIxOjQ1OjA0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgoyMDAyLTAzLTE5IDA0OjEwOjA2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cwoJICAqIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGggdGhlIHBsdWdpbl9pbmZvIHN0cnVjdCwKCSAgYW5kIHN5bWJvbCByZXNvbHV0aW9uIGlzIGxhenksIHNvIHdlIGNhbiBhbHdheXMga25vdyBpZiBhIHBsdWdpbiBjYW4gYmUgbG9hZGVkIGJ5IHRoZSBwbHVnaW5faW5mbyBkYXRhLiBpbiB0aGVvcnkuCgoyMDAyLTAzLTE5IDAxOjM5OjQzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8KCSAgQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2ljYWxseSwKCSAgYW5kIHRoaXMgZ2l2ZXMgdGhlIHVzZXIgdGhlIGZyZWVkb20gdG8gc2F5IG1ha2UgR1NUX1BMVUdJTl9MREZMQUdTPS1teWZsYWcKCjIwMDItMDMtMTggMDQ6NDE6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9SRUFETUU6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBzL2dzdF9lbGVtZW50X2luc3RhbGxfc3RkX3Byb3BzL2dzdF9lbGVtZW50X2NsYXNzX2luc3RhbGxfc3RkX3Byb3BzLyAtLSBpdCBqdXN0IG1ha2VzIG1vcmUgc2Vuc2UgdGhhdCB3YXkgYWRkZWQgamFjayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcy9nc3RfZWxlbWVudF9pbnN0YWxsX3N0ZF9wcm9wcy9nc3RfZWxlbWVudF9jbGFzc19pbnN0YWxsX3N0ZF9wcm9wcy8gLS0gaXQganVzdCBtYWtlcyBtb3JlIHNlbnNlIHRoYXQgd2F5CgkgICogYWRkZWQgamFjayBlbGVtZW50LCBkb2Vzbid0IHF1aXRlIHdvcmsgcmlnaHQgeWV0IGJ1dCBpIGRpZG4ndCB3YW50IHRvIGxvc2UgdGhlIHdvcmsgLS0gaXQgZG9lcyBidWlsZCwgcmVnaXN0ZXIsCgkgIGFuZCBhdHRlbXB0IHRvIHJ1biB0aG91Z2gKCSAgKiBpbXBvc2VkIHNvbWUgcmVzdHJpY3Rpb25zIG9uIHRoZSBuYW1pbmcgb2YgcmVxdWVzdCBwYWRzIHRvIGJldHRlciBhbGxvdyBmb3IgcmV2ZXJzZSBwYXJzaW5nCgkgICogYWRkZWQgJyVzJyB0byByZXZlcnNlIHBhcnNpbmcKCSAgKiBhZGRlZCBuZXcgYmluIGZsYWcgdG8gaW5kaWNhdGUgdGhhdCBpdCBpcyBzZWxmLWl0ZXJhdGluZywgYW5kIHNvbWUgbGFtZSBjb2RlIGluIGdzdC1sYXVuY2ggdG8gdGVzdCBpdCBvdXQKCSAgKiBmaXhlbiBvbiBsYXVuY2gtZ3VpCgkgICogYWRkZWQgcGtnLWNvbmZpZyBzdHVmZiBmb3IgdGhlIGVkaXRvcidzIGxpYnMKCjIwMTEtMDEtMDIgMTE6Mzc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBtYXJrIHY0bDJzaW5rIGFzIGV4cGVyaW1lbnRhbCBhbmQgYnVpbGQgb25seSBpZiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgcGFzc2VkCgkgIEl0J3Mgbm90IHJlYWxseSBvZiAnZ29vZCcgcXVhbGl0eSB5ZXQsIGJ1dCB0aGVyZSdzIGEgbG90IG9mCgkgIGNvZGUgc2hhcmVkIHdpdGggdjRsMnNyYywgc28gbm90IHNvIGVhc3kgdG8gbW92ZSBpdCBlbHN3aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjI0NAoKMjAxMS0wMS0wMiAwMToyNDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIFJldmVydCAidjRsMjogYWRkIG5vcm0gcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWUxZDQxOWQwNzMzN2U2ZGIyY2MzOTM2NDcyYmUyMDVjZTkyN2U1NC4KCSAgUmV2ZXJ0aW5nIHRoaXMgc2luY2UgaXQgYWRkcyB1bnJldmlld2VkIGFuZCBiYWQgQVBJIHRvIHY0bDJzcmMKCSAgKHByb3BlcnR5IG9mIHR5cGUgZW51bSwgd2l0aCBzZWVtaW5nbHkgcmFuZG9tIGFuZCB1bnNvcnRlZCB2YWx1ZXMpLgoKMjAxMS0wMS0wMSAyMzoyNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy8uZ2l0aWdub3JlOgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvUkVBRE1FLmZpbHRlcnN0YW1wOgoJKiB0b29scy9maWx0ZXJzdGFtcC5zaDoKCSogdG9vbHMvZ3N0LWxhdW5jaC1leHQtbS5tOgoJKiB0b29scy9nc3QtbGF1bmNoLWV4dC4xLmluOgoJKiB0b29scy9nc3QtdmlzdWFsaXNlLW0ubToKCSogdG9vbHMvZ3N0LXZpc3VhbGlzZS4xLmluOgoJICB0b29sczogcmVtb3ZlIHVudXNlZCBsZWZ0LW92ZXIgZGlyZWN0b3J5CgkgIFRoZXNlIGFyZSBhbGwgaW4gLWJhc2UvdG9vbHMuCgoyMDEwLTEyLTMxIDEzOjU3OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSAgbXA0YWRlcGF5OiBpbXByb3ZlIHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgcGFja2V0cwoJICBJbXByb3ZlIHBhcnNpbmcgb2YgdGhlIHNhbXBsZXJhdGUuCgkgIFBhcnNlIHRoZSBmcmFtZWxlbiBzbyB0aGF0IHdlIGNhbiBjYWxjdWxhdGUgdGltZXN0YW1wcy4KCSAgV2hlbiBpbnRlcnBvbGxhdGUgdGhlIGluY29tbWluZyB0aW1lc3RhbXAgb24gb3V0Z29pbmcgYnVmZmVycyB3aGVuIHRoZXJlIGFyZQoJICBtdWx0aXBsZSBzdWJmcmFtZXMuCgkgIGZpeGVzICM2MjU4MjUKCjIwMTAtMTItMzEgMDI6MTY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgY2Fpcm8sIHZpZGVvZmlsdGVyOiB1c2UgZ3N0L21hdGgtY29tcGF0LmggaGVhZGVyIGZvciByaW50CgoyMDEwLTEyLTMwIDE0OjMwOjI3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBDaGVjayBmb3IgSEFWRV9SSU5UIGluc3RlYWQKCSAgQWxzbyBjaGFuZ2UgTV9QSSB0byBHX1BJIGZvciBnaWdnbGVzLgoKMjAxMC0xMi0zMCAxNDoyMTozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm86IERvbid0IHVzZSAjaWZkZWZzIGluc2lkZSBtYWNyb3MKCjIwMTAtMTItMzAgMTQ6MjA6NTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkqIGdzdC9nb29tL2lmcy5jOgoJKiBnc3QvZ29vbS9saW5lcy5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9paXJmaWx0ZXItZXhhbXBsZS5jOgoJICBDaGFuZ2UgTV9QSSB0byBHX1BJCgoyMDEwLTEyLTMwIDEyOjA3OjUyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiB1c2UgR19PU19XSU4zMiBmb3Igd2luZG93cyBjaGVjawoKMjAxMC0xMi0zMCAxNjoyNDoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIG1wNGFkZXBheTogZml4IHRpbWVzdGFtcHMgb24gYnVmZmVycwoKMjAxMC0xMi0zMCAxNjoyMjo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIG1wdnBheTogZml4IGZsdXNoaW5nIGFuZCBkaXNjb250CgkgIEZpeCBmbHVzaGluZyBhbmQgZGlzY29udHMuCgkgIENsZWFuIHVwIGluIHN0YXRlIGNoYW5nZXMuCgoyMDEwLTEyLTI5IDIzOjM4OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogaW5jcmVhc2UgYWxsb3dlZCBtYXguIGJsb2NrIHNpemUgZm9yIHB1c2ggbW9kZSBmcm9tIDEwTSB0byAxNU0KCSAgSXQgd2FzIGFuIGFyYml0cmFyeSBsaW1pdCBmcm9tIHRoZSBzdGFydCwgbWVhbnQgYXMgYSBiYXNpYyBzYW5pdHkgY2hlY2ssCgkgIHNvIG1heSBqdXN0IGFzIHdlbGwgaW5jcmVhc2UgaXQgYSBsaXR0bGUuIFdvdWxkIGJlIGdvb2QgdG8gcHJvdmlkZQoJICBwcm9ncmVzcyByZXBvcnRpbmcgd2hpbGUgY29tcGxldGluZyB0aGUgYmxvY2sgaW4gYW55IGNhc2UuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3MDYwCgoyMDEwLTEyLTI5IDIzOjA5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogYXNzdW1lIG1hdHJvc2thIGlmIG5vIGRvY3R5cGUgaXMgc3BlY2lmaWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzgwMTkKCjIwMTAtMTItMDQgMTM6NDM6MTEgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBhZGQgaW50ZXJsYWNlZCBzdXBwb3J0CgoyMDEwLTEwLTAyIDE0OjQ1OjE0IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIHY0bDJzaW5rOiBhZGQgbmF2aWdhdGlvbiBzdXBwb3J0CgoyMDEwLTA0LTA0IDA2OjQzOjQxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFkZCBub3JtIHByb3BlcnR5CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgR3Vlbm5hZGkgTGlha2hvdmV0c2tpLgoKMjAxMC0wNy0xMyAxMDowMzo1MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IGNsZWFudXAgZ2V0L3NldCBpbnB1dC9vdXRwdXQKCSAgb3V0cHV0IGRldmljZXMgc2hvdWxkIHVzZSBnZXQvc2V0IG91dHB1dCwgYW5kIGluIGVpdGhlciBjYXNlIHdlIHNob3VsZAoJICBub3QgcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UgaWYgdGhlIGlvY3RsIGZhaWxzIGJ1dCB0aGUgZGV2aWNlIGRvZXMgbm90CgkgIGNsYWltIHRvIHN1cHBvcnQgdGhlIHR1bmVyIGludGVyZmFjZQoKMjAxMC0wNi0xMCAxMToxNTo0NiAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICB2NGwyeG92ZXJsYXk6IGFkZCBzdXBwb3J0IHRvIGNyZWF0ZSB3aW5kb3cKCSAgSWYgeG92ZXJsYXkgaXMgYXZhaWxhYmxlLCB2NGwyc2luayBzaG91bGQgY3JlYXRlIGEgd2luZG93IGZvciB0aGUgb3ZlcmxheSB0bwoJICBkaXNwbGF5IGluLgoJICBUaGUgd2luZG93IGF1dG9tYXRpY2FsbHkgdHJpZXMgdG8gbWFrZSBpdHNlbGYgYXMgbGFyZ2UgYXMgcG9zc2libGUuCgkgIFRoaXMgd29ya3Mgd2VsbCBvbiBhIHNtYWxsIHNjcmVlbiwgYnV0IHBlcmhhcHMgc2hvdWxkIGZpcnN0IGF0dGVtcHQgdG8gdXNlCgkgIHRoZSBzaXplIG9mIHRoZSB2aWRlbyB0aGF0IGlzIHBsYXllZCAobm8gc2NhbGluZykuCgoyMDEwLTA0LTA0IDA2OjQxOjI4IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogc3BlY2lhbCBoYW5kbGluZyBmb3IgY2FzZXMgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkKCSAgU3BlY2lhbCBjYXNlIGNoZWNrIGZvciBzdWItYnVmZmVyczogIEluIGNlcnRhaW4gY2FzZXMsIHBsYWNlcyBsaWtlCgkgIEdzdEJhc2VUcmFuc2Zvcm0sIHdoaWNoIG1pZ2h0IGNoZWNrIHRoYXQgdGhlIGJ1ZmZlciBpcyB3cml0YWJsZSBiZWZvcmUgY29weWluZwoJICBtZXRhZGF0YSwgdGltZXN0YW1wLCBhbmQgc3VjaCwgd2lsbCBmaW5kIHRoYXQgdGhlIGJ1ZmZlciBoYXMgbW9yZSB0aGFuIG9uZQoJICByZWZlcmVuY2UgdG8gaXQuICBJbiB0aGVzZSBjYXNlcywgdGhleSB3aWxsIGNyZWF0ZSBhIHN1Yi1idWZmZXIgd2l0aCBhbiBvZmZzZXQ9MAoJICBhbmQgbGVuZ3RoIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBidWZmZXIgc2l6ZS4KCSAgVGhpcyBjb3VsZCBoYXBwZW4gaW4gdHdvIHNjZW5hcmlvczogKDEpIGEgdGVlIGluIHRoZSBwaXBlbGluZSwgYW5kICgyKSBiZWNhdXNlCgkgIHRoZSByZWZjbnQgaXMgaW5jcmVtZW50ZWQgaW4gZ3N0X21pbmlfb2JqZWN0X2ZyZWUoKSBiZWZvcmUgdGhlIGZpbmFsaXplIGZ1bmN0aW9uCgkgIGlzIGNhbGxlZCwgYW5kIGRlY3JlbWVudGVkIGFmdGVyIGl0IHJldHVybnMuLiAgYnV0IHJldHVybmluZyB0aGlzIGJ1ZmZlciB0byB0aGUKCSAgYnVmZmVyIHBvb2wgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uLCBjb3VsZCB3YWtlIHVwIGEgdGhyZWFkIGJsb2NrZWQgaW4KCSAgX2J1ZmZlcl9hbGxvYygpIHdoaWNoIGNvdWxkIHJ1biBhbmQgZ2V0IGEgYnVmZmVyIHcvIHJlZmNudD09MiBiZWZvcmUgdGhlIHRocmVhZAoJICBvcmlnaW5hbGx5IHVucmVmJ2luZyB0aGUgYnVmZmVyIHJldHVybnMgZnJvbSBmaW5hbGl6ZSBmdW5jdGlvbiBhbmQgZGVjcmVtZW50cwoJICB0aGUgcmVmY250IGJhY2sgdG8gMSEKCSAgVGhpcyBpcyByZWxhdGVkIHRvIGlzc3VlICM1NDU1MDEKCjIwMTAtMDQtMDQgMDY6Mzk6NTIgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCByYWNlIGNvbmRpdGlvbgoJICBUaGUgc2l6ZSBvZiB0aGUgYnVmZmVyIHdvdWxkIGJlIHplcm8nZCBvdXQgaW4gZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKCkKCSAgYWZ0ZXIgdGhlIGJ1ZmZlciBpcyBxYnVmJ2Qgb3IgcHVzaGVkIG9udG8gdGhlIHF1ZXVlIG9mIGF2YWlsYWJsZSBidWZmZXJzLi4KCSAgbGVhdmluZyBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIHRoZSB0aHJlYWQgd2FpdGluZyBmb3IgdGhlIGJ1ZmZlciBjb3VsZCBhd2FrZQoJICBhbmQgc2V0IGJhY2sgYSB2YWxpZCBzaXplIGJlZm9yZSB0aGUgZmluYWxpemluZyB0aHJlYWQgemVyb3Mgb3V0IHRoZSBsZW5ndGguCgkgIFRoaXMgd291bGQgcmVzdWx0IHRoYXQgdGhlIG5ld2x5IGFsbG9jYXRlZCBidWZmZXIgaGFzIGxlbmd0aCBvZiB6ZXJvLgoKMjAxMC0wNC0wNCAwNjozOTowOCAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSAgdjRsMnNpbms6IGFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgY3JvcAoKMjAxMC0wNC0wNCAwNjozNzoxNiAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgdjRsMjogcmUtZW5hYmxlIHgtb3ZlcmxheSBzdXBwb3J0CgoyMDEwLTEyLTI1IDExOjUyOjM2IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZml4IGZvciBQQVVTRUQtPlJFQURZLT5QQVVTRUQgc3RhdGUgdHJhbnNpdGlvbnMKCSAgV2hlbiB2NGwyc2luayBnb2VzIHRvIFBBVVNFRC0+UkVBRFkgaXQgb25seSBzdG9wcyBzdHJlYW1pbmcsIHNvIHRoZSBzdGF0ZQoJICBzaG91bGQgYmUgc2V0IHRvIFNUQVRFX1BFTkRJTkdfU1RSRUFNT04gaW4gY2FzZSB0aGUgZWxlbWVudCB0cmFuc2l0aW9ucwoJICBiYWNrIHRvIFBMQVlJTkcuCgoyMDEwLTA0LTA0IDA2OjI4OjUxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICB2NGwyc2luazogYWRkICJtaW4tcXVldWVkLWJ1ZnMiIHByb3BlcnR5CgoyMDEwLTA0LTA0IDA2OjI2OjUwIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzaW5rOiBBZGQgc3VwcG9ydCBmb3IgYmxvY2tpbmcgZGVxdWV1ZS4KCSAgV2UnZCBwcmVmZXIgdG8gdGhyb3R0bGUgdGhlIGRlY29kZXIgaWYgd2UgcnVuIG91dCBvZiBidWZmZXJzLCB0byBrZWVwIGEgYm91bmQKCSAgb24gbWVtb3J5IHVzYWdlLiAgQWxzbywgZm9yIE9NQVA0IGl0IGlzIGEgcmVxdWlyZW1lbnQgb2YgdGhlIGRlY29kZXIgdG8gbm90CgkgIGFsdGVybmF0ZSBiZXR3ZWVuIG1lbW9yeSBhbGxvY2VkIGJ5IHRoZSBkaXNwbGF5IGRyaXZlciBhbmQgbWFsbG9jJ2QgdXNlcnNwYWNlCgkgIG1lbW9yeS4KCjIwMTAtMDQtMDQgMDY6MjQ6NDEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGNsZWFyIGZsYWdzIGJlZm9yZSByZXVzaW5nIGJ1ZmZlciBmcm9tIGJ1ZmZlciBwb29sCgkgIG5vdGU6IHRoaXMgcmVhbGx5IG9ubHkgYWZmZWN0cyB2NGwyc2luayBzaW5jZSBnc3RfdjRsMl9idWZmZXJfcG9vbF9nZXQoKSBpcwoJICBvbmx5IGNhbGxlZCBvbmNlIHBlciBidWZmZXIgaW4gdGhlIHY0bDJzcmMgY2FzZSAoaW4KCSAgZ3N0X3Y0bDJzcmNfYnVmZmVyX3Bvb2xfYWN0aXZhdGUoKSkKCjIwMTAtMDQtMDQgMDY6MjM6MzEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBkb24ndCByZW5kZXIgcHJlcm9sbCBidWZmZXJzCgkgIE1vc3QgdjRsMiBkcml2ZXJzIHdpbGwgZ2V0IHVwc2V0IHdoZW4geW91IHF1ZXVlIHRoZSBzYW1lIGJ1ZmZlciB0d2ljZSBpbiBhCgkgIHJvdyB3aXRob3V0IGZpcnN0IGRlcXVldWVpbmcgaXQuCgkgIFJlbmRlcmluZyBvZiBwcmUtcm9sbCBidWZmZXJzIGNhbiBiZSByZS1pbnRyb2R1Y2VkIGxhdGVyLCBidXQgd2lsbCByZXF1aXJlCgkgIHRyYWNraW5nIHRoZSBzdGF0ZSBvZiB0aGUgYnVmZmVyLCBhbmQgYXZvaWRpbmcgdG8gcmUtUUJVRiBpZiB0aGUgYnVmZmVyIGhhcwoJICBhbHJlYWR5IGJlZW4gcGFzc2VkIHRvIHRoZSBkcml2ZXIuCgoyMDEwLTA0LTA0IDA2OjIyOjQzIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogSW1wcm92ZSBiZWhhdmlvciBmb3Igc2hhcmVkIGJ1ZmZlcnMuCgkgIFdoZW4gdGhlIGRlY29kZXIgaXMgdXNpbmcgcGFkX2FsbG9jKCksIHY0bDJzaW5rIHdvdWxkIGJlaGF2ZSBiYWRseSBpZgoJICB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgKCdxdWV1ZS1zaXplJyBwcm9wZXJ0eSkgd2FzIG5vdCBoaWdoIGVub3VnaCB0bwoJICBhY2NvdW50IGZvciBhbGwgdGhlIGJ1ZmZlcnMgbmVlZGVkIGJ5IHRoZSBkZWNvZGVyLCBhbmQgb3RoZXIgZWxlbWVudHMKCSAgKHN1Y2ggYXMgcXVldWVzKSBiZXR3ZWVuIHRoZSBkZWNvZGVyIGFuZCB2NGwyc2luay4gIFRoaXMgcGF0Y2gKCSAgc2xpZ2h0bHkgaW5jcmVhc2VzIHRoZSBkZWZhdWx0IG51bWJlciBvZiBidWZmZXJzLCBhbmQgY2hhbmdlcyB2NGwyc2luawoJICB0byBkcm9wIGZyYW1lcyByYXRoZXIgdGhhbiByZXR1cm4gYW4gZXJyb3IgaW4gY2FzZSB0aGUgbnVtYmVyIG9mCgkgIGJ1ZmZlcnMgaXMgbm90IGhpZ2ggZW5vdWdoLgoKMjAxMC0xMS0xNSAxNTo1ODoyOCArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgYWRkICJjbGllbnQiIHByb3BlcnR5CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmMgKGdzdF9wdWxzZXNyY19jbGFzc19pbml0LCBnc3RfcHVsc2VzcmNfaW5pdCkKCSAgKGdzdF9wdWxzZXNyY19zZXRfcHJvcGVydHksIGdzdF9wdWxzZXNyY19nZXRfcHJvcGVydHkpCgkgIChnc3RfcHVsc2VzcmNfb3Blbik6IEFkZCBhICJjbGllbnQiIHByb3BlcnR5LCBhcyBpbiBwdWxzZXNpbmsuCgkgIEZpeGVzICM2MzQ5MTQKCjIwMTAtMTItMjkgMTU6NTQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXJpYWxpc2UvZGVzZXJpYWxpc2UgZmxvYXRzIHdpdGhvdXQgY2hhbmdpbmcgbG9jYWxlCgkgIFVzZSBnX2FzY2lpX2R0b3N0cigpIGFuZCBnX2FzY2lpX3N0cnRvZCgpIHRvIHNlcmlhbGlzZS9kZXNlcmlhbGlzZQoJICBmbG9hdGluZyBwb2ludCBudW1iZXJzLCBpbnN0ZWFkIG9mIHVnbHkgaGFja3MgdGhhdCBzd2l0Y2ggbG9jYWxlCgkgIGJlZm9yZSBhbmQgYWZ0ZXIgY2FsbGluZyBsaWJjIGZ1bmN0aW9ucyAod2hpY2ggaXMgbm90IGEgZ29vZCBpZGVhCgkgIGluIGEgbXVsdGktdGhyZWFkZWQgYXBwbGljYXRpb24pLgoKMjAxMC0xMi0yOSAxNDo0MDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IGZpeCBmcmFtZXJhdGUgcGFyc2luZyBmb3IgbG9jYWxlcyB0aGF0IHVzZSBhIGNvbW1hIGFzIGZsb2F0aW5nIHBvaW50CgkgIGF0b2YoKSBjb252ZXJ0cyBzdHJpbmdzIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUsIGJ1dCB0aGUKCSAgZnJhbWVyYXRlIHN0cmluZyB3aWxsIGxpa2VseSBhbHdheXMgdXNlIGEgZG90IGFzIGZsb2F0aW5nIHBvaW50CgkgIHNlcGFyYXRvciwgc28gdXNlIGdfYXNjaWlfc3RydG9kKCkgaW5zdGVhZCAoYnV0IGFsc28gY2Fub25pY2FsaXNlCgkgIHRoZSBzdHJpbmcgYmVmb3JlLCBzbyB3ZSBjYW4gaGFuZGxlIGJvdGggZm9ybWF0cyBhcyBpbnB1dCkuCgoyMDEwLTEyLTI3IDEzOjExOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXNlIHRoZSByaWdodCB2YXJpYWJsZQoJICBVc2UgdGhlIHJpZ2h0IHZhcmlhYmxlIGZvciBzcGVjaWZ5aW5nIHRoYXQgd2Ugc2VudCBhIHJlY2VpdmVyIHJlcG9ydC4KCjIwMTAtMTItMjMgMTY6NDI6MjkgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCB0eXBvCgoyMDEwLTEyLTIzIDE2OjAzOjAwIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGFkZCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgcHJvcGVydGllcyBmb3IgaDI2NAoKMjAxMC0xMi0yMiAxMTo0MTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogZml4IGtsYXNzLCBhZGQgUlRQIGFzIGEgdXNlIGNhc2UKCjIwMTAtMTItMTIgMTU6MTA6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBjbGVhbnVwIHRoZSBjYWNoZQoKMjAxMC0xMi0xMiAwNToxMDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBnc3RwYXkvZGVwYXk6IGFkZCBnZW5lcmljIGdzdHJlYW1lciBwYXlsb2FkZXIKCSAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGEgZ2VuZXJpYyBHU3RyZWFtZXIgYnVmZmVycyBwYXlsb2FkZXIuCgoyMDEwLTEyLTIzIDE3OjA2OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgIG1wNGdwYXk6IHJlc2V0IHN0YXRlIG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjMgMTY6MjY6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IGZsdXNoIHN0YXRlIG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjMgMTY6MjU6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9uLW5wdC1zdG9wIGlzIGEgbWFuYWdlciBzaWduYWwKCjIwMTAtMTItMjMgMTU6MjQ6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wcm92ZSBSVFAgc2Vzc2lvbiBoYW5kbGluZwoJICBTdG9yZSB0aGUgUlRQIHNlc3Npb24gaW4gdGhlIHN0cmVhbSBzbyB0aGF0IHdlIGNhbiBtb3JlIGVmZmljaWVudGx5CgkgIHBlcmZvcm0gYWN0aW9ucyBvbiB0aGUgc3RyZWFtIGJhc2VkIG9uIFJUUCBzaWduYWxzLgoKMjAxMC0xMi0yMyAxMzo1NTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGluY2x1ZGUgbGFzdCBzZW5kIFJCIGJsb2NrCgkgIE9ubHkgcmVwb3J0IFJCIHZhbHVlcyBmb3Igbm9uLWludGVybmFsIHNvdXJjZXMuCgkgIFJlcG9ydCBub3Qgb25seSB0aGUgUkIgYmxvY2tzIHdlIGxhc3QgcmVjZWl2ZWQgZnJvbSBidXQgYWxzbyB0aGUgbGFzdCBSQgoJICBibG9jayB3ZSBzZW50IHRvIGEgc291cmNlLgoKMjAxMC0xMi0yMyAxMzo1Mjo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IHJlbWVtYmVyIGxhc3Qgc2VudCBSQiB2YWx1ZXMuCgoyMDEwLTEyLTIzIDEzOjAwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogaW5jbHVkZSBhbGwgc3RhdHMgYW5kIGRvY3VtZW50CgkgIEluY2x1ZGUgYWxsIHBvc3NpYmxlIHN0YXRzIG9mIGEgc291cmNlIGluIHRoZSBzdGF0cyBzdHJ1Y3R1cmUgYmVjYXVzZSB3ZSBtaWdodAoJICBiZSBpbnRlcmVzdGVkIGluIHdoYXQgaGFwcGVuZWQgaW4gdGhlIHBhc3QuCgkgIERvY3VtZW50IHRoZSBzdGF0cyBwcm9wZXJ0eSBhbmQgdGhlIGZpZWxkcy4KCjIwMTAtMTItMjMgMTI6NTk6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSAgZXhhbXBsZXM6IGFkZCBleGFtcGxlIFJUUCBzdGF0cwoJICBBZGQgc29tZSBtb3JlIFJUUCBleGFtcGxlcyBmb3IgaG93IHRvIHJldHJpZXZlIFJUUCBzdGF0cyBpbiBhIHJlY2VpdmVyLgoKMjAxMC0xMi0yMyAxMjo1ODowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWxzbyBlbWl0IFJUQ1AgYWN0aXZpdHkgb24gU1IKCSAgQWxzbyBlbWl0IFJUQ1AgYWN0aXZpdHkgc2lnbmFscyB3aGVuIHdlIHJlY2VpdmUgYW4gU1IgcGFja2V0IHdpdGhvdXQgUkIgYmxvY2tzLAoJICBzdWNoIGFzIGZyb20gYSBzZW5kZXIgdGhhdCBpcyBub3QgcmVjZWl2aW5nIGFueXRoaW5nLgoKMjAxMC0xMi0yMyAxMToxMDo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBkb2NzOiBhZGQgc29tZSBtb3JlIGdzdHJ0cGJpbiBkb2NzCgoyMDEwLTEyLTIyIDIxOjI3OjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiByZW1vdGUgaXMgYSBib29sZWFuIChhbmQgbm90IHVpbnQpIHByb3BlcnR5CgoyMDEwLTEyLTIyIDE5OjU4OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKQoJICBVc2luZyB0aGlzIGluIGEgZGVtdXhlciB3aWxsIGNhdXNlIGRlYWRsb2NrcyBpZiB0aGVyZSdzCgkgIGEgcGFkIHdpdGggYSBwZW5kaW5nIHBhZC1ibG9jayBkb3duc3RyZWFtLCBubyBtYXR0ZXIgaWYKCSAgdGhlcmUgaXMgYSBxdWV1ZSBiZXR3ZWVuIHRoZSBwYWQgb3Igbm90LiBRdWV1ZXMgcGFzcwoJICBidWZmZXJhbGxvYyBkb3duc3RyZWFtIGZyb20gdGhlIHNhbWUgdGhyZWFkIGFuZCBvbmx5CgkgIGFjdCBhcyBhIHRocmVhZCBib3VuZGFyeSBmb3IgZXZlbnRzIGFuZCBidWZmZXJzLgoKMjAxMC0xMi0yMiAxNDoxNDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggc3VidGl0bGUgcGFkIHRlbXBsYXRlLCB3ZSBvbmx5IGhhbmRsZSBrYXRlIGZvciBub3cKCjIwMTAtMTItMTYgMTE6NDQ6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBkb2NzOiB1cGRhdGUgcnRzcHNyYyBkb2NzLCBydHBiaW4gaXMgbm90IGluIC1iYWQgYW55IG1vcmUKCjIwMTAtMTItMjIgMTE6NDI6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVubG9jayBiZWZvcmUgZW1pdHRpbmcgc2lnbmFscwoKMjAxMC0xMi0yMSAyMjozNDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkgIHJ0cGFjM3BheTogYWRkIEFDMyBwYXlsb2FkZXIKCjIwMTAtMTItMjEgMjI6MTc6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkgIGFjM2RlcGF5OiBmaXggZGVidWcgY2F0ZWdvcnkgZGVzY3JpcHRpb24KCjIwMTAtMTItMjEgMjI6MTY6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBtcGFwYXk6IGFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMC0xMi0yMCAxNDo0OTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJICBqcGVnZW5jOiBBZGRzIGFub3RoZXIgdGVzdCBjYXNlCgkgIEFkZHMgYSB0ZXN0IGZvciBqcGVnZW5jIHRvIGNoZWNrIHRoYXQgaXMgcG9zc2libGUgdG8gbmVnb3RpYXRlIGFuZAoJICBwdXNoIGJ1ZmZlcnMgd2l0aCBkaWZmZXJlbnQgcmVzb2x1dGlvbiBvbmUgYWZ0ZXIgYW5vdGhlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzY4NgoKMjAxMC0xMi0yMSAxMzozNzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHNpbmsgcGFkJ3MgZ2V0Y2FwcyBzaG91bGRuJ3QgdXNlIHRoZSBzcmMgcGFkIGdldGNhcHMKCSAgSW5zdGVhZCBvZiB1c2luZyBnZXRfYWxsb3dlZF9jYXBzIG9uIHRoZSBzcmNwYWQsIHRoZSBzaW5rcGFkIGdldGNhcHMKCSAgc2hvdWxkIHVzZSB0aGUgZ2V0Y2FwcyBvZiB0aGUgc3JjcGFkJ3MgcGVlci4gVGhpcyB3YXkgdGhlIHNyY3BhZAoJICBjYW4ga2VlcCB1c2luZyBmaXhlZF9jYXBzIGFuZCBzaW5rcGFkIGdldGNhcHMgZXhwb3NlcyBhbGwgY2FwcwoJICB0aGF0IGNhbiBiZSBuZWdvdGlhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc2ODYKCjIwMTAtMTItMjEgMTY6NTg6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogYWRkIFJUUCBoaW50IHRvIHRoZSBrbGFzcwoKMjAxMC0xMi0yMSAxNjo0OToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBmaXggcmFuayBvZiBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMKCSAgU2V0IHRoZSBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMgdG8gYSByZWFzb25hYmxlIHJhbmsuCgoyMDEwLTEyLTIxIDE1OjI0OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiByZXNldCBkZXBheWxvYWRlciBzdGF0ZQoJICBSZXNldCB0aGUgZGVwYXlsb2FkZXIgc3RhdGUgb24gZmx1c2gtc3RvcC4KCjIwMTAtMTItMjEgMTU6MDc6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIG1wNHBheTogdXNlIHZtZXRob2QgZm9yIGludGVyY2VwdGluZyBldmVudHMKCjIwMTAtMTItMjEgMTM6NTU6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IGNsZWFyIHBhY2tldCBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIxIDEzOjQ5OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgdm9yYmlzcGF5OiBjbGVhciBwYWNrZXQgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMSAxMjozMTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogcmVzZXQgZGVwYXlsb2FkZXIgc3RhdGUKCjIwMTAtMTItMjEgMTI6Mjk6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgaDI2NHBheTogZmx1c2ggYWRhcHRlciBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIwIDE4OjQ5OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiBmbHVzaCBsYXN0IHBhY2tldHMgb24gRU9TCgoyMDEwLTEyLTIwIDE3OjQ3OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTY5NDYyYSB0byA0NjQ0NWFkCgoyMDEwLTEyLTIwIDE2OjUxOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiByZXNldCBwYXlsb2FkZXIgb24gc3RhdGUgY2hhbmdlCgoyMDEwLTEyLTIwIDE2OjA1OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiByZXNldCBwYXlsb2FkZXIgb24gZmx1c2gKCSAgUmVzZXQgdGhlIHBheWxvYWRlciBvbiBhIGZsdXNoIGV2ZW50LgoJICBIYW5kbGUgRElTQ09OVCBiZXR0ZXIuCgoyMDEwLTEyLTIwIDE1OjU0OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZ2V0IGJldHRlciBidWZmZXJpbmcgbGV2ZWwKCSAgV2hlbiB0aGUgaml0dGVyYnVmZmVyIGNvbnRhaW5zIC0xIHRpbWVzdGFtcHMsIG1ha2Ugc3VyZSB3ZSBzdGlsbCBjYWxjdWxhdGUgdGhlCgkgIGJ1ZmZlciBmaWxsIGxldmVsIGJ5IHNraXBwaW5nIHRoZSAtMSBidWZmZXJzLgoJICBUcnkgdG8gYmUgbW9yZSByZXNpbGllbnQgdG8gd2VpcmQgaW5wdXQgdGltZXN0YW1wcy4KCjIwMTAtMTItMjAgMTE6MTA6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwcm92aWRlIGEgY2xvY2suCgkgIHNpbmNlIHdlIGFyZSB1c2luZyB0aGUgY2xvY2sgZm9yIHN5bmMsIHdlIG5lZWQgdG8gYWxzbyBwcm92aWRlIGEgY2xvY2sgZm9yIGdvb2QKCSAgbWVhc3VyZS4gVGhlIHJlYXNvbiBpcyB0aGF0IGV2ZW4gaWYgZG93bnN0cmVhbSBlbGVtZW50cyBwcm92aWRlIGEgY2xvY2ssIHdlCgkgIGRvbid0IHdhbnQgdG8gaGF2ZSB0aGF0IGNsb2NrIHNlbGVjdGVkIGJlY2F1c2UgaXQgbWlnaHQgbm90IGJlIHJ1bm5pbmcgeWV0LgoKMjAxMC0xMi0yMCAxMDo0OTo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGNvcHkgYnVmZmVyaW5nIHN0YXRzCgkgIHdoZW4gd2UgY3JlYXRlIGFuIGFnZ3JlZ2F0ZSBidWZmZXJpbmcgbWVzc2FnZSwgY29weSB0aGUgYnVmZmVyaW5nIHN0YXRzIGZvcm0gdGhlCgkgIGxhc3QgbWVzc2FnZS4gQXQgbGVhc3Qgd2UgZ2V0IGNvcnJlY3QgYnVmZmVyaW5nIG1vZGUgdGhlbi4KCjIwMTAtMTItMTkgMTE6MDI6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB3YXZlbmM6IEZpeCBtZW1vcnkgbGVha3MgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0xMi0xOSAxMDo1ODoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgcmFkaW9hY3R2OiBQcmV2ZW50IHVzZSBvZiB1bmluaXRpYWxpemVkIHZhbHVlcwoJICBGaXhlcyBidWcgIzYxODY1Mi4KCjIwMTAtMTItMTkgMTA6MjI6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogRG9uJ3QgbGVhayBwYWQgdGVtcGxhdGVzIGNyZWF0ZWQgZnJvbSBzdGF0aWMgcGFkIHRlbXBsYXRlcwoKMjAxMC0xMS0yOSAxMjozNjowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICB4aW1hZ2VzcmM6IGNoYW5nZSBmcm9tIFhHZXRJbWFnZSB0byBYR2V0U3ViSW1hZ2UgZGVwZW5kYW50IG9uIGEgcHJvcGVydHkKCSAgeGltYWdlc3JjOiBjaGFuZ2UgZnJvbSBYR2V0SW1hZ2UgdG8gWEdldFN1YkltYWdlIGRlcGVuZGFudCBvbiBhIHByb3BlcnR5CgkgIHRvIGF2b2lkIHVubmVjZXNzYXJ5IHBlcmZvcm1hbmNlIGhpdHMgYnkgZGVmYXVsdC4KCjIwMTAtMTEtMjggMTY6MDQ6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiB1c2UgWEdldFN1YkltYWdlIGluc3RlYWQgb2YgWEdldEltYWdlLCB3b3JrcyB3aXRoIHJlbW90ZSBYCgkgIHhpbWFnZXNyYzogdXNlIFhHZXRTdWJJbWFnZSBpbnN0ZWFkIG9mIFhHZXRJbWFnZSwgd29ya3Mgd2l0aCByZW1vdGUgWAoJICAob24gbXkgc2V0dXAgYW55d2F5Li4uKQoKMjAxMC0xMS0yNyAxNzoxNTozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IGZpeCB2YXJpb3VzIHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbnMgYmVpbmcgb2ZmIGJ5IG9uZSwKCSAgeGltYWdlc3JjOiBmaXggdmFyaW91cyB3aWR0aC9oZWlnaHQgY2FsY3VsYXRpb25zIGJlaW5nIG9mZiBieSBvbmUsCgkgIGFuZCBtYWtlIGl0IHNvIGEgc2luZ2xlIHBpeGVsIHdpZHRoL2hlaWdodCBjYW4gYmUgY2FwdHVyZWQgKGV4Y2VwdAoJICB0aGUgdG9wIGxlZnQgb25lLCBhcyAwLDAsMCwwIGlzIHJlc2VydmVkIGZvciBmdWxsIHNjcmVlbiBhcyBwZXIKCSAgdGhlIHByb3BlcnR5IGNvbW1lbnRzKS4KCjIwMTAtMTItMTcgMTk6MTk6MzUgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgZml4IGNvbXBpbGUgZXJyb3JzIG9uIG1hY29zeAoJICB3aXRoIGk2ODYtYXBwbGUtZGFyd2luMTAtZ2NjLTQuMi4xOgoJICBnc3R2NGwyb2JqZWN0LmM6IEluIGZ1bmN0aW9uICdnc3RfdjRsMl9vYmplY3RfZ2V0X25lYXJlc3Rfc2l6ZSc6CgkgIGdzdHY0bDJvYmplY3QuYzoxOTg4OiB3YXJuaW5nOiBmb3JtYXQgJyV1JyBleHBlY3RzIHR5cGUgJ3Vuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCAxMiBoYXMgdHlwZSAnZ2ludCAqJwoJICBnc3R2NGwyb2JqZWN0LmM6MTk4ODogd2FybmluZzogZm9ybWF0ICcldScgZXhwZWN0cyB0eXBlICd1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgMTMgaGFzIHR5cGUgJ2dpbnQgKicKCjIwMTAtMTItMTcgMTU6Mzg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBkZXRlcm1pbmUgb3V0cHV0IGgyNjQgbGF5b3V0IHVzaW5nIGNhcHMgbmVnb3RpYXRpb24KCSAgLi4uIHRoZXJlYnkgKHBhcnRpYWxseSkgZGVwcmVjYXRpbmcgcHJvcGVydGllcyBjdXJyZW50bHkgY29udHJvbGxpbmcgd2hldGhlcgoJICBvciBub3QgYnl0ZS1zdHJlYW0gb3V0cHV0IG9yIE5BTC9BVSBhbGlnbm1lbnQgKHRob3VnaCBwcm9wZXJ0aWVzIHN0aWxsIGRldGVybWluZQoJICBmYWxsYmFjayBpZiBub3RoaW5nIHNwZWNpZmllZCBpbiBjYXBzKS4KCSAgRml4ZXMgIzYwNjY2Mi4KCjIwMTAtMTItMTYgMTg6NTU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IGhhbmRsZSBFT0MgY29ycmVjdGx5CgkgIERvbid0IGluY2x1ZGUgdGhlIG5leHQgMiBieXRlcyB3aGVuIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBkYXRhIGFuZCB0aGVyZSBhcmUKCSAgbm8gbW9yZSBieXRlcyBsZWZ0LgoKMjAxMC0xMi0xNiAxNToxNTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZmx1c2ggcmVtYWluaW5nIGJ1ZmZlcmVkIHNhbXBsZXMgb24gRU9TCgkgIC4uLiB3aGljaCBjYW4gbWFrZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiBhbGwgb3Igbm90aGluZyB3aGVuIGRlYWxpbmcKCSAgd2l0aCBzaG9ydCBzdHJlYW1zIGFuZCByZWxhdGl2ZWx5IGxhcmdlIHJpbmdidWZmZXIgc2VnbWVudC4KCjIwMTAtMTItMTYgMTA6MDQ6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDaGFuZ2UgY2xhc3NpZmljYXRpb24gdG8gRmlsdGVyL0VmZmVjdC9WaWRlby9EZWludGVybGFjZQoKMjAxMC0xMi0xNSAxODoyMTozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IEluaXRpYWxpemUgYWxsIGZpZWxkcwoJICBNYWtlcyBzYWQgY29tcGxpZXJzIGhhcHB5CgoyMDEwLTEyLTE1IDE2OjIyOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBjbGVhbnVwIGhlYWRlciBjb25zdHJ1Y3Rpb24KCSAgVXNlIGEgc2ltcGxlciB3YXkgb2YgY29uc3RydWN0aW5nIHRoZSBoZWFkZXIgdGhhdCBkb2Vzbid0IGRlcGVuZCBvbgoJICB0aGUgZW5kaWFubmVzcy4KCjIwMTAtMTItMTUgMTM6MzA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRlcGVuZCBvbiAtYmFzZSBmcm9tIGdpdCBmb3IgbmV3IHJ0cCBiYXNlIGRlcGF5bG9hZGVyIGZlYXR1cmVzCgkgIFRoaXMgaXMgb2sgaW4gdGhpcyBjYXNlLCBzaW5jZSB0aGUgcGxhbiBpcyB0byByZWxlYXNlIGNvcmUvYmFzZSBhZ2FpbgoJICBhbG9uZyB3aXRoIGdvb2QvdWdseS9iYWQgaW4gdGhlIG5leHQgY3ljbGUuCgoyMDEwLTEyLTE1IDE0OjU1OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIwNzQyYWUgdG8gMTY5NDYyYQoKMjAxMC0xMi0xNSAxMzoxMjowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJICBqMmtkZXBheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoKMjAxMC0xMi0xNCAxODoxMjo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZml4IGF2ZXJhZ2UgUlRDUCBwYWNrZXQgc2l6ZSBzb21lIG1vcmUuCgkgIEZpeCBzdHVwaWQgZXJyb3IgaW4gYXZlcmFnaW5nIG1hY3JvLgoJICBJbmNsdWRlIHVkcCBoZWFkZXJzIGluIHBhY2tldCBsZW5ndGggZXN0aW1hdGlvbi4KCjIwMTAtMTItMTQgMTc6MTU6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cGJpbjogY29ycmVjdGx5IGNhbGN1bGF0ZSBSVENQIHBhY2tldCBzaXplCgoyMDEwLTEyLTE0IDE1OjI3OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBzdG9wIHNjYW5uaW5nIHdoZW4gd2UgcmVhY2hlZCB0aGUgZW5kCgkgIFN0b3Agc2Nhbm5pbmcgZm9yIG1hcmtlcnMgd2hlbiB3ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIGRhdGEuCgoyMDEwLTEyLTEzIDE2OjIzOjI0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAxMWJjYzggdG8gMjA3NDJhZQoKMjAxMC0xMi0xMyAxMjo1NjoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIGxlYWtpbmcgc2luayBldmVudHMKCSAgQXZvaWQgbGVha2luZyB0aGUgbmV3c2VnbWVudCBldmVudCB3aGVuIGl0IGhhcyB0aGUgd3JvbmcgZm9ybWF0LgoKMjAxMC0xMi0xMiAxNDo1MzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBtcDR2cGF5OiB3ZSBjYW4gYWxzbyBhY2NlcHQgeHZpZCBjYXBzCgoyMDEwLTEyLTEyIDAxOjM5OjA2ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEF2b2lkIGluZmluaXRlIGxvb3AgZHJhaW5pbmcgZnJhbWVzCgkgIFdoZW4gdGhlIHBpcGVsaW5lIGlzIGZsdXNoZWQganVzdCBhcyB3ZSdyZSBkcmFpbmluZyBoaXN0b3J5LAoJICBkb24ndCBsb29wIGluZmluaXRlbHksIGp1c3QgZGlzY2FyZCB0aGUgaGlzdG9yeSBhbmQgYWJvcnQuCgoyMDEwLTEyLTExIDE3OjM5OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBhZGQgIm1heC1lcnJvcnMiIHByb3BlcnR5IHRvIGlnbm9yZSBkZWNvZGluZyBlcnJvcnMKCSAgQWRkIHByb3BlcnR5IHRvIGlnbm9yZSBkZWNvZGluZyBlcnJvcnMuIERlZmF1bHQgaXMgdG8gaWdub3JlIGEgZmV3CgkgIGRlY29kaW5nIGVycm9ycyBpZiB0aGUgaW5wdXQgaXMgcGFja2V0aXplZCwgYnV0IGVycm9yIG91dCBpbW1lZGlhdGVseQoJICBpZiB0aGUgaW5wdXQgaXMgbm90IHBhY2tldGl6ZWQuCgkgIElnbm9yaW5nIGVycm9ycyBmb3IgcGFja2V0aXplZCBpbnB1dCBtb3N0IGxpa2VseSBkb2Vzbid0IHdvcmsKCSAgcHJvcGVybHkgeWV0LCBzbyBkb24ndCBkbyB0aGF0IGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMwNjMKCjIwMTAtMDUtMjggMTU6Mjc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBmcmVlL21hbGxvYyBpbnN0ZWFkIG9mIHJlYWxsb2MsIGF2b2lkcyBtZW1jcHkKCjIwMTAtMTItMTEgMTc6NDk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBpZiB0aGVyZSdzIGFjdHVhbGx5IGEgc2VlayB0YWJsZSBiZWZvcmUgcGFyc2luZyBpdAoKMjAxMC0xMi0xMSAxNzo0NjoxNyArMDEwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEltcGxlbWVudCBDT05WRVJUIGFuZCBGT1JNQVRTIHF1ZXJ5CgkgIEZpeGVzIGJ1ZyAjNjM2Nzg0LgoKMjAxMC0wNy0wMSAwMDoyMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHB1dCB1bnJlY29nbmlzZWQgUklGRiBmb3JtYXQgSURzIGludG8gdGhlIHVua25vd24gY2FwcwoJICBFeHRyYSBpbmZvIGNhbid0IGh1cnQuIEZpZWxkIG5hbWVzIGFyZW4ndCBuZWNlc3NhcmlseSBjb25zaXN0ZW50IHdpdGgKCSAgd2hhdCdzIHVzZWQgZWxzZXdoZXJlIHRob3VnaCAoZS5nLiBhdmlkZW11eCksIGJ1dCB0aGVuIG5laXRoZXIgYXJlIHRoZQoJICBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMTc4CgoyMDEwLTEwLTI5IDIyOjUwOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkgIHB1bHNlbWl4ZXI6IEltcGxlbWVudCBNSVhFUl9GTEFHX0FVVE9fTk9USUZJQ0FUSU9OUwoJICBBZGQgdGhlIG1peGVyIGZsYWcgYW5kIHNlbmQgbm90aWZpY2F0aW9ucyB3aGVuIGVpdGhlciB0aGUgdm9sdW1lIG9yIG11dGVkCgkgIHN0YXR1cyBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4Mzg5CgoyMDEwLTAyLTA4IDIxOjQxOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFyayBESVNDT05UIHdoZW4gcmVzdW1pbmcgUExBWQoJICBJbiBwYXJ0aWN1bGFyLCB3aGVuIHN0cmVhbWluZyBpbnRlcmxlYXZlZCwgdGhpcyBhcnJhbmdlcyBmb3Igc2V0dGluZyBhIG5ldwoJICB0aW1lc3RhbXAgb24gb3V0Z29pbmcgYnVmZmVyIHNvIGRvd25zdHJlYW0gY2FuIGFwcHJvcHJpYXRlIHJlc2V0CgkgIHRvIGEgY2hhbmdlIGluIChydHApdGltZS4KCjIwMTAtMTItMDIgMTY6MDg6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGRlZ3JhZGUgZ3JhY2VmdWxseSB1cG9uIGZhaWxpbmcgc2VlayBhbmQgdHdlYWsgUVVFUllfU0VFS0lORyByZXNwb25zZQoKMjAxMC0xMC0yNSAxMTo1MTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBhbmQgdXNlIGF1dG8gYnVmZmVyaW5nIG1vZGUKCSAgLi4uIHdoaWNoIHNlbGVjdHMgQlVGRkVSIGZvciBhIG5vbi1saXZlIHN0cmVhbSwgYW5kIG90aGVyd2lzZSBTTEFWRS4KCSAgRml4ZXMgIzYzMzA4OC4KCjIwMTAtMTItMDYgMTI6MTY6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSAgajJrZGVwYXk6IG1ha2UgdGhlIGRlcGF5bG9hZGVyIG1vcmUgcmVzaWxpZW50CgkgIFVzZSAzIGFkYXB0ZXJzLCBvbmUgdG8gYWNjdW11bGF0ZSBwYWtldGl6YXRpb24gdW5pdHMsIGFub3RoZXIgb24gdG8gYWNjdW11bGF0ZQoJICB0aWxlcyBhbmQgYSBsYXN0IG9uZSB0byBhY2N1bXVsYXRlIHRoZSBmaW5hbCBmcmFtZS4KCSAgRG9uJ3QganVzdCBibGluZGx5IGZsdXNoIHRoZSBhZGFwdGVyIG9uIERJU0NPTlQgYnV0IG9ubHkgZGlzY2FyZCB0aGUgY3VycmVudAoJICBwYWNrZXRpemF0aW9uIHVuaXQuCgkgIFdoZW4gd2UgZHJvcHBlZCBqcGVnMjAwMCBwYWNrZXRzIGJldHdlZW4gU09QIG1hcmtlcnMsIGFkanVzdCB0aGUgU09UIGhlYWRlciB3aXRoCgkgIHRoZSBuZXcgbGVuZ2h0LgoKMjAxMC0xMi0wOSAxMzo0OTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBmbG93IHJldHVybiBhZ2dyZWdhdGlvbgoKMjAxMC0xMi0wOCAxMTozNTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBoYW5kbGluZyBuZWFyIGVuZC1vZi1maWxlIGNvcm5lciBjYXNlcwoJICBBbHNvLCByZWxheCBzb21lIGVycm9yIGhhbmRsaW5nIHRvIG5vdCBiYWlsIG91dCBjb21wbGV0ZWx5IHdoZW4gc29tZXRoaW5nCgkgIGZlZWxzIGFtaXNzLCBidXQgY29uc2lkZXIgdGhpcyBFT0YgYW5kIGNvbnRpbnVlIHdpdGggd2FzIG9idGFpbmVkIHNvIGZhci4KCjIwMTAtMTItMDcgMTc6MTk6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGZpeCBvZmZzZXQgaGFuZGxpbmcgYW5kIHJlbGF4IGVycm9yIHJhaXNpbmcKCSAgSW4gcGFydGljdWxhciwgYWNjZXB0IHVua25vd24gc3RyZWFtIGluIHRyYWNrIGZyYWdtZW50LCBhbmQgb25seSBlcnJvciBvdXQKCSAgaWYgdGhhdCByYWlzZXMgcHJvYmxlbXMgbGF0ZXIgb24gd2l0aCByZXNwZWN0IHRvIG9mZnNldCB0cmFja2luZy4KCSAgRml4ZXMgIzYyMDI4My4KCjIwMTAtMTItMDcgMTM6MTE6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogdXNlIGFhYyBjb2RlYy1kYXRhIHRvIGFkanVzdCBzYW1wbGVyYXRlIGlmIG5lZWRlZAoJICBCYXNlZCBvbiBwYXRjaCBieSBGYWJpZW4gTGViYWlsbGlmLURlbGFtYXJlIDxmYWJpZW5AYXJxLW1lZGlhLmNvbT4KCSAgRml4ZXMgIzYzNjYyMS4KCjIwMTAtMTItMDcgMTE6NDM6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgdW5jb3JrIGluIF9zdGFydAoJICBEb24ndCB1bmNvcmsgaW4gdGhlIF9zdGFydCBtZXRob2QganVzdCB5ZXQgYnV0IHdhaXQgdW50aWwgd2UgaGF2ZSB3cml0dGVuIHNvbWUKCSAgc2FtcGxlcyB0byBwdWxzZWF1ZGlvLiBUaGlzIGF2b2lkIHVuZGVycnVucyBvbiBwdWxzZWF1ZGlvIGFuZCBsZXNzIGNyYWNrbGluZwoJICBub2lzZXMgd2hlbiBzdGFydGluZy4KCjIwMTAtMTItMDcgMTE6NDc6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEwLTEyLTA3IDExOjQzOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHVuY29yayBpbiBfc3RhcnQKCSAgRG9uJ3QgdW5jb3JrIGluIHRoZSBfc3RhcnQgbWV0aG9kIGp1c3QgeWV0IGJ1dCB3YWl0IHVudGlsIHdlIGhhdmUgd3JpdHRlbiBzb21lCgkgIHNhbXBsZXMgdG8gcHVsc2VhdWRpby4gVGhpcyBhdm9pZCB1bmRlcnJ1bnMgb24gcHVsc2VhdWRpbyBhbmQgbGVzcyBjcmFja2xpbmcKCSAgbm9pc2VzIHdoZW4gc3RhcnRpbmcuCgoyMDEwLTEyLTA3IDExOjQyOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgX29iamVjdF9yZWZfc2luaygpIHdoZW4gd2UgY2FuCgoyMDEwLTEyLTA3IDExOjQwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb24ndCBhYnVzZSB0aGUgY2xhc3MgbG9jawoJICBVc2UgYSBuZXcgc3RhdGljIGxvY2sgdG8gcHJvdGVjdCB0aGUgcHJvYmVkIGRldmljZSBsaXN0IGluc3RlYWQgb2YgdGhlIG9iamVjdAoJICBjbGFzcyBsb2NrLgoKMjAxMC0xMi0wNiAxOTo1OTo0OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPU1guCgoyMDEwLTEyLTA2IDE4OjE3OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIGRlYnVnIHRvIG5vdGlmeSB3aGVuIHNraXBwaW5nIHRvIGpwZWcgaGVhZGVyCgoyMDEwLTEyLTA2IDE4OjE2OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZGlzY2FyZCBpbmNvbXBsZXRlIGltYWdlCgkgIC4uLiBhcyBkZXRlcm1pbmVkIHdoZW4gZmluZGluZyBTT0kgbmV4dCBpbWFnZSBiZWZvcmUgYW4gRU9JLgoJICBCYXNlZCBvbiBwYXRjaCBieSBEYXZpZCBIb3l0IDxkYXZpZC5ob3l0QGxsbmwuZ292PgoJICBGaXhlcyAjNjM1NzM0LgoKMjAxMC0xMi0wNiAxNzo0NTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGF2b2lkIGluZmluaXRlIGxvb3Agd2hlbiByZXN5bmNpbmcKCSAgRml4ZXMgIzYzNTczNCAocGFydGx5KS4KCjIwMTAtMTItMDYgMTc6Mjg6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QgaW50byAwLjExCgoyMDEwLTEyLTA2IDE3OjI3OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogYW5kcm9pZC9hcGV0YWcubWs6CgkqIGFuZHJvaWQvYXZpLm1rOgoJKiBhbmRyb2lkL2Zsdi5tazoKCSogYW5kcm9pZC9pY3lkZW11eC5tazoKCSogYW5kcm9pZC9pZDNkZW11eC5tazoKCSogYW5kcm9pZC9xdGRlbXV4Lm1rOgoJKiBhbmRyb2lkL3J0cC5tazoKCSogYW5kcm9pZC9ydHBtYW5hZ2VyLm1rOgoJKiBhbmRyb2lkL3J0c3AubWs6CgkqIGFuZHJvaWQvc291cC5tazoKCSogYW5kcm9pZC91ZHAubWs6CgkqIGFuZHJvaWQvd2F2ZW5jLm1rOgoJKiBhbmRyb2lkL3dhdnBhcnNlLm1rOgoJKiBjb25maWd1cmUuYWM6CgkgIG1vcmUgMC4xMCAtPiAwLjExIGNoYW5nZXMKCjIwMTAtMTItMDYgMTU6MjE6NTMgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBwYXNzIGFsb25nIGVvcyBpZiByZWNlaXZlZCBiZWZvcmUgYnVmZmVyIGFycml2ZXMKCSAgRml4ZXMgIzYzNjE3Mi4KCjIwMTAtMTAtMjAgMTE6MDU6NDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHRyeSB0byB3cml0ZSB0aW1lc3RhbXBzIGluIGFsbCB0aGUgb3V0Z29pbmcgYnVmZmVycwoJICBGaXhlcyAjNjMyNjU0LgoKMjAxMC0xMi0wNiAxMjoyMTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzdGFydCAwLjExIGJyYW5jaAoKMjAxMC0xMi0wNiAxMjoxNzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5oOgoJICBwcm9ncmVzc3JlcG9ydDogb3B0aW9uYWxseSBkZXRlcm1pbmUgcHJvZ3Jlc3MgdXNpbmcgYnVmZmVyIG1ldGFkYXRhCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IExlbyBTaW5nZXIgPGxzaW5nZXIgYXQgY2FsdGVjaC5lZHU+CgkgIEZpeGVzICM2Mjk0MTguCgoyMDEwLTEyLTA1IDE0OjM5OjE5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBjaGVjazogRml4dXAgdGhlIHNodXR0aW5nIGRvd24gb3JkZXIKCSAgRmlyc3QgYnJpbmcgZG93biBldmVyeXRoaW5nIHRvIE5VTEwgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdW5saW5rCgkgIG9yIHVucmVmIGFueXRoaW5nLgoJICBBdm9pZHMgdGhlIHRlc3RzIGp1c3QgaGFuZ2luZyB0aGVyZSBmb3IgZXZlciB3YWl0aW5nIHRvIGFjcXVpcmUgYQoJICBsb2NrIHRoYXQgZG9lc24ndCBleGlzdCBhbnltb3JlLgoKMjAxMC0xMS0wNCAxOTozMTo0NSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnNyYzogc2V0IHRvcCBmaWVsZCBmaXJzdCBmb3IgaW50ZXJsYWNlZCBidWZmZXJzIGlmIHY0bDIgZXhwb3J0cyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MzkzCgoyMDEwLTExLTA0IDE4OjM2OjA5ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGNoZWNrIGZpZWxkIGluZm9ybWF0aW9uIGFuZCBzZXQgaW50ZXJsYWNlZCBjYXBzIGFjY29yZGluZ2x5CgkgIFJlamVjdCB0aGUgZm9ybWF0IGlmIHRoZSBmaWVsZCB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQzOTEKCjIwMTAtMTItMDMgMTc6NDI6MTQgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGFuZHJvaWQvTk9USUNFOgoJKiBhbmRyb2lkL2FwZXRhZy5tazoKCSogYW5kcm9pZC9hdmkubWs6CgkqIGFuZHJvaWQvZmx2Lm1rOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIGFuZHJvaWQvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1lbnVtdHlwZXMuaDoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5oOgoJKiBhbmRyb2lkL2ljeWRlbXV4Lm1rOgoJKiBhbmRyb2lkL2lkM2RlbXV4Lm1rOgoJKiBhbmRyb2lkL3F0ZGVtdXgubWs6CgkqIGFuZHJvaWQvcnRwLm1rOgoJKiBhbmRyb2lkL3J0cG1hbmFnZXIubWs6CgkqIGFuZHJvaWQvcnRzcC5tazoKCSogYW5kcm9pZC9zb3VwLm1rOgoJKiBhbmRyb2lkL3VkcC5tazoKCSogYW5kcm9pZC93YXZlbmMubWs6CgkqIGFuZHJvaWQvd2F2cGFyc2UubWs6CgkgIEFkZCBidWlsZCBzeXN0ZW0gZm9yIEFuZHJvaWQKCjIwMTAtMDMtMjYgMTM6NTE6NTggKzAxMDAgIEd1aWxsYXVtZSBFbW9udCA8Z2Vtb250QGlnYWxpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkgIG5hdnNlZWs6IGFkZCBiYXNpYyBzdXBwb3J0IHRvIGNoYW5nZSBwbGF5YmFjayByYXRlCgkgIFRoZSBmb2xsb3dpbmcga2V5cyB3aWxsIG5vdyBiZSBpbnRlcnByZXRlZCBieSBuYXZzZWVrOgoJICAnZicgbWVhbnMgZmFzdCBmb3J3YXJkOiB0aGUgc3RyZWFtIGdldHMgcGxheWVkIGF0IHJhdGUgMi4wCgkgICdyJyBtZWFucyByZXdpbmQ6IHRoZSBzdHJlYW0gZ2V0cyBwbGF5ZWQgYXQgcmF0ZSAtMi4wCgkgICduJyBtZWFucyBub3JtYWw6IHRoZSBzdHJlYW0gZ2V0cyBwbGF5ZWQgYXQgcmF0ZSAxLjAKCSAgRml4ZXMgIzYzMTUxNi4KCjIwMTAtMTItMDEgMTM6MTI6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgZShhKWMtMyBhdWRpbwoKMjAxMC0xMS0xOSAxMjo0NDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIHNlbmRpbmcgRU9TIGV2ZW50IHR3aWNlCgoyMDEwLTExLTE5IDEyOjQ0OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGRlYWQgY29kZSB0cnlpbmcgdG8gdXBkYXRlIHN0cmVhbSBkdXJhdGlvbgoJICBPbiB0aGUgb25lIGhhbmQsIGl0IGluc3VmZmljaWVudGx5IGNoZWNrcyB3aGV0aGVyIGl0IG9ubHkgdXBkYXRlcyBhIGR1bW15CgkgIHNlZ21lbnQuICBPbiB0aGUgb3RoZXIgaGFuZCwgb25seSBkb2luZyB0aGlzIGF0IHRoZSB0aW1lIHRoZSBsYXN0IHNhbXBsZWQgaXMKCSAgcHJlcGFyZWQgKGFuZCBzZW50IGRvd25zdHJlYW0pIGlzIHRvbyBsaXR0bGUgdG9vIGxhdGUuCgoyMDEwLTExLTA5IDEwOjU4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBoYW5kbGUgaXNtdiBzYW1wbGUgZmxhZ3MKCjIwMTAtMTEtMDggMTE6NDE6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGhhbmRsZSBpc212IHN0YmwgYXRvbXMKCSAgLi4uIG9yIGxhY2sgb2Ygc29tZSB0aGVyZW9mLCBzdWNoIGFzIG1hbmRhdG9yeSBzdHN6LiAgU2h1ZmZsZSBzb21lIGNvZGUKCSAgaW4gX3N0YmxfaW5pdCB0byBkZXRlY3QgdGhpcyBlYXJseSBlbm91Z2guCgoyMDEwLTExLTA4IDExOjM5OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBjb21wZW5zYXRlIGZvciBpc212IG9mZnNldCBoYW5kbGluZwoJICAuLi4gb3IgbGFjayB0aGVyZW9mLCB3aGljaCBhY2NvcmRpbmcgdG8gc3BlY3Mgd291bGQgcHV0IG1lZGlhIGRhdGEgaW4KCSAgdW5saWtlbHkgcG9zaXRpb24uCgoyMDEwLTExLTA0IDE0OjA3OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQgZm9yIHB1c2ggbW9kZQoKMjAxMC0xMS0wNCAxMDoxNzozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBwcm9wZXIgYW5kIGluY3JlbWVudGFsIG1vb2YgcGFyc2luZwoJICBUaGF0IGlzLCBwYXJzZSBlYWNoIG1vb2YgaW4gb25lIHBhc3MgKGNvbnNpZGVyaW5nIGFsbCBjb250YWluZWQgc3RyZWFtcycKCSAgbWV0YWRhdGEpLCBhbmQgZG8gc28gaW5jcmVtZW50YWxseSBhcyBuZWVkZWQgZm9yIHBsYXliYWNrIHJhdGhlciB0aGFuCgkgIGFuIGluaXRpYWwgY29tcGxldGUgc2NhbiBvZiBhbGwgbW9vZiAodGhvdWdoIGFsbCBtb292IHNhbXBsZSBtZXRhZGF0YQoJICBpcyBmdWxseSBwYXJzZWQgYXQgc3RhcnR1cCkuCgoyMDEwLTExLTA0IDEwOjA2OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVmYWN0b3Igc3RyZWFtIGZyZWVpbmcKCjIwMTAtMTEtMDQgMTA6MDU6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkZWxlZ2F0ZSBsaW5lYXIgc2VhcmNoIGZvciBzYW1wbGUgdG8gYmluYXJ5IHNlYXJjaCB3aGVuIHBvc3NpYmxlCgkgIEFsc28gYXJyYW5nZSBmb3IgcGFyc2luZyBhIHNhbXBsZSBwcmlvciB0byB0YWtpbmcgYSByZWZlcmVuY2UgdG8gaXQsCgkgIHdoaWNoIHJlcXVpcmVzIGxlc3MgbWVtb3J5IGxheW91dCBhc3N1bXB0aW9ucyBmb3IgY29ycmVjdG5lc3MuCgoyMDEwLTExLTAxIDE1OjUyOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBoYW5kbGUgbW9vdiBzYW1wbGVzIGFuZCBwcm9wZXIgc3RyZWFtIGR1cmF0aW9uCgoyMDEwLTExLTAxIDEzOjQwOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBjb25zaWRlciBtdmV4IGFuZCBoYW5kbGUgZmxhZ3MgYW5kIG9mZnNldCBmaWVsZHMKCjIwMTAtMTAtMjggMTY6NDk6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGZvcmVnbyBjaGVjayBmb3Igc2hvcnQgc3RyZWFtcwoJICAuLi4gYXMgc29tZSBib2d1cyBmaWxlcyBtYXkgaW5kaWNhdGUgc3RyZWFtcyBvZiAwIGR1cmF0aW9uIGluIG1vb3YsCgkgIHdoaWxlIGluZGljYXRpbmcgdGhlIGNvbXBsZXRlIG1vdmllIGR1cmF0aW9uIGluIG12aGQgKHRoZSBsYXR0ZXIgc2hvdWxkCgkgIGJlIGluIG1laGQpLgoKMjAxMC0xMC0yOCAxNjo0Njo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBjb2RlIGNsZWFudXBzIGFuZCBvcHRpbWl6YXRpb25zIGluIGF0b20gcGFyc2luZwoJICBBdm9pZCBleHRyYSBhbGxvY2F0aW9uIGluIF9wYXJzZV90cnVuLCBhZGQgbW9yZSBjaGVja3MgZm9yIHBhcnNpbmcgZXJyb3JzLAoJICBhZGQgb3IgYWRqdXN0IHNvbWUgZGVidWcgc3RhdGVtZW50LCBmaXggY29tbWVudHMsIHNwcmlua2xlIHNvbWUgYnJhbmNoCgkgIHByZWRpY3Rpb24uCgoyMDEwLTA5LTEzIDIzOjE5OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2VfbW9vZiBzaG91bGQgcmV0dXJuIFRSVUUgb24gc3VjY2VzcwoKMjAxMC0wOS0xMCAyMjo0MTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBpdGVyYXRpb24gYnVnCgkgIEF2b2lkIGluZmluaXRlIGxvb3Agd2hlbiBpdGVyYXRpbmcgdHJhZgoKMjAxMC0wOS0xMCAyMTozMjoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlZmFjdG9yIHRydW4gcGFyc2luZwoJICBUaGUgYWxsb2NhdGlvbiBvZiB0aGUgc2FtcGxlcyBjYW4gYmUgcGxhY2VkIG91dCBvZiB0aGUgbG9vcC4KCSAgTWFrZXMgdGhlIGNvZGUgY2xlYXJlci4KCSAgQWxzbyBhdm9pZCByZWx5aW5nIG9uIHRyYWYgaW5mb3JtYXRpb24gYXMgaXQgaXMgcGxhY2VkIG9uIHRoZQoJICBlbmQgb2YgdGhlIGZpbGUgYW5kIG1pZ2h0IG5vdCBiZSBhY2Vzc2libGUgb24gcHVzaCBtb2RlLgoKMjAxMC0wOS0xMCAwMDoyOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSBwYXJzaW5nIG9mIHVudXNlZCBhdG9tCgkgIHNkdHAgYXRvbSBpcyBwYXJzZWQgYnV0IG5vdCB1c2VkLCBzbyB3ZSBkb24ndCBoYXZlIHRvCgkgIHBhcnNlIGl0LgoKMjAxMC0xMS0wOSAxMTo0NTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHR3ZWFrIHdhbSBzdXBwb3J0CgkgIC4uLiB3aXRoIHNvbWUgY29tbWVudCBhbmQgcG9ydGFiaWxpdHkgbWFjcm9zLgoKMjAwOS0wOS0yMyAxODo0Nzo0MiArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogc3VwcG9ydCB3bWEgJiB2Yy0xCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDMtMTEgMDk6NTY6MDQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwYXJzZSBmbXA0IHNhbXBsZXMgaW5mb3JtYXRpb24KCSAgVGhlIGZyYWdtZW50ZWQgbXA0IGZvcm1hdCBzdG9yZXMgdGhlIHRyYWNrcyBhbmQgc2FtcGxlcyBpbmZvcm1hdGlvbiBpbiB0aGUKCSAgJ21vb2YnIGJveGVzLCB3aGljaCBhcmUgYXBwZW5kZWQgYmVmb3JlIGVhY2ggZnJhZ21lbnQgKGZyYWdtZW50LT4nbW9vZicrJ21kYXQnKS4KCSAgVGhlICdtZnJhJyBib3ggc3RvcmVzIHRoZSBvZmZzZXQgb2YgZWFjaCAnbW9vZicgYm94IGFuZCB0aGVpciBwcmVzZW50YXRpb24KCSAgdGltZS4gVGhlIGxvY2F0aW9uIG9mIHRoaXMgYm94IGNhbiBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgJ21mcm8nIGJveCwgd2hpY2ggaXMKCSAgbG9jYXRlZCBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLgoJICBUaGUgJ21mcmEnIGJveCBpcyBwYXJzZWQgdG8gZ2V0IHRoZSBvZmZzZXQgb2YgZWFjaCAnbW9vZicgYm94IGFuZCB0aGVpcgoJICBwcmVzZW50YXRpb24gdGltZS4KCSAgRWFjaCAnbW9vZicgYm94IGNhbiBjb250YWluIGluZm9ybWF0aW9uIGZvciBvbmUgb3IgbW9yZSB0cmFja3MgaW5zaWRlCgkgICd0ZmhkJyBib3hlcy4gRm9yIGVhY2ggdHJhY2sgaW4gYSAnbW9vZicsIHdlIGhhdmUgYSAndHJ1bicgYm94LCB3aGljaAoJICBjb250YWlucyBpbmZvcm1hdGlvbiBvZiBlYWNoIHNhbXBsZSAob2Zmc2V0IGFuZCBkdXJhdGlvbikgdXNlZCB0byBidWlsZAoJICB0aGUgc2FtcGxlcyB0YWJsZS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDMtMTEgMTU6MzQ6NDkgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IGFkZCBmcmFnbWVudGVkIG1wNCBmb3VyY2NzCgkgIEFkZHMgZm91cmNjJ3MgZm9yIHRmcmEsIHRmaGQsIHRydW4sIHNkdHAsIHRyZXgsIG1laGQgYW5kCgkgIHRoZWlyIGR1bXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDMtMTEgMTA6MjQ6NTYgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXJzZSB0aGUgdHJhY2sgaWQgZnJvbSB0aGUgdHJhY2sgaGVhZGVyCgkgIFNpZ25lZC1vZmYtYnk6IEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAxNDoxMDoxMiArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsbG93IHB1bGxpbmcgYXRvbXMgd2l0aCB1bmtub3duIHNpemUKCSAgU2lnbmVkLW9mZi1ieTogQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTA3LTE0IDIwOjEzOjU1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBtYWtlIHF0ZGVtdXhfZHVtcF9tdmhkIHBhcnNlIHZlcnNpb24gMSBjb3JyZWN0bHkKCSAgVmVyc2lvbnMgMCBhbmQgMSBvZiBtdmhkIGhhdmUgZGlmZmVyZW50IHNpemVzIG9mIGl0cyB2YWx1ZXMKCSAgKDMyYml0cy82NGJpdHMpLiBUaGlzIHBhdGNoIG1ha2VzIGl0IGR1bXAgdGhlbSBjb3JyZWN0bHkuCgkgIEFsc28gdXNlIHRoZSByaWdodCBub2RlIGluIHRoZSBwYXJhbWV0ZXIgYW5kIG5vdCB0aGUgcm9vdCBub2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTExLTE5IDEyOjQ1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWlub3IgY2xlYW51cHMgaW4gc2V0dGluZyBzdHJlYW1oZWFkZXIgb24gY2FwcwoKMjAxMC0xMS0wMiAxNzowNDowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbm9ybWFsaXplIGVtcHR5IEN1ZXMgdG8gbm8gQ3VlcwoJICAuLi4gdG8gdHJpZ2dlciBpbmRleGxlc3Mgc2Vla2luZy4KCjIwMTAtMTAtMjYgMTE6MTU6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIHdvcmthcm91bmQgZm9yIGJ1Z2d5IGxpc3Qgc2l6ZQoJICBGaXhlcyB0cnVuY2F0ZWQgZXh0cmEtZGF0YSBpbiBoZHJsL3N0cmwvc3RyZiBkdWUgdG8gYnVnZ3kgY29udGFpbmluZwoJICBsaXN0IHNpemUgbm90IGFjY291bnRpbmcgZm9yIHBhZGRpbmcgaW4gY29udGFpbmVkIGNodW5rcy4KCjIwMTAtMTItMDIgMTY6MTE6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogZG8gbm90IGhvbGQgY3VzdG9tIFBBRF9MT0NLIHdoZW4gcHVzaGluZyBkb3duc3RyZWFtCgoyMDEwLTEyLTAyIDE2OjEwOjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVzZXQgc2Vzc2lvbiBtYW5hZ2VyIGJhc2UgdGltZSB3aGVuIGZsdXNoaW5nCgkgIC4uLiBhcyBydHBiaW4gdXNlcyBydW5uaW5nIHRpbWUgdG8gaGFuZGxlIHJ0cGppdHRlcmJ1ZmZlcidzIGJ1ZmZlciBtb2RlIHBhdXNlcy4KCjIwMTAtMTItMDEgMTY6NTE6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbmNsdWRlIHJhbmdlIHJlcXVlc3QgZm9yIGFsbCBzdHJlYW1zIHdpdGggbm9uLWFnZ3JlZ2F0ZSBjb250cm9sCgoyMDEwLTEwLTA3IDE0OjUwOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGRlYnVnIHN0YXRlbWVudAoKMjAxMC0xMi0wMyAxNTozODowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFBhcnNlIG1vcmUgdmFyaWFudHMgb2YgbnVtZXJpY2FsIElESVQgdGFnCgoyMDEwLTA1LTA3IDE3OjMwOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBVc2UgcHJvcGVyIGZyYW1lcmF0ZSByYW5nZSBpbiBjYXBzCgoyMDEwLTEyLTAzIDE1OjA0OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogRml4IHByZXZpb3VzbHkgdW5idWlsZGFibGUvdW50ZXN0ZWQgd2F2ZW5jIHRlc3QKCjIwMTAtMTAtMjQgMTU6MjE6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBSZWZhY3RvciB0YWcgcHVzaGluZyBsb2dpYwoJICBUaGUgbG9naWMgb2Ygd2hlbiB0byBwdXNoIHdhcyB3cm9uZyBhbHNvIChyZXN1bHRpbmcgaW4gc29tZSB0YWdzIG5ldmVyCgkgIGJlaW5nIHB1c2hlZCkuCgoyMDEwLTEwLTI0IDE1OjIwOjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogVXNlIHBidXRpbHMgZm9yIGNvZGVjIGRlc2NyaXB0aW9ucwoKMjAxMC0wNC0xMyAxMToyOTozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgY2hlY2s6IFVzZSBmYWlsX3VubGVzc19lcXVhbHNfaW50IGluc3RlYWQgb2YgZmFpbF9pZgoJICBNYWtlcyB0aGUgZXJyb3IgbWVzc2FnZSBtb3JlIGludGVyZXN0aW5nCgoyMDEwLTExLTMwIDE5OjIyOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQWxzbyBleHRyYWN0IElESVQgdGFncyBwcmVzZW50IHRvbyBlYXJseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2MTQzCgoyMDEwLTExLTMwIDE5OjIxOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQWxzbyBlbWl0IERhdGVUaW1lIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2MTQzCgoyMDEwLTEyLTAzIDAwOjIyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZGV0ZWN0IERUUyBhZHZlcnRpc2VkIGFzIFBDTSBjb3JyZWN0bHkgaW4gc29tZSBtb3JlIGNhc2VzCgkgIFRoZSBEVFMgdHlwZWZpbmRlciBtYXkgcmV0dXJuIGEgbG93ZXIgcHJvYmFiaWxpdHkgZm9yIGZyYW1lcyB0aGF0IHN0YXJ0CgkgIGF0IG5vbi16ZXJvIG9mZnNldHMgYW5kIHdoZXJlIHRoZXJlJ3Mgbm8gc2Vjb25kIGZyYW1lIHN5bmMgaW4gdGhlIGZpcnN0CgkgIGJ1ZmZlci4gSXQncyBmYWlybHkgdW5saWtlbHkgdGhhdCB3ZSdsbCBhY2lkZW50YWxseSBpZGVudGlmeSBQQ00gZGF0YQoJICBhcyBEVFMsIHNvIHdlIGRvbid0IGRvIGFkZGl0aW9uYWwgY2hlY2tzIGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYyMzQKCjIwMTAtMTEtMDggMTc6MTE6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbWFrZWZpbGUgY2xlYW51cAoJICBGaXggaW5kZW50YXRpb24uIFVzZSAkKEdTVF9NQUpPUk1JTk9SKSBpbnN0ZWFkIG9mIGhhcmRjb2RlZCAwLjEwLgoKMjAxMC0xMS0wOCAxNzowMjo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBhZGQgYSB0ZXN0IGZvciB3YXYgbXV4aW5nCgoyMDEwLTExLTA4IDE2OjU3OjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIHRlc3RzOiByZW1vdmUgbmV3bGluZXMgYmV0d2VlbiB2YXJpYWJsZSBkZWNscyAob2xkIGdzdC1pbmRlbnQgZmFpbHVyZSkKCjIwMTAtMTEtMDggMTQ6NDc6MDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogdXNlIHBuZ19lcnJvcigpIGFzIHJlY29tbWVuZGVkIGJ5IGxpYnBuZyBkb2NzIHRvIHNpZ25hbCBhbiBlcnJvcgoJICBXaXRob3V0IHRoYXQgdGhlIGVsZW1lbnQgbG9vcHMgZW5kbGVzc2x5IG9uIGJyb2VrbiBwbmdzLiBGaXhlcyAjNjM0MzE0CgoyMDEwLTExLTE2IDE3OjQ4OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2UgYW5kIHVzZSBjcmVhdGlvbiB0aW1lIHRhZyBmcm9tIG12aGQKCSAgRXhwb3NlIGNyZWF0aW9uIHRpbWUgZnJvbSBtdmhkIGFzIGEgZGF0ZXRpbWUgdGFnCgkgIEZpeGVzICM2MzQ5MjgKCjIwMTAtMTAtMjcgMTk6MTU6MjAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogQWRkICdTdHJlYW1VcmwnIG1ldGFkYXRhIGFzIEdTVF9UQUdfSE9NRVBBR0UgdGFnCgoyMDEwLTEwLTIzIDE5OjM0OjAwIC0wNDAwICBUb20gSmFuaXN6ZXdza2kgPFRvbS5KYW5pc3pld3NraUBhbGNhdGVsLWx1Y2VudC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCBmb3IgbmVsbHltb3NlciBjb2RlY2lkIHNldHRpbmcKCSAgRml4ZXMgYnVnICM2MzI4OTcuCgoyMDEwLTEwLTIxIDE2OjE1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBFLUFDMwoKMjAxMC0xMC0yMSAxNjoxNDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgRFRTCgoyMDEwLTEwLTMxIDE4OjA4OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBzZW5kIHNlZWtzIGJlaGluZCB0aGUgZW5kIG9mIGZpbGUgdG8gdGhlIHNlcnZlcgoJICBBbHNvIGltcHJvdmUgZGVidWcgb3V0cHV0LCByZS1pbml0aWFsaXplIHRoZSBjb250ZW50IHNpemUgYW5kIGxldCB0aGUKCSAgc2VlayBoYW5kbGVyIGVycm9yIG91dCBvbiBpbnZhbGlkIHNlZWsgc2VnbWVudHMuCgkgIEZpeGVzIGJ1ZyAjNjMyOTc3LgoKMjAxMC0xMi0wMiAxNzo1Mzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogdXNlIFNPUCBtYXJrZXJzIHRvIHNwbGl0IGJpdHN0cmVhbQoJICBXaGVuIHBhcnNpbmcgdGhlIGJpdHN0cmVhbSwgbG9vayBmb3IgU09QIG1hcmtlcnMgYmVjYXVzZSB3ZSBhcmUgYWxsb3dlZCB0byBzcGxpdAoJICBwYWNrZXRzIG9uIHRob3NlIG1hcmtlciBib3VuZGFyaWVzLgoJICBSZXdvcmsgdGhlIHBhcnNpbmcgY29kZSBhIGxpdHRsZSBzbyB0aGF0IHdlIGNhbiBwYWNrIG11bHRpcGxlIFBhY2tldGl6YXRpb24KCSAgdW5pdHMgaW4gb25lIFJUUCBwYWNrZXQuCgoyMDEwLTExLTE4IDEyOjQ5OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSAgcnRwajJrcGF5OiB1c2UgYnVmZmVyIGxpc3RzCgkgIFVzZSBidWZmZXIgbGlzdHMgZm9yIGRvaW5nIHplcm9jb3B5IHBheWxvYWRpbmcuCgkgIEFkZCBwcm9wZXJ0eSB0byBkaXNhYmxlIGJ1ZmZlciBsaXN0cy4KCjIwMTAtMTEtMTYgMTY6NTQ6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgaDI2NHBheTogc21hbGwgY2xlYW51cHMKCSAgQWxsb2NhdGUgYWRhcHRlciBvbmx5IG9uY2UuCgkgIE1ha2Ugc29tZSBndWludDggKiBjb25zdC4KCjIwMTAtMTEtMTYgMTU6Mzk6MjQgKzAxMDAgIFRhbWJldCBJbmdvIDx0YW1iZXQgYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBpbXBsZW1lbnQgZnVsbCBieXRlc3RyZWFtIHNjYW4gbW9kZS4KCSAgSW1wbGVtZW50IHRoZSBmdWxsIGJ5dGVzdHJlYW0gc2NhbiBtb2RlLgoJICBGaXhlcyAjNjM0OTEwCgoyMDEwLTExLTE1IDEwOjUyOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIGV4YW1wbGVzOiBpbXByb3ZlIFJUUCBleGFtcGxlcwoJICBNYWtlIHRoZSBleGFtcGxlcyB1c2UgYXV0b3ZpZGVvc2luayBhbmQgZmZtcGVnY29sb3JzcGFjZSBmb3IgYmV0dGVyCgkgIGNvbXDDoHRpYmlsaXR5LgoJICBNYWtlIHNvbWUgbW9yZSB2YXJpYWJsZXMgZm9yIHRoZSBzaW5rIGFuZCB0aGUgZGVjb2RlcnMuCgkgIFNldCB6ZXJvbGF0ZW5jeSB0dW5pbmcgb24geDI2NGVuYyBmb3IgYmV0dGVyIHJlYWx0aW1lIHJlc3VsdHMuCgoyMDEwLTExLTEwIDExOjA0OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNlbGVjdCBtdWx0aWNhc3QgdHJhbnNwb3J0cyBpbiBhIHNtYXJ0ZXIgd2F5CgkgIFdoZW4gd2Ugc2VlIGEgbXVsdGljYXN0IGFkZHJlc3MgaW4gdGhlIFNEUCBjb25uZWN0aW9uLCBvbmx5IHRyeSB0byBuZWdvdGlhdGUgYQoJICBtdWx0aWNhc3QgdHJhbnNwb3J0IHdpdGggdGhlIHNlcnZlci4KCSAgRml4ZXMgIzYzNDA5MwoKMjAxMC0xMi0wMiAxODoxNDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgR0xpYiByZXF1aXJlbWVudCB0byBpbXBsaWNpdCByZXF1aXJlbWVudAoJICBpZS4gPj0gMi4yMCB3aGlsZSB3ZSBkZXBlbmQgb24gY29yZS9iYXNlIDAuMTAuMzEKCjIwMTAtMTItMDIgMTg6MTM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yNiA9PT0KCjIwMTAtMTItMDEgMjE6MTU6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yNgoKMjAxMC0xMS0zMCAxNToyODo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGFuYWx5c2UgUkZGIGZpZWxkcyBpbiBjb3JyZWN0IG9yZGVyCgkgIENvZGUgd2FzIHJlcGVhdGluZyB0aGUgc2Vjb25kIGZpZWxkLCBub3QgdGhlIGZpcnN0LgoJICBGaXhlczogIzYzNjE3OS4KCjIwMTAtMTEtMjkgMTU6MzI6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgc3RhbGUgZGlnZXN0IGF1dGhlbnRpY2F0aW9uIHNlc3Npb24gZGF0YQoJICBJbiBwYXJ0aWN1bGFyLCBoYW5kbGUgVW5hdXRob3JpemVkIHNlcnZlciByZXNwb25zZSB3aGVuIHRyeWluZyB0byBjb252ZXkKCSAga2VlcC1hbGl2ZS4KCSAgRml4ZXMgIzYzNTUzMi4KCjIwMTAtMTEtMjYgMTU6MDA6MjkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGZpeCBzZWdmYXVsdCBvbiBlbXB0eSBwYXlsb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU4NDMKCjIwMTAtMTEtMTggMDA6NDU6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuNSBwcmUtcmVsZWFzZQoKMjAxMC0xMS0xOCAwMDo0NDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2h1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vdHIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTExLTE0IDAwOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IHJlZmVyZW5jZSBsZWFrCgoyMDEwLTExLTEyIDIzOjU5OjA2ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZsdXNoIFFvUyBhbmQgaGlzdG9yeSBiZWZvcmUgYXBwbHlpbmcgc2VnbWVudAoJICBXaGVuIGhhbmRsaW5nIG5ld3NlZ21lbnQsIGZsdXNoIG91dCB0aGUgYnVmZmVyIGhpc3RvcnkgaW4gdGhlCgkgIGV4aXN0aW5nIHNlZ21lbnQsIG5vdCB0aGUgbmV3IG9uZS4gRml4ZXMgcGxheWJhY2sgaW4gc29tZSBEVkQKCSAgY2FzZXMuCgkgIFBhcnRpYWxseSBmaXhlcyAjNjMzMjk0CgoyMDEwLTExLTEyIDEyOjIwOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogaW1wcm92ZSBldmVudCBsb2dnaW5nCgoyMDEwLTExLTA1IDE3OjAwOjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBJbXBsZW1lbnQgZmllbGQgaGlzdG9yeSBmbHVzaGluZwoJICBJbiBhIG51bWJlciBvZiBjYXNlcyBpdCBpcyBuZWNlc3NhcnkgdG8gZmx1c2ggdGhlIGZpZWxkIGhpc3RvcnkgYnkKCSAgcGVyZm9ybWluZyAnZGVncmFkZWQnIGRlaW50ZXJsYWNpbmcgLSB0aGF0IGlzLCB1c2luZyB0aGUgdXNlci1jaG9zZW4KCSAgbWV0aG9kIGZvciBhcyBtYW55IGZpZWxkcyBhcyBwb3NzaWJsZSwgdGhlbiB1c2luZyB2ZmlyIGZvciBhcyBsb25nIGFzCgkgIHRoZXJlIGFyZSA+PSAyIGZpZWxkcyByZW1haW5pbmcgaW4gdGhlIGhpc3RvcnksIHRoZW4gdXNpbmcgbGluZWFyIGZvcgoJICB0aGUgbGFzdCBmaWVsZC4KCSAgVGhpcyBzaG91bGQgYXZvaWQgbG9zaW5nIGZpZWxkcyBiZWluZyBrZXB0IGZvciBoaXN0b3J5IGZvciBleGFtcGxlIGF0CgkgIEVPUy4KCSAgVGhpcyBtYXkgYWRkcmVzcyBwYXJ0IG9mICM2MzMyOTQKCjIwMTAtMTEtMDUgMTU6NDQ6MzUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVmYWN0b3IgY2hhaW4gZnVuY3Rpb24KCSAgVGhpcyBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBvdXRwdXQgYSBmcmFtZSBmcm9tIG91dHNpZGUgdGhlIGNoYWluCgkgIGZ1bmN0aW9uLCBpLmUuIGluIHRoZSBmb2xsb3dpbmcgY29tbWl0IHRoYXQgYWRkcyBmbHVzaGluZyBvZiB0aGUgZmllbGQKCSAgaGlzdG9yeS4KCjIwMTAtMTEtMDUgMTc6MTc6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHdlIHN0aWxsIHJlcXVpcmUgR3RrKyA+PSAyLjE0LjAgd2hlbiBjb21waWxpbmcgYWdhaW5zdCAyLjAKCSAgVGhlIGNoZWNrIGZvciB0aGUgbWlub3IgdmVyc2lvbiB3YXMgZHJvcHBlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0LgoKMjAxMC0xMS0wNSAxNjoyNDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIC0td2l0aC1ndGsgb3B0aW9uIGFuZCBkZWZhdWx0IHRvIEd0aysgMi4wIHdoaWxlIHRoZSAzLjAgQVBJIGlzIHN0aWxsIGluIGZsdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDAxNAoKMjAxMC0xMS0wNCAxNjo0MjowNyArMTAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGZpeCB1c2UtYWZ0ZXItZnJlZSBvZiB0YWdsaXN0CgkgIEJyb2tlbiBieSBjb21taXQgNGMyZjUzMzMgKGJ1ZyAjNjMwMjA1KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMzk3MAoKMjAxMC0xMS0wMSAxNzoyOTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS40IHByZS1yZWxlYXNlCgoyMDEwLTExLTAxIDE3OjI4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZnIucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3YucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTExLTAxIDE2OjA0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDEwLTExLTAxIDE0OjU2OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBvbmx5IHNldCBkZWx0YSB1bml0IG9uIGFsbC1ub24ta2V5IHVuaXRzCgkgIE9ubHkgc2V0IHRoZSBkZWx0YSBmbGFnIHdoZW4gYWxsIG9mIHRoZSB1bml0cyBpbiB0aGUgcGFja2V0IGFyZSBkZWx0YSB1bml0cy4KCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgkgIEZpeGVzICM2MzI5NDUKCjIwMTAtMTAtMjYgMTU6NDQ6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBSZXR1cm4gbm90LW5lZ290aWF0ZWQgd2hlbiBicHMgaXMgdW5rbm93bgoJICBJZiBjYXBzIHdlcmVuJ3QgbmVnb3RpYXRlZCwgZ29vbSBzaG91bGQgcmV0dXJuIG5vdC1uZWdvdGlhdGVkCgkgIGZyb20gaXRzIGNoYWluIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIHVzaW5nIGJwcyB1bml0aWFsaXplZCwgd2hpY2gKCSAgbGVhZHMgdG8gYSBkaXZpc2lvbiBieSAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzMyMTIKCjIwMTAtMTAtMjcgMTM6MTY6NTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2JiZDcwOCB0byAwMTFiY2M4CgoyMDEwLTEwLTI2IDE2OjU0OjExICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogRm9yd2FyZCBzcmMgcGFkIGV2ZW50cyB1cHN0cmVhbS4KCSAgRml4IHBhc3NpbmcgbmF2aWdhdGlvbiBhbmQgb3RoZXIgZXZlbnRzIHVwc3RyZWFtIGJ5IGFjdHVhbGx5IHNlbmRpbmcgdGhlbS4KCSAgRml4ZXM6ICM2MzMyMDUKCjIwMTAtMTAtMjQgMTg6NTA6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVhZGxvY2sgaW4gZXJyb3IgY29kZSBwYXRoCgkgIEdTVF9FTEVNRU5UX0VSUk9SIG11c3Qgbm90IGJlIGNhbGxlZCB3aXRoIHRoZSBvYmplY3QgbG9jayBoZWxkLAoJICBzaW5jZSBpdCB3aWxsIGNhbGwgZ3N0X29iamVjdF9nZXRfcGFyZW50KCkgaW50ZXJuYWxseSwgd2hpY2gKCSAgdGFrZXMgdGhlIG9iamVjdCBsb2NrIGFzIHdlbGwuCgoyMDEwLTEwLTIwIDEwOjIxOjQ4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSB1c2VsZXNzIGNsZWFyaW5nIG9mIHNlbmRfeGlwaF9oZWFkZXJzIGZvciBEaXJhYwoJICBUaGlzIGxvb2tzIGxpa2UgYSBtaXN0YWtlIHdoZW4gY29weS1wYXN0aW5nIHRoZSBUaGVvcmEgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjY4MgoKMjAxMC0xMC0yMCAxMzoyODoyOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBjcmFzaCBpZiB2b3JiaXMvdGhlb3JhIGNvZGVjIGRhdGEgaXMgbWlzc2luZwoJICBFcnJvciBvdXQgcHJvcGVybHkgaW4gdGhpcyBjYXNlIGluc3RlYWQgb2YgY3Jhc2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI2ODIKCjIwMTAtMTAtMjIgMTg6MTE6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuMyBwcmUtcmVsZWFzZQoKMjAxMC0xMC0xOSAxNjo0NTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkdXJhdGlvbiByZXBvcnRpbmcKCSAgSW5pdCBzZWdtZW50IHByaW9yIHRvIHN0b3JpbmcgZHVyYXRpb24gaW5mbyBpbiBpdC4KCSAgRml4ZXMgIzYzMjU0OC4KCjIwMTAtMTAtMTkgMTQ6MjE6NTMgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGdjb25mL01ha2VmaWxlLmFtOgoJICBnY29uZjogRG9uJ3QgaW5zdGFsbCBzY2hlbWFzIHdoZW4gR0NvbmYgaXMgZGlzYWJsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjU1MwoKMjAxMC0xMC0xNiAxNTo0Mzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHNldCBHU1RfUEFDS0FHRV9SRUxFQVNFX0RBVEVUSU1FIGFsc28gaW4gd2luMzIgY29uZmlnLmgKCjIwMTAtMTAtMTYgMDE6MzM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuMiBwcmUtcmVsZWFzZQoKMjAxMC0xMC0xNiAwMToyNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9lbC5wbzoKCSogcG8vdmkucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTEwLTE1IDEzOjIyOjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogRG9uJ3QgZGlzdCBnZW5lcmF0ZWQgb3JjIGZpbGVzCgoyMDEwLTEwLTE1IDE0OjAyOjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIFVwZGF0ZSBnZW5lcmF0ZWQgb3JjIGNvZGUKCjIwMTAtMTAtMTUgMTg6MDA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgT3JjIHJlcXVpcmVtZW50IHRvIDAuNC4xMQoKMjAxMC0xMC0xNCAxNzo0MTozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVXNlIHRoZSByaWdodCBjb25zdGFudCB0byBkZWZpbmUgdGhlICJ1c2UtcGlwZWxpbmUtY2xvY2siIHByb3BlcnR5CgkgIFRoZSB3cm9uZyAjZGVmaW5lIHdhcyBiZWluZyB1c2VkLCBub3cgdXNlIHRoZSBjb3JyZWN0IG9uZS4KCjIwMTAtMTAtMTQgMTI6MzE6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YTY2OGJmIHRvIDdiYmQ3MDgKCjIwMTAtMTAtMTQgMTc6MjY6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgYWMzOiBkZW11eGVycyBwcm92aWRlIGZyYW1lZCBvdXRwdXQKCjIwMTAtMTAtMTQgMDA6MTE6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgbWF0cm9za2FtdXg6IHJlZHVjZSBuZXdzZWdtZW50IGV2ZW50IHNwYW0gYW5kIHNldCBkaXNjb250IGZsYWcgd2hlcmUgbmVlZGVkCgkgIE9ubHkgc2VuZCBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIG5ldyBwb3NpdGlvbnMgZG93bnN0cmVhbSB3aGVuIGFjdHVhbGx5CgkgIG5lZWRlZCwgaW5zdGVhZCBvZiBzZW5kaW5nIG11bHRpcGxlIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggbmV3IHNlZWsKCSAgcG9zaXRpb25zIGluIGEgcm93LiBBbHNvIHNldCB0aGUgZGlzY29udCBmbGFnIG9uIGJ1ZmZlcnMgYWZ0ZXIgYQoJICBkaXNjb250aW51aXR5LgoKMjAxMC0xMC0xMyAyMzo0NjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBtYXRyb3NrYW11eDogc2V0IGNvcnJlY3QgYnVmZmVyIG9mZnNldHMgYWZ0ZXIgc2Vla3MKCSAgUmUtdXNlIHRoZSBleGlzdGluZyAncG9zJyBmaWVsZCBtYWludGFpbmVkIGJ5IGVibWwgd3JpdGVyIHRvIHNldAoJICBidWZmZXIgb2Zmc2V0cy4gVGhpcyBhbHNvIG1ha2VzIHN1cmUgdGhhdCB3ZSBzZXQgdGhlIHJpZ2h0IG9mZnNldHMKCSAgb24gYnVmZmVycyBhZnRlciBhIHNlZWsgKGUuZy4gd2hlbiB3cml0aW5nIGFuIGluZGV4IGF0IHRoZSBlbmQpLgoKMjAxMC0xMC0xNCAwMDoyMjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBmb3J3YXJkIHRhZyBldmVudHMgZG93bnN0cmVhbQoJICBEb24ndCBmb3J3YXJkIHN0cmVhbS1zcGVjaWZpYyB0YWcgZXZlbnRzIGRvd25zdHJlYW0gKGVzcC4gbm90CgkgIGJlZm9yZSBhbnkgbmV3c2VnbWVudCBldmVudCkueAoKMjAxMC0xMC0xMyAxNzoxNToyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGhhbmRsZSBhbm90aGVyIG1wNHYgdmFyaWF0aW9uCgkgIC4uLiBpbmNsdWRpbmcgdGhlIGdsYmwgYXRvbSBjb250YWluaW5nIGNvZGVjLWRhdGEuCgoyMDEwLTEwLTEzIDE3OjIxOjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBhIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoKMjAxMC0xMC0xMyAxNzoxMzowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdmFyaW91cyAoc3lzKTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTEzIDE2OjI1OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHZhcmlvdXMgKGV4dCk6IGFkZCBhIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoKMjAxMC0xMC0xMyAxNjozNDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJICB2YXJpb3VzOiB3cmFwIHByb3BlcnR5IHJlZ2lzdHJhdGlvbiBhbmQgYWRkIGEgc2luZ2xlIGZpeG1lIGZvciBsb25nIGRlc2MuCgoyMDEwLTEwLTEzIDExOjQ2OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBhbHdheXMgbWFyayB0aGUgY29kZWNfZGF0YSBhcyBrZXlmcmFtZQoJICBXZSBuZWVkIHRvIG1hcmsgdGhlIGNvZGVjX2RhdGEgYXMgYSBrZXlmcmFtZSBvciBlbHNlIGRvd25zdHJlYW0gZGVjb2RlcnMgbWlnaHQKCSAgZGVjaWRlIHRvIHNraXAgaXQsIHdhaXRpbmcgZm9yIGEga2V5ZnJhbWUuCgkgIEZpeGVzICM2MzE5OTYKCjIwMTAtMTAtMTMgMDc6MTY6NDcgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBidWZmZXIgb2Zmc2V0cyBhIGJ5dGUgY291bnQgcmF0aGVyIHRoYW4gYSBidWZmZXIgY291bnQKCjIwMTAtMTAtMDcgMjE6MTI6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBleHQsIGdzdDogY2Fub25pY2FsaXNlIHByb3BlcnR5IG5hbWVzIHdoZXJlIHRoaXMgd2Fzbid0IHRoZSBjYXNlCgkgIGllLiAiZm9vX2JhciIgLT4gImZvby1iYXIiCgoyMDEwLTEwLTEyIDE1OjAyOjQyICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBmaXggdGltZXN0YW1waW5nIG9mIHJ0cCBidWZmZXJzCgkgIEluY29tbWluZyBidWZmZXIgaXMgb25seSBwdXNoZWQgb24gdGhlIGFkYXB0ZXIgYXQgdGhlIGVuZCBvZiB0aGUKCSAgaGFuZGxlX2J1ZmZlciBmdW5jdGlvbi4gQnV0IGR1cmF0aW9uL3RpbWVzdGFtcCBvZiB0aGlzIGJ1ZmZlciBpcyBhbHJlYWR5CgkgIHRha2VuIGludG8gYWNjb3VudCBmb3IgdGhlIGN1cnJlbnQgZGF0YSBpbiB0aGUgYWRhcHRlci4gVGhpcyBsZWFkcyB0bwoJICB3cm9uZyBydHAgdGltZXN0YW1wcyBhbmQgZXh0cmEgbGF0ZW5jeS4KCjIwMTAtMTAtMTIgMTE6Mzc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IEZpeCBidWlsZCB3aXRoIEdUSysgMy4wCgoyMDEwLTEwLTExIDE1OjEyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXJrIGFzIGEgc291cmNlCgkgIE1hcmsgdGhlIHJ0c3BzcmMgZWxlbWVudCBhcyBhIHNvdXJjZS4KCSAgUmVxdWlyZXMgMC4xMC4zMS4xIG5vdwoKMjAxMC0xMC0xMSAxNDoyNDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IFNldCBHU1RfRUxFTUVOVF9JU19TT1VSQ0UgZmxhZyBvbiBzb3VyY2VzCgoyMDEwLTEwLTExIDE0OjIxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSAgc3dpdGNoc3JjOiBTZXQgdGhlIEdTVF9FTEVNRU5UX0lTX1NPVVJDRSBmbGFnCgoyMDEwLTEwLTExIDE0OjE3OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIGNvcmUgMC4xMC4zMC4xCgoyMDEwLTEwLTEwIDE0OjQzOjU4ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgbWF0cm9za2FtdXg6IHNldCBvZmZzZXRzIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMTAtMTAtMDkgMTQ6MTQ6MjcgKzAyMDAgIElPaGFubmVzIG0gem3DtmxuaWcgPHptb2VsbmlnQGllbS5hdD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBPbmx5IGdldC9zZXQgb3ZlcmxheSBwYXJhbXMgaWYgbmVlZGVkCgkgIGl0J3MgcGVyZmVjdGx5IG9rIGZvciBhIHZpZGVvIG91dHB1dCBkZXZpY2UgdG8gbm90IGhhdmUgb3ZlcmxheSBjYXBhYmlsaXRpZXMuCgkgIHRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgbmVlZCB0byBnZXQvc2V0IHRoZSBvdmVybGF5IHBhcmFtZXRlcnMgaWYgdGhlIHVzZXIKCSAgZG9lcyBub3QgZXhwbGljaXRlbHkgcmVxdWVzdCBvbmUgb2YgdGhlIG92ZXJsYXkgcHJvcGVydGllcwoKMjAxMC0wOS0zMCAxNToyODoyMyArMDIwMCAgSU9oYW5uZXMgbSB6bcO2bG5pZyA8em1vZWxuaWdAaWVtLmF0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFByb3RlY3QgYWdhaW5zdCBOVUxMLXBvaW50ZXIgYWNjZXNzCgkgIGdzdF92NGwyc2lua19jaGFuZ2Vfc3RhdGUoKSB3b3VsZCBmcmVlIHRoZSBwb29sIHdpdGhvdXQgY2hlY2tpbmcgd2hldGhlciB0aGVyZQoJICB3YXMgYSB2YWxpZCBwb29sLi4uCgoyMDEwLTEwLTA4IDEyOjQzOjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzRhOGFkYyB0byA1YTY2OGJmCgoyMDEwLTEwLTA4IDEyOjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWUzYzliZiB0byBjNGE4YWRjCgoyMDEwLTEwLTA2IDExOjI5OjU1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCByZXF1aXJlZCBmaWVsZHMgbG9naWMKCSAgQm90aCBoaXN0b3J5X2NvdW50IGFuZCBmaWVsZHNfcmVxdWlyZWQgY291bnQgZnJvbSAxLiBBcyBwZXIgdGhlIHdoaWxlIGxvb3AKCSAgY29uZGl0aW9uIHRoYXQgZm9sbG93cyB0aGlzIGNvZGUsIHRvIHBlcmZvcm0gdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCB3ZSBuZWVkCgkgIGhpc3RvcnlfY291bnQgPj0gZmllbGRzX3JlcXVpcmVkIGZpZWxkcyBpbiB0aGUgaGlzdG9yeS4gVGhlcmVmb3JlIGlmIHdlIGhhdmUKCSAgaGlzdG9yeV9jb3VudCA8IGZpZWxkc19yZXF1aXJlZCAobm90IGZpZWxkc19yZXF1aXJlZCArIDEpLCB3ZSBuZWVkIG1vcmUgZmllbGRzLgoKMjAxMC0wOS0yMCAxOTo0Mzo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiByZXNlbmQgb25NZXRhZGEgdGFnIHdoZW4gdGFncyBjaGFuZ2VzIGluIHN0cmVhbWFibGUgbW9kZQoKMjAxMC0xMC0wNSAxOTo0MDo1MCArMDEwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFBQyBjb2RlY19kYXRhIGNhbiBiZSA+IDIgYnl0ZXMgbG9uZwoJICBUaGlzIGZpeGVzIHRoZSBhc3N1bXB0aW9uIHRoYXQgRGVjb2RlclNwZWNpZmljSW5mbyBtdXN0IGJlIDIgYnl0ZXMgbG9uZwoJICBmb3IgQUFDIGZpbGVzLiBUaGUgc3BlY2lmaWNhdGlvbiBhbGxvd3MgSEUtQUFDIHRvIGJlIGV4cGxpY2l0bHkKCSAgc2lnbmFsbGVkIGluIGEgYmFja3dhcmQgY29tcGF0aWJsZSB3YXkuIFRoaXMgaXMgZG9uZSBieSBtZWFucyBvZiBhbgoJICBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFmdGVyIHRoZSByZWd1bGFyIEFBQyBoZWFkZXIuIEl0IGlzIGV4cGVjdGVkIHRoYXQKCSAgZGVjb2RlcnMgdGhhdCBjYW4gcGxheSBBQUMgYnV0IG5vdCBIRS1BQUMgd2lsbCBwYXJzZSB0aGUgaGVhZGVyIG5vcm1hbGx5CgkgIGFuZCBpZ25vcmUgZXh0ZW5kZWQgYml0cywgbXVjaCBhcyB0aGV5IGRvIGZvciB0aGUgSEUtQUFDIHNwZWNpZmljIHBheWxvYWQKCSAgaW4gdGhlIGFjdHVhbCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIzMTMKCjIwMTAtMTAtMDUgMTY6MDE6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgdW5yZWYgYnVmZmVyIHdoZW4gbm8gbG9uZ2VyIG5lZWRlZCBmb3IgY2x1c3RlciBzY2FubmluZwoJICBGaXhlcyAjNjI5MDQ3LgoKMjAxMC0xMC0wNSAxNjowMDo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgaW5maW5pdGUgY2x1c3RlciBzY2FubmluZwoKMjAxMC0xMC0wNSAxMjoyMDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tOiB0YWtlIGR1cmF0aW9uIGludG8gYWNjb3VudCB3aGVuIGRvaW5nIFFvUwoJICBUYWtlIHRoZSBkdXJhdGlvbiBvZiB0aGUgZnJhbWVzIGludG8gYWNjb3VudCBzbyB0aGF0IHdlIGRvbid0IGRyb3AgZnJhbWVzIHRoYXQKCSAgYXJlIG9ubHkgcGFydGlhbGx5IHBhc3QgdGhlIFFvUyBkZWFkbGluZS4KCjIwMTAtMTAtMDUgMTA6NDA6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb206IHVzZSBhZGFwdGVyIGZvciB0aW1lc3RhbXBpbmcKCSAgVXNlIHRoZSBhZGFwdGVyIHRpbWVzdGFtcCBjb2RlIHRvIGdldCBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcHMuCgkgIEZpeCBsYXRlbmN5IGNhbGN1bGF0aW9uLCB3ZSBhZGQgb3VyIG93biBsYXRlbmN5IGluIHRoZSB3b3JzdCBjYXNlLgoKMjAxMC0xMC0wNCAyMjozMTozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSAgcmF3MTM5NDogRG9uJ3QgY29tcGlsZSBoZHYxMzk0c3JjIGlmIGxpYmllYzYxODgzIGlzbid0IGF2YWlsYWJsZQoJICBGaXhlcyAjNjI5ODk2CgoyMDEwLTA5LTIwIDE5OjQ0OjA5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGZvcndhcmQgdGFnIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwMjA1CgoyMDEwLTEwLTA0IDE5OjAwOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiByZXBvcnQgb3VyIGxhdGVuY3kgY29ycmVjdGx5CgkgIEZpeGVzICM2MzEzMDMKCjIwMTAtMTAtMDQgMTg6NTY6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IGFkZCBkZWZpbmVzIGZvciBkZWZhdWx0IHdpZHRoL2hlaWdodC9mcHMKCSAgQWRkIHNvbWUgZGVmaW5lcyBmb3IgdGhlIGRlZmF1bHQgd2lkdGgvaGVpZ2h0L2ZwcyBpbnN0ZWFkIG9mIHVzaW5nIGRpZmZlcmVudAoJICB2YWx1ZXMgaW4gZGlmZmVyZW50IHBsYWNlcy4KCjIwMTAtMTAtMDQgMTg6NTI6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGFkZCBsYXRlbmN5IGNvbXBlbnNhdGlvbiBjb2RlLgoJICBJbXBsZW1lbnQgYSBsYXRlbmN5IHF1ZXJ5IGFuZCByZXBvcnQgaG93IG11Y2ggbGF0ZW5jeSB3ZSB3aWxsIGFkZCB0byB0aGUKCSAgc3RyZWFtLgoJICBBbHNlIG1ha2Ugc29tZSBkZWZhdWx0cyBmb3IgdGhlIGRlZmF1bHQgd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZQoJICBGaXhlcyAjNjMxMzAzCgoyMDEwLTEwLTA0IDE3OjU2OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEucHk6CgkgIHRlc3Q6IGFkZCBweXRob24gdmVyc2lvbiBvZiB0aGUgYXVkaW8gc2VuZGVyCgkgIEFkZCBhIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBhdWRpbyBzZW5kZXIgcGlwZWxpbmUuCgkgIFBvcnRlZCBieSBTcDRyYyBvbiBJUkMuCgoyMDEwLTEwLTA0IDE3OjUyOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnB5OgoJICB0ZXN0czogQWRkIHB5dGhvbiBSVFAgY2xpZW50IGV4YW1wbGUKCSAgQWRkIGEgcHl0aG9uIHZlcnNpb24gb2YgdGhlIFBDTUEgY2xpZW50IGFwcC4KCSAgUG9ydGVkIGJ5IFNwNHJjIG9uIElSQy4KCjIwMTAtMTAtMDQgMDk6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgIHJ0cDogRml4IHVuaXRpYWxpemVkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TIFggYnVpbGQgYm90CgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZyB0aG91Z2gsIHRoZSB2YXJpYWJsZXMgYXJlIG9ubHkgdXNlZCBpbgoJICB0aGUgY2FzZXMgd2hlcmUgdGhleSAqYXJlKiBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMTAtMDMgMjM6NDk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkgIHJ0cGc3MjJwYXk6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgVGhlIGNsb2NrIHJhdGUgaXMgYWx3YXlzIDgwMDAgSHogYWNjb3JkaW5nIHRvIHRoZSBSRkMgYW5kCgkgIHRoZSBzYW1wbGluZyByYXRlIG11c3QgYWx3YXlzIGJlIDE2MDAwIEh6LgoKMjAxMC0xMC0wMSAxMzo1OToxMCArMDQwMCAgVmxhZGltaXIgRXJlbWVldiA8ZXJlbWVldkBhdGxhbnRpcy5ydT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgYXJ0aWNsZSByZWZlcmVuY2UgaW4gY29tbWVudCBibG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxMDgyCgoyMDEwLTA0LTMwIDIxOjAwOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgIHF0ZGVtdXg6IFVzZSBwYnV0aWxzIGZvciBILjI2NCBwcm9maWxlL2xldmVsIGV4dHJhY3Rpb24KCSAgVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGV4dHJhY3QgdGhpcyBkYXRhIGhhdmUgYmVlbiBtb3ZlZCB0byBnc3RwYnV0aWxzIHRvCgkgIGZhY2lsaXRhdGUgcmV1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTczMTgKCjIwMTAtMDQtMzAgMjE6MDA6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBwYnV0aWxzIGZvciBILjI2NCBwcm9maWxlL2xldmVsIGV4dHJhY3Rpb24KCSAgVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGV4dHJhY3QgdGhpcyBkYXRhIGhhdmUgYmVlbiBtb3ZlZCB0byBnc3RwYnV0aWxzIHRvCgkgIGZhY2lsaXRhdGUgcmV1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTczMTgKCjIwMTAtMDQtMjIgMTk6Mzk6NDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgTVBFRy00IHZpZGVvIHByb2ZpbGUgYW5kIGxldmVsIGluIHN0cmVhbSBjYXBzCgkgIFRoaXMgdXNlcyBnc3RwYnV0aWxzIHRvIGV4dHJhY3QgdGhlIHByb2ZpbGUgYW5kIGxldmVsIGZyb20gdGhlIHZpZGVvCgkgIG9iamVjdCBzZXF1ZW5jZSBhbmQgYWRkcyB0aGlzIHRvIHN0cmVhbSBjYXBzLiBUaGlzIGNhbiBiZSB1c2VkIGFzCgkgIG1ldGFkYXRhIGFuZCBmb3IgZmluZS1ncmFpbmVkIGRlY29kZXIgc2VsZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2NTIxCgoyMDEwLTA5LTMwIDEyOjQ0OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGFhYyBjaGFubmVsIG92ZXJyaWRlIGJhc2VkIG9uIGNvZGVjIGRhdGEgZm9yIDcuMSBjYXNlCgoyMDEwLTA0LTMwIDE0OjA2OjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBBQUMgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIEFBQyBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzIGZvciB1c2UgYXMgbWV0YWRhdGEgYW5kCgkgIChldmVudHVhbGx5KSBmb3IgbW9yZSBmaW5lLWdyYWluZWQgc2VsZWN0aW9uIG9mIGRlY29kZXJzIGF0CgkgIGNhcHMtbmVnb3RpYXRpb24gdGltZS4gKERvZXNuJ3Qgd29yayBmb3IgSEUtQUFDIHlldCB0aG91Z2guKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMzEzCgoyMDEwLTA5LTMwIDE4OjM0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJICBydHA6IGFkZCBHNzIyIHBheSBhbmQgZGVwYXlsb2FkZXIKCjIwMTAtMDktMzAgMTI6MDg6NDkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiB1cGRhdGUgbGluayB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTMwIDExOjM0OjU2ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJICBleGFtcGxlczogZml4IGluZGVudGF0aW9uIG9uIHJ0cCBjbGllbnQgZXhhbXBsZQoKMjAxMC0wOS0zMCAxMTozMzoyNCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkgIGV4YW1wbGVzOiBmaXggdHlwbyBpbiBwb3J0IG9mIHJ0cCBleGFtcGxlcwoKMjAxMC0wOS0yOSAxMzoyMDoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IG1pbmlzY3VsZSBjb2RlIGNsZWFuLXVwCgkgIEdTVF9DTE9DS19USU1FX05PTkUgaXMgbm90IHNvbWV0aGluZyB0aGF0IHNob3VsZCBiZSB1c2VkIGluIGNvbm5lY3Rpb24gd2l0aAoJICBHU1RfRk9STUFUX0JZVEVTLgoKMjAxMC0wOS0yOSAxMDozNDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXZlcnNlIHBsYXliYWNrOyBwcmV2ZW50IG92ZXJsYXAgb2Ygc3Vic2VxdWVudCBmcmFnbWVudHMKCjIwMTAtMDktMjggMTY6MjE6NDggKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtaXNzaW5nIG51bGwtdGVybWluYXRvciBpbiBwcm90b2NvbHMgYXJyYXkKCSAgRml4ZXMgcmFuZG9tIGNyYXNoIHJlZ3Jlc3Npb24gZnJvbSBjb21taXQgYWU4NGFlLgoKMjAxMC0wOS0yNCAxNjoyNjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgYWRkIC9VRFAgaW4gdGhlIHRyYW5zcG9ydCwgaXQncyB0aGUgZGVmYXVsdAoJICBkb24ndCBhZGQgdGhlIGRlZmF1bHQgVURQIGxvd2VyLXRyYW5zcG9ydCwgc29tZSBzZXJ2ZXJzIGRvbid0IHNlZW0gdG8gbGlrZSBpdC4KCSAgRml4ZXMgIzYzMDUwMAoKMjAxMC0wNi0yNSAxNzowODowMyArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwbWFuYWdlcjogcGFja2V0IGxvc3Qgc2hvdWxkIG5vdCBiZSBhIHdhcm5pbmcuIEl0IGhhcHBlbnMgYWxsIHRoZSB0aW1lLi4uCgoyMDEwLTA5LTI0IDE1OjMzOjQwICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IE1ha2UgY2xlYW5pbmcgdXAgc291cmNlcyBpbiBydHBfc2Vzc2lvbl9vbl90aW1lb3V0IE1UIHNhZmUKCSAgVXNpbmcgX2ZvcmVhY2hfcmVtb3ZlIG9uIHRoZSBoYXNodGFibGUsIHdoaWxlIHJlbGVhc2luZyB0aGUgbG9jayBwcm90ZWN0aW5nCgkgIHRoYXQgdGFibGUgaW5zaWRlIHRoZSBjYWxsYmFjayBpcyBub3QgYSBnb29kIGlkZWEuIFRoZSBoYXNodGFibGUgbWlnaHQKCSAgdGhlbiBjaGFuZ2UgKGEgc291cmNlIHJlbW92ZWQgb3IgYWRkZWQpIHdoaWxlIHNpZ25hbHMgbGlrZSBvbl90aW1lb3V0CgkgIGFyZSBiZWluZyBzZW50LgoJICBUaGlzIHNvbHV0aW9uIG1ha2VzIGEgY29weSBvZiB0aGUgdGFibGUsIHBlcmZvcm1zIHRoZSBfZm9yZWFjaCB3aXRob3V0CgkgIGFjdHVhbGx5IHJlbW92aW5nIGFueSBzb3VyY2VzLCBidXQgbWFya3MgdGhlbSBmb3IgcmVtb3ZhbCBvbiBhIHNlY29uZAoJICBpdGVyYXRpb24gd2l0aCB0aGUgcmVhbCBsaXN0LCBidXQgdGhpcyB0aW1lIG5vdCBsZXR0aW5nIGdvIG9mIHRoZSBsb2NrLgoJICBGaXhlcyAjNjMwNDUyCgoyMDEwLTA5LTI0IDE1OjE5OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IFNhbml0aXplIGlkMyBmcmFtZSBuYW1lcwoJICBUaGlzIGlzIHNpbWlsYXIgdG8gd2hhdCBpcyBkb25lIGluIHF0ZGVtdXguIEF2b2lkcyBwcm92aWRpbmcgaW52YWxpZAoJICBzdHJ1Y3R1cmUvdGFncyBuYW1lcwoKMjAxMC0wOS0yNCAxNDo1OTo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgYXBlZGVtdXg6IFNraXAgZW1wdHkgdGFncwoJICBBdm9pZCBjcmVhdGluZyBib2d1cyBzdHJpbmcgdGFncy4gQWxzbyBhZGRlZCBsb2dnaW5nIG9mIHRoZSBzdHJpbmcKCSAgdmFsdWVzIG9mIHRoZSB0YWcgbmFtZSBhbmQgdmFsdWUuCgoyMDEwLTA5LTI0IDA4OjU2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0CgoyMDEwLTA0LTEyIDA5OjQ5OjE0ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEhhbmRsZSByeXNuYyBvZiBpdGVyYXRvciB3aGVuIGxvb2tpbmcgZm9yIGZyZWUgcGFkIG5hbWUKCSAgSWYgYSBuZXcgcGFkIHdhcyBhZGRlZCB3aGlsZSBpdGVyYXRpbmcgdGhlbiBhIHBhZCBjb3VsZCBiZQoJICByZXR1cm5lZCB0aGF0IHdhcyBhbHJlYWR5IGluIHVzZS4KCSAgRml4ZXMgIzYzMDQ1MQoKMjAxMC0wOS0yNCAxNDowOToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IGNvbXBpbGF0aW9uCgoyMDEwLTA0LTA3IDE1OjMxOjUyICswMjAwICBUcm9uZCBBbmRlcnNlbiA8dHJvbmQuYW5kZXJzZW5AdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVW5sb2NrIGJlZm9yZSBhZGRpbmcgcGFkIGluIG5ld19wYXlsb2FkX2ZvdW5kCgkgIEhvbGRpbmcgaW50ZXJuYWwgbG9ja3Mgd2hpbGUgcG90ZW50aWFsbHkgY2FsbGluZyBvdXQgaXMgYSBzb3VyY2UKCSAgb2YgZGVhZGxvY2tzLCBhbmQgaW4gdGhpcyBjYXNlIHRoZSBhcHBsaWNhdGlvbiBtaWdodCBzdWJzY3JpYmUgdG8gdGhlCgkgIHBhZC1hZGRlZCBzaWduYWwuCgkgIEZpeGVzICM2MzA0NDkKCjIwMDktMDgtMzEgMTg6Mzc6NDAgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVsYXggdGhpcmQtcGFydHkgY29sbGlzaW9uIGRldGVjdGlvbgoJICBJZiB0aGUgc291cmNlIGhhcyBiZWVuIGluYWN0aXZlIGZvciBzb21lIHRpbWUsIHdlIGFzc3VtZSB0aGF0IGl0IGhhcwoJICBzaW1wbHkgY2hhbmdlZCBpdHMgdHJhbnNwb3J0IHNvdXJjZSBhZGRyZXNzLiBIZW5jZSwgdGhlcmUgaXMgbm8gdHJ1ZQoJICB0aGlyZC1wYXJ0eSBjb2xsaXNpb24gLSBvbmx5IGEgc2ltdWxhdGVkIG9uZS4KCSAgRml4ZXMgIzYzMDQ0NwoKMjAxMC0wOS0yNCAxMzo1MDowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMTAtMDktMjQgMTM6NDg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBzaW1wbGlmeSB0aGUgcmF0ZSBlc3RpbWF0aW9uIHNvbWUgbW9yZQoKMjAwOS0wOC0zMSAxODozNDowOCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IHByb3ZpZGUgYWRkaXRpb25hbCBzdGF0aXN0aWNzCgoyMDEwLTA5LTI0IDAwOjAxOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzZXQgcGx1Z2luIHJlbGVhc2UgZGF0ZXRpbWUKCjIwMTAtMDktMjMgMjE6MjE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgIGVxdWFsaXplcjogZml4IGNsYXNzIGRlZmluaXRpb25zCgkgIENsYXNzIHN0cnVjdHVyZXMgbXVzdCBiZSBiYXNlZCBvbiB0aGUgcGFyZW50IGNsYXNzIHN0cnVjdCwgbm90IG9uCgkgIHRoZSBwYXJlbnQgaW5zdGFuY2Ugc3RydWN0LgoKMjAxMC0wOS0xNSAyMDozNjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogcHJlLXJlZ2lzdGVyIHBhZCBjbGFzcyBwcm9wZXJseSB3aXRoIGdfdHlwZV9jbGFzc19yZWYKCSAgRml4IGNvZGUgdG8gbWF0Y2ggdGhlIGNvbW1lbnQuIEFsc28sIHRoZXJlJ3Mgbm8gbmVlZCB0byByZWdpc3RlciB0aGUKCSAgYmFja2dyb3VuZCBlbnVtIHR5cGUgYWdhaW4sIHRoaXMgaXMgYWxyZWFkeSBkb25lIHZpYSBpbnN0YWxsX3Byb3BlcnR5LgoKMjAxMC0wOS0yMyAyMTo1NzoxOCArMDIwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBGaXggY3Jhc2hlcyB3aXRoIE1TVkMKCSAgVXNpbmcgdGhlIHN5bWJvbHMgZm9yIHRoZSBkaWZmZXJlbnQgU3BlZXggbW9kZXMgcmVzdWx0cwoJICBpbiBjcmFzaGVzIHdoZW4gdXNpbmcgTVNWQy4gVXNlIHRoZSBsaWJyYXJ5IGZ1bmN0aW9ucyB0bwoJICBnZXQgdGhlIG1vZGVzIGluc3RlYWQuCgkgIEZpeGVzIGJ1ZyAjNjMwMzc4LgoKMjAxMC0wOC0yNCAxMzoyNTowMiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBhdm9pZCBkaXZpc2lvbiBieSB6ZXJvIG9uIHNpbGVuY2UKCSAgRml4ZXMgYnVnICM2MzA0NTguCgoyMDEwLTA5LTIzIDE2OjQ2OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcGFyc2UgYW5kIHVzZSBjdHMKCSAgRm9yIEgyNjQsIHRoZXJlIGlzIGFuIGV4dHJhIGhlYWRlciBjb250YWluaW5nIHRoZSBDVFMsIHdoaWNoIGlzIGEgdGltZXN0YW1wCgkgIG9mZnNldCB0aGF0IHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBQVFMuIFBhcnNlIHRoaXMgdmFsdWUgYW5kIHVzZSBpdCB0byBhZGp1c3QKCSAgdGhlIHB0cy4KCSAgRml4ZXMgIzYzMDA4OAoKMjAxMC0wOS0yMyAxNjo0NTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGltcHJvdmUgcHRzIGRlYnVnZ2luZwoKMjAxMC0wOS0yMiAxOTowMTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJICBwdWxzZTogYWRkIHRlc3QgYXBwIGZvciBwdWxzZSBkZXZpY2UgcHJvYmUKCjIwMTAtMDktMjIgMTg6NTA6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogZml4IGRldmljZV9kZXNjcmlwdGlvbiBpbiBSRUFEWQoJICBNYWtlIHRoZSBpc19kZWFkIGNoZWNrIG1vcmUgY2xlYXIgYW5kIGFkZCBhbiBvcHRpb24gdG8gY2hlY2sgZm9yIHRoZSBzdGF0dXMgb2YKCSAgdGhlIHN0cmVhbSBpbiBhZGRpdGlvbiB0byB0aGUgY29udGV4dC4KCSAgV2UgZG9uJ3QgbmVlZCBhIHN0cmVhbSB0byBnZXQgdGhlIGRldmljZV9kZXNjcmlwdGlvbiBzdHJpbmcuCgkgIEZpeGVzICM2MzAzMTcKCjIwMTAtMDktMjIgMTI6NTY6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IHBvc3QgdGFncyBpZiB0aGVyZSBhcmUgbm9uZQoJICBBbmQgbWFrZSBhbGwgY29kZSBnbyB0aHJvdWdoIF9wb3N0X2dsb2JhbF90YWdzLgoKMjAxMC0wOS0yMiAxMjozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogcmVmYWN0b3IgYW5kIHNpbXBsaWZ5IEFVIG1lcmdpbmcKCSAgTW92ZSB0aGUgcHJvY2Vzc2luZyBvZiB0aGUgTkFMVSB0byBhIHNlcGFyYXRlIG1ldGhvZC4KCSAgU2ltcGxpZnkgdGhlIG1lcmdpbmcgb2YgTkFMVSBpbnRvIEFVIGFuZCB1c2UgY29tbW9uIGNvZGUgd2hlbiBwb3NzaWJsZS4KCjIwMTAtMDktMjEgMjM6MjM6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IGFkZCBvcHRpb25hbCBib3JkZXIgcGFyYW1ldGVyIGFuZCBzbG93ZG93biBhbmltYXRpb24KCSAgQWxsb3cgdG8gcGxheSB3aXRoIHRoZSBib3JkZXIgcHJvcGVydHkgKHNoYXJwL3NvZnQgZWRnZXMpLgoKMjAxMC0wOS0yMSAxOToxNDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZvcmNlIGZvcm1hdCB0byBBWVVWIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lIGZvciB0aGUgc2FtZSByZWFzb24KCjIwMTAtMDktMjEgMTk6MTM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogRm9yY2UgdGhlIGlucHV0IHRvIEFZVVYgdG8gcHJldmVudCBuZWdvdGlhdGlvbiBmYWlsdXJlcyBpbiB2aWRlb21peGVyCgkgIFRoZSBzZWNvbmQgdmlkZW90ZXN0c3JjIGNoYWluIG1pZ2h0IHByb2R1Y2UgWVVZMiBiZWNhdXNlIGV2ZXJ5dGhpbmcgaXMKCSAgYWNjZXB0ZWQgZG93bnN0cmVhbSBiZWZvcmUgdGhlIGZpcnN0IHNoYXBld2lwZSBjaGFpbiBnZXRzIG5lZ290aWF0ZWQuCgoyMDEwLTA5LTIxIDE5OjEyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGltbWVkaWF0ZWx5IHJldHVybiBlbXB0eSBjYXBzIGZyb20gdGhlIGdldGNhcHMgZnVuY3Rpb25zCgoyMDEwLTA5LTIxIDE4OjMzOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhYTBkMWQwIHRvIDVlM2M5YmYKCjIwMTAtMDktMjEgMTI6NDk6MzEgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIHY0bDI6IHVzZSB0aGUgeG92ZXJsYXkgQVBJcwoKMjAxMC0wOS0yMSAxMjo0ODozNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHVzZSB0aGUgbmV3IHhvdmVybGF5IEFQSXMKCSAgQWxzbyBidW1wZWQgLWJhc2UgcmVxdWlyZW1lbnRzLgoKMjAxMC0wOS0yMSAxMjozMTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBhZ2FpbiBmb3IgR0lUIHZlcnNpb25zCgoyMDEwLTA5LTIxIDExOjUyOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMDktMjAgMjM6MTc6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSB1dWlkIGF0b21zIGluIHB1c2ggbW9kZQoJICBQYXJzZXMgdXVpZCBhdG9tcyBpbiBwdXNoIG1vZGUgd2hlbiB0aGV5IGFyZSBmb3VuZCwgdGhleSBtaWdodAoJICBjb250YWluIHhtcCB0YWdzLgoJICBBbHNvIGRvZXMgYSBtaW5vciByZWZhY3RvcmluZyB0byBwdXQgdGhlIGdsb2JhbCB0YWdzIHBvc3RpbmcKCSAgaW50byBhIHNpbmdsZSBmdW5jdGlvbiBpbnN0ZWFkIG9mIHJlcGVhdGluZyBpdCBpbiAzIGRpZmZlcmVudAoJICBwbGFjZXMuCgkgIEZpeGVzICM2Mjk4MzkKCjIwMTAtMDktMTYgMDg6MDQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEZWxheSB0YWdzIHBvc3RpbmcgYSBsaXR0bGUKCSAgRGVsYXkgdGFncyBwb3N0aW5nIHVudGlsIHdlJ3ZlIHBhcnNlZCBhbGwgdGhlIGhlYWRlcnMgc28KCSAgdGhhdCB0aGUgbmF0aXZlIGFuZCB4bXAgdGFncyBnZXQgbWVyZ2VkIGJlZm9yZSBwb3N0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk4MzkKCjIwMTAtMDktMTUgMjI6MTM6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBQYXJzZSB4bXAgcGFja2V0IGluIHV1aWQgYXRvbQoJICB4bXAgcGFja2V0IGlzIHBsYWNlZCBpbnRvIGEgdG9wLWxldmVsIHV1aWQgYXRvbSBmb3IKCSAgaXNvbS9tcDQgdmFyaWFudHMuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgcXRkZW11eCBwYXJzZSBhbGwgdG9wLWxldmVsIGF0b21zCgkgIGluIHB1bGwtbW9kZSBiZWZvcmUgc3RhcnRpbmcgdG8gcHVzaCBkYXRhLCBtYWtpbmcKCSAgaXQgYWJsZSB0byBmaW5kIHRob3NlIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk4MzkKCjIwMTAtMDktMTcgMTE6MDc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBzdGF0czogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMC0wOS0xNyAxMTowNzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBwYXk6IHNvbWUgcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMC0wOS0xNSAxODoyMToxMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGxvZ2ljIHdoZW4gcHVzaGluZyBFT1MuCgkgIERvbid0IGNoZWNrIGZvciByZXR1cm4gdmFsdWVzIHdoZW4gcHVzaGluZyBFT1MuIFN0aWxsIHBvc3QgYW4gZXJyb3IgaWYgRU9TIGlzCgkgIHJlYWNoZWQgYW5kIG5vIHN0cmVhbXMgaGF2ZSBiZWVuIGZvdW5kLgoKMjAxMC0wOS0xNSAxNzowMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBkb2NzOiBhZGQgZ3RrLWRvYyBjaHVua3Mgd2l0aCBTaW5jZTogbWFya2VycyBmb3IgbmV3IHY0bDJzcmMgcHJvcGVydGllcwoKMjAxMC0wOS0xNSAxODo0Mzo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNhbWN0cmw6IGFkZCBsaWNlbnNlIGhlYWRlciB0byBkZW1vCgoyMDEwLTA5LTE0IDE3OjQxOjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBzZW5kIEVPUyB0d2ljZSBvbiB0aGUgc2FtZSBwYWQuCgoyMDEwLTA5LTE0IDEwOjA3OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBtb3ZlIHRoZSBzaGFyZWQgbWFpbmxvb3AgZnJvbSBjbGFzcyB0byBzdGF0aWMgdmFyCgkgIEp1c3QgaGF2ZSBvbmUgc3RhdGljIHZhciBmb3IgdGhlIHNoYXJlZCBtYWlubG9vcCBpbnN0ZWFkIG9mIG9uZSBjbGFzcyB2YXJpYWJsZQoJICBhbmQgY29waWVzIGluIHRoZSBpbnN0YW5jZS4KCjIwMTAtMDktMTMgMTc6MzE6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogY2xlYW51cHMgZm9yIERSSSBtYXJrZXJzCgkgIFByb3RlY3QgYWdhaW5zdCBpbnZhbGlkIERSSSBtYXJrZXJzLgoJICBkbyBzb21lIGNsZWFudXBzCgoyMDEwLTA5LTEwIDExOjM1OjUzIC0wNDAwICBBbWVyaWNhbiBEeW5hbWljcyA8R1N0cmVhbWVyLUJ1Z3NAdHljb3NwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBnc3RydHBqcGVncGF5OiBBZGRlZCBEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAoRFJJKSBNYXJrZXIKCSAgQWRkZWQgYWJpbGl0eSB0byBkZXRlY3QgYW5kIHJlc3BvbmQgdG8gYSBKUEVHLWRlZmluZWQgRFJJIG1hcmtlcgoKMjAxMC0wNi0xOSAxOToyMDoxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBTcGxpdCBnZXR0aW5nIHRoZSBjYXBzIGludG8gaXRzIG93biBmdW5jdGlvbgoKMjAxMC0wOS0xMyAxNjowMzo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNtYWxsIGNsZWFudXAuCgoyMDEwLTA5LTEzIDE2OjI0OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiByZXdvcmsgY29udGV4dCBzaGFyaW5nCgkgIFdlIGFsc28gbmVlZCB0byBzaGFyZSB0aGUgbWFpbi1sb29wIHRocmVhZHMgYXMgdGhpcyBvd25zIHRoZSBjb250ZXh0LiBUaHVzIGhhdmUKCSAgYSBjbGFzcyB3aWRlIG1haW4tbG9vcCB0aHJlYWQuIEZyb20gdGhpcyB3ZSBjcmVhdGUgYSBjb250ZXh0IHBlciBjbGllbnQtbmFtZS4KCSAgSW5zdGVhZCBvZiBhbHdheXMgbG9va2luZyB1cCB0aGUgY29udGV4dCwgd2Uga2VlcCB0aGlzIHdpdGggdGhlIGluc3RhbmNlLiBUaGUKCSAgcmV2ZXJzZSBtYXBwaW5nIGlzIG9ubHkgbmVlZGVkIGluIHB1bHNlIHNpbmdhbCBoYW5kbGVycy4gVGhpcyBzYXZlcyBhIGxvdCBvZgoJICBsb2NraW5nLiBBbHNvIG9uZSBzaWduYWwgaGFuZGxlciBiZWNvbWVzIHNpbXBsZXIgYXMgdGhlciBlaXMgb25seSBvbmUgbWFpbmxvb3AKCSAgdG8gbm90aWZ5LgoJICBOb3cgdmFsZ2luZCBoYXBweSAtIG5vIGxlYWtzLCBubyBiYWQgcmVhZHMvd3JpdGVzLgoJICBUaGlzIHJldmVydHMgbWFqb3IgcGFydHMgb2YgY29tbWl0IDY5YTM5N2MzMmY0YmFmMDdhN2IyOTM3YzYxMGY5ZThmMzgzZTlhZTkuCgkgIEZpeGVzICM2Mjg5OTYKCjIwMTAtMDktMTMgMTU6NDQ6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHNlc3Npb246IFNtYWxsIGNsZWFudXBzCgkgIE1ha2UgdGhlIHByb3BlcnR5IGRlc2NyaXB0aW9uIHByZXR0aWVyLgoJICBBY3R1YWxseSBtdWx0aXBsZSB0aGUgYmFuZHdpZHRoIHdpdGggdGhlIGZyYWN0aW9uLgoKMjAxMC0wNi0wMSAyMTozNTo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogQ2FsY3VsYXRlIFJUQ1AgYmFuZHdpZHRoIGFzIGEgZnJhY3Rpb24gb2YgdGhlIFJUUCBiYW5kd2lkdGgKCSAgQ2FsY3VsYXRlIHRoZSBSVENQIGJhbmR3aWR0aCB0byBiZSBhIGZyYWN0aW9uIG9mIHRoZSBSVFAgYmFuZHdpZHRoIGlmIGl0IGlzCgkgIHNwZWNpZmllZCBhcyBhIHZhbHVlIGJldHdlZW4gMCBhbmQgMS4KCjIwMTAtMDktMTMgMTU6Mjk6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGltcHJvdmUgYmFuZHdpZHRoIHJlY2FsY3VsYXRpb24KCSAgQWxzbyByZWNhbGN1bGF0ZSBiYW5kd2lkdGggd2hlbiBvbmUgb2YgdGhlIHNvdXJjZSBiYW5kd2lkdGhzIGNoYW5nZWQuCgkgIFVzZSB0aGUgbmV3bHkgY2FsY3VsYXRlZCBiYW5kd2lkdGguCgoyMDEwLTA2LTAxIDIxOjE3OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHRoZSBvcHRpb24gdG8gYXV0by1kaXNjb3ZlciB0aGUgUlRQIGJhbmR3aWR0aAoKMjAxMC0wOS0xMyAxNDozODoxMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNldCB1c2UtcGlwZWxpbmUtY2xvY2sgb24gY29ycmVjdCBHT2JqZWN0CgoyMDEwLTA2LTAyIDE3OjUxOjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEluaXRpYWxpc2UgdGhlIGF2ZXJhZ2Ugc2NhbGVkIGJ5IDE2CgoyMDEwLTA5LTEzIDEyOjQxOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgcnVubmluZ190aW1lIGFyZ3VtZW50IGRvY3MKCjIwMTAtMDYtMjMgMTY6MTM6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBSZWN0aWZ5IGRlc2NyaXB0aW9uIG9mIGN1cnJlbnRfdGltZSBpbiBSVFBBcnJpdmFsU3RhdHMKCSAgSXQgaXMgdGhlIGN1cnJlbnQgdGltZSwgaXQgaXMgdW5yZWxhdGVkIHRvIHdoZW4gdGhlIHBhY2tldCB3YXMgYWN0dWFsbHkgcmVjZWl2ZWQuCgoyMDEwLTA5LTEzIDEyOjMxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBjb21wdXRlIHRoZSBhdmVyYWdlIGNvcnJlY3RseSBzY2FsZWQKCjIwMTAtMDYtMDEgMjA6MzE6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQ291bnQgc2VudCBSVENQIHBhY2tldHMgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gZmluaXNoZWQKCSAgSWYgdGhleSBhcmUgY291bnRlZCBiZWZvcmUgY2FsbGluZyBnc3RfcnRjcF9idWZmZXJfZW5kKCksIHRoZW4gdGhlCgkgIHNpemUgaXMgd2F5IHRvbyBiaWcuCgoyMDEwLTA2LTAxIDE5OjUxOjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IERvbid0IHVucmVmICBwYWRzIGluIGZpbmFsaXplCgkgIFRoZSBnc3RydHBzZXNzaW9uIG9iamVjdCBpcyBub3QgaG9sZGluZyBhbnkgcmVmZXJlbmNlIHRvIHRoZW0gZGlyZWN0bHkKCjIwMTAtMDktMTIgMDA6MDk6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zIGZvciBuZXcgc291cGh0dHBzcmMgbWVzc2FnZXMKCjIwMTAtMDktMTIgMDA6MDg6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogaG9vayB1cCBpMThuIGJpdHMgZm9yIHBsdWdpbgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgZXRjLgoKMjAxMC0wOS0xMiAwMDowNDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBmaXggZXJyb3IgbWVzc2FnZXMKCSAgRXJyb3IgbWVzc2FnZXMgc2hvdWxkIGJlIHRyYW5zbGF0ZWQuIFVSSXMgYW5kIGZpbGVuYW1lcyBzaG91bGQgbm90CgkgIGJlIHBhcnQgb2YgdGhlIGVycm9yIG1lc3NhZ2Ugc3RyaW5nIHRoYXQncyBzaG93biB0byB0aGUgdXNlci4KCSAgc291cF9tZXNzYWdlLT5yZWFzb25fcGhyYXNlIGlzIG5vdCB0cmFuc2xhdGVkIGFuZCBub3Qgc3VpdGFibGUgYXMKCSAgZXJyb3IgbWVzc2FnZSBmb3IgdXNlcnMgKHNlZSBsaWJzb3VwIGRvY3VtZW50YXRpb24pLiBBbHNvIGZpeCB1cAoJICBlcnJvciBjb2RlcyBhIGJpdCwgYXMgZmFyIGFzIHBvc3NpYmxlIHdpdGggdGhlIGV4aXN0aW5nIGNvZGVzLgoKMjAxMC0wOS0xMCAwOTo0MzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBidWZmZXIgYWxsb2MgZmFpbHMgd2l0aCBOT1RfTElOS0VEIGZsb3cKCSAgVGhpcyBpcyBub3QgZmF0YWwsIGxldCB1cHN0cmVhbSBoYW5kbGUgaXQuCgoyMDEwLTA5LTEwIDE4OjA2OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBjbGVhciBzZHAgd2hlbiBzZXQgYXMgdXJpCgkgIHdoZW4gd2Ugc2V0IHRoZSBTRFAgd2l0aCBhbiB1cmksIGRvbid0IGNsZWFyIGl0IHdoZW4gd2UgZ28gdG8gUkVBRFkuCgoyMDEwLTA5LTEwIDE4OjAxOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2Ugc2RwIHVyaSBwYXJzZSBtZXRob2QKCSAgVXNlIHRoZSBzZHAgcGFyc2UgbWV0aG9kIHRoYXQgZG9lcyBwcm9wZXIgdXJpIGVzY2FwaW5nLgoKMjAxMC0wOS0xMCAxNjo1OToxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgZXhhbXBsZTogYWRkIHY0bDIgZXhhbXBsZSwgZGVtb25zdHJhdGluZyB0aGUgdXNlIG9mIGdzdCBjb250cm9sbGVyCgoyMDEwLTA5LTEwIDE2OjU1OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGRvbid0IHNraXAgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uCgoyMDEwLTA2LTIyIDE1OjQ4OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGFkZCBjb250cm9sYWJsZSBjb2xvcmJhbGFuY2UgcGFyYW1ldGVycwoJICBFeHBvc2UgY29sb3JiYWxhbmNlIGNvbnRyb2xzIGFzIG9iamVjdCBwcm9wZXJ0aWVzIChsaWtlIHdlIGRvIG9uIHh2aW1hZ2VzaW5rKS4KCSAgTWFrZSB0aGVtIGNvbnRyb2xhYmxlLgoKMjAxMC0wOS0xMCAxMzoyNTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBmaXggc29tZSBtaXMtaW1wbGVtZW50YXRpb24KCSAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDktMTAgMTM6MjQ6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogcHJvcGVybHkgaW5zZXJ0IGR1bW15IGJ1ZmZlcnMKCjIwMTAtMDktMTAgMTE6NTU6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHJ0c3Atc2RwIHByb3RvY29sIHN1cHBvcnQKCSAgQWxsb3cgc2V0dGluZyBhbiBTRFAgd2l0aCB0aGUgcnRzcC1zZHA6Ly8gdXJsLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIE1hcmNvIEJhbGxlc2lvLgoJICBTZWUgIzYyODIxNAoKMjAxMC0wOS0xMCAxMTozNTo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IG1ha2UgcGFzc3Rocm91Z2ggd29yay4KCjIwMTAtMDktMDkgMjE6NDM6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIG1wNGFkZXBheTogc21hbGwgbG9nZ2luZyBjbGVhbnVwIGFuZCBhZGRpdGlvbiB0byBkZWJ1ZyBjb25maWcgcGFyc2luZwoKMjAxMC0wOS0wOSAyMTo0Mjo0NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IGZpeCBjb250ZXh0IGluaXRpYWxpc2F0aW9uIGFuZCBmcmVlaW5nIHRvIG5vdCBsZWFrCgoyMDEwLTA5LTA5IDIxOjQwOjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IGFsbG93IHJ1bm5pbmcgc3RhdGUgdGVzdHMgZm9yIGFsbCBlbGVtZW50cwoJICBOb3cgb25lIGNhbiB1c2UgR1NUX05PX1NUQVRFX0lHTk9SRV9FTEVNRU5UUz0xIG1ha2UgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sKCSAgdG8gdHJ5IGVsZW1lbnRzIHRoYXQgd291bGQgbm9ybWFseSBiZSBza2lwcGVkLgoKMjAxMC0wOS0wOSAxODo0Nzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBmaXggcnRwanBlZ3BheSB0ZXN0CgkgIE1ha2UgdGhlIGRhdGEgd2Ugc2VuZCB0byB0aGUganBlZyBwYXlsb2FkZXIgYmUgYSB2YWxpZCBqcGVnIGZpbGUgYmVjYXVzZSB0aGUKCSAgcGF5bG9hZGVyIG5vdyBleHBlY3RzIHRoaXMuCgoyMDEwLTA5LTA5IDE4OjQ3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGltcHJvdmUgZGVidWdnaW5nCgoyMDEwLTA5LTA5IDE2OjMxOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHVzZSB2YWxpZCBiaXRyYXRlIGZvciBkdW1teSBmcmFtZQoKMjAxMC0wOS0wOCAxNzowNzo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogQWRkcyBtYXBwaW5nIGZvciBhbGJ1bSBhcnRpc3QKCSAgTWFwcyBHU1RfVEFHX0FMQlVNX0FSVElTVCB0byBUUEUyIGluIGlkM3YybXV4CgoyMDEwLTA5LTA4IDE4OjM1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIG9yYyAwLjQuOAoJICBUaGUgZGVpbnRlcmxhY2UgcGx1Z2luIGFwcGFyZW50bHkgZmFpbHMgdG8gY29tcGlsZSB3aXRoIG9sZGVyIHZlcnNpb25zLgoKMjAxMC0wOS0wOCAxNzo1MDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUW9TIGhhbmRsaW5nIGxvZ2ljIG9ubHkgYXBwbGllcyB0byBmb3J3YXJkIHBsYXliYWNrCgkgIEZpeGVzICM2Mjg4OTQuCgoyMDEwLTA5LTA4IDE3OjQzOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDEwLTA5LTA4IDE0OjM2OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4dXAgbGFzdCBjb21taXQKCSAgV2UgbmVlZCB0byBwcmV2ZW50IHRoZSBldmVudHVhbCBsZWFrIGJldHRlci4KCjIwMTAtMDktMDggMTQ6MTY6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjb2RlIGNsZWFudXBzCgkgIFVzZSBnX3NsaXN0X3ByZXBlbmQgYXMgd2UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgb3JkZXIuIENoZWNrIGZvciBsaXN0ID09IE5VTEwKCSAgaW5zdGVhZCBvZiBpdGVyYXRpbmcgdGhlIGxpc3QgdG8gc2VlIGlmIGl0IGlzIGVtcHR5LiBNb3ZlIGN0eCBhbGxvY2F0aW9uIGRvd24KCSAgdG8gcHJldmVudCBsZWFrIGluIGNhc2Ugb2YgZmFpbHVyZS4KCjIwMTAtMDktMDggMDc6MTM6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgYnVnICM2MjkwMTguCgoyMDEwLTA5LTA3IDE5OjAyOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNpbXBsaWZ5IGNsb2NrIHByb3ZpZGUgY29kZQoJICBEb24ndCBsZWFrIHRoZSBwdWxzZXNpbmsgZWxlbWVudCBieSBoYXZpbmcgdGhlIGNsb2NrIGtlZXAgYSByZWYgdG8gdGhlIHNpbmsuCgkgIENyZWF0ZSB0aGUgY2xvY2sgb25seSBvbmNlIGluIHRoZSBjb25zdHJ1Y3RvciBhbmQgdXNlIHRoZSBiYXNlYXVkaW9zaW5rIGNsb2NrCgkgIGNsZWFudXAgY29kZS4KCjIwMTAtMDktMDcgMTc6NDk6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBtb3ZlIHRoZSBjb250ZXh0IHRhYmxlIGluaXQgdG8gX2dldF90eXBlIHBoYXNlCgkgIFRoaXMgc2VlbXMgdG8gZml4IHRoZSBpbnZhbGlkIHJlYWRzIG9uIGNvbnRleHQgc2h1dGRvd24gYmV0dGVyLCBhbHRvdWdoCgkgIEkgY2FuJ3QgcmVhbGx5IGV4cGxhaW4uCgoyMDEwLTA5LTA3IDE3OjA2OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2Ugb2xkZXIgZ19hcnJheV9mcmVlCgkgIGdfYXJyYXlfdW5yZWYoKSBpcyBvbmx5IHNpbmNlIDIuMjIKCjIwMTAtMDktMDcgMTY6NDk6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGF2b2lkIGludmFsaWQgYWRhcHRlciBmbHVzaCBvbiBRb1MKCSAgRmlyc3Qgc3RvcmUgdGhlIGF2YWlsYWJsZSBkYXRhIGluIHRoZSBhZGFwdGVyIGluIHRoZSByZW1faW1nX2xlbiBpbnN0YW5jZSBmaWVsZAoJICBiZWZvcmUgdHJ5aW5nIHRvIGZsdXNoIHRoZSBhZGFwdGVyIHdpdGggdGhhdCB2YWx1ZSBvbiBRb1MuCgoyMDEwLTA5LTA3IDE2OjQwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGRvIHNvbWUgbW9yZSBzYW5pdGl0eSBjaGVja3MKCSAgUHJvdGVjdCBzb21lIG1vcmUgYWdhaW5zdCBpbnZhbGlkIGlucHV0LgoKMjAxMC0wOS0wNyAxNToyMDoxMiArMDIwMCAgQW1lcmljYW4gRHluYW1pY3MgPEdTdHJlYW1lci1CdWdzIGF0IHR5Y29zcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAganBlZ3BheTogaGFuZGxlIGNvcnJ1cHRlZCBqcGVnIGJldHRlcgoJICBQcm90ZWN0IGFnYWluc3QgY29ycnVwdGVkIGpwZWcgaW5wdXQuCgoyMDEwLTA5LTA3IDEzOjU1OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnZhd2RlcGF5OiBjbGVhbnVwIHVudXNlZCBmaWVsZHMKCjIwMTAtMDktMDcgMTM6NTE6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGhhbmRsZSBpbnZhbGlkIHBheWxvYWQgYmV0dGVyCgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIG1vcmUgZGF0YSB0aGFuIGF2YWlsYWJsZSBpbiB0aGUgaW5wdXQgYnVmZmVyLgoJICBDbGlwIHRoZSBpbnB1dCBkYXRhIGludG8gdGhlIG91dHB1dCBidWZmZXIuCgoyMDEwLTA4LTE2IDE1OjM1OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IGFsbG93IHNldHRpbmcgc3RyZWFtIHByb3BlcnRpZXMKCSAgQWRkIGEgInByb3BlcnRpZXMiIHByb3BlcnR5IHRvIHRoZSBlbGVtZW50cyB0byBhbGxvdyBzZXR0aW5nIGV4dHJhIHN0cmVhbQoJICBwcm9wZXJ0aWVzLgoJICBGaXhlcyAjNTM3NTQ0CgoyMDEwLTA5LTA3IDEyOjA4OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHJlbW92ZSBpbnRyb3NwZWN0aW9uIGluZm8gZm9yIGdka3BpeGJ1ZjMgcGx1Z2luIGFuZCB1cGRhdGUgdmVyc2lvbiBmb3Igb3RoZXJzCgkgIFRoZSB2ZXJzaW9ucyBnb3QgYWNjaWRlbnRhbGx5IHJldmVydGVkIHRvIGEgcHJlLXJlbGVhc2UgdmVyc2lvbiwgZml4IHRoYXQuCgoyMDEwLTA5LTA3IDExOjQyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzJlMTBiZiB0byBhYTBkMWQwCgoyMDEwLTA5LTA3IDA5OjIwOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgY21tbGRlYzogZml4IGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIEZpeCBidWdneSBHU1RfRkxPV19JU19GQVRBTCBzdWJzdGl0dXRpb24sIGFuZCAnbWFrZSBjaGVjayc6CgkgIC0gIGlmICghR1NUX0ZMT1dfSVNfRkFUQUwgKGRlYy0+Zmxvd19yZXR1cm4pICYmICFkZWMtPnNlbnRfcm9vdCkgewoJICArICBpZiAoZGVjLT5mbG93X3JldHVybiAhPSBHU1RfRkxPV19PSyAmJiAhZGVjLT5zZW50X3Jvb3QpIHsKCjIwMTAtMDktMDcgMDA6Mjc6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCBmcmVlIHRoZSBjb250ZXh0IG11bHRpcGxlIHRpbWVzCgkgIEFwcGFyZW50bHkgdGhlIGNsb3NlIGZ1bmN0aW9uIG9mIHRoZSByaW5nLWJ1ZmZlciBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoKMjAxMC0wOC0xMiAxMjozMzowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBncmFiIHRoZSBzYW1wbGluZyBhcnRlIGFuZCBwdXQgaW50byBjYXBzCgkgIFRoaXMgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gbXV4IHRoZSByZWNlaXZlZCBhdWRpbyBpbnRvIG1wNCAoaW4gdGhlIGNhc2Ugb2YKCSAgYWFjKS4gRml4ZXMgIzYyNTgyNS4KCjIwMTAtMDktMDYgMTQ6NDA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwOiBtYXJrIGNvbnN0YW50IHRhYmxlcyBhcyBjb25zdAoKMjAxMC0wOC0xOCAxNDo0MDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICBydHBhbXJwYXk6IHByb3Blcmx5IHN1cHBvcnQgcGVyZmVjdC1ydHB0aW1lCgoyMDEwLTA4LTE4IDExOjQyOjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cGFtcnBheTogcHJvcGVyIGR1cmF0aW9uIGZvciBtdWx0aXBsZSBmcmFtZSBwYXlsb2FkCgoyMDEwLTA4LTE4IDExOjQyOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwYW1yKGRlKXBheTogc3VwcG9ydCBBTVItV0IgU0lEIGZyYW1lCgoyMDEwLTA4LTE4IDExOjM5OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgcnRwZzcyOXBheTogcHJvcGVybHkgc3VwcG9ydCBwZXJmZWN0LXJ0cHRpbWUKCjIwMTAtMDgtMTYgMTY6MDg6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIGZyYW1lcmF0ZSBkZXRlcm1pbmluZwoJICBDb2xsZWN0IGEgbGltaXRlZCBudW1iZXIgb2Ygc3RhcnRpbmcgc2FtcGxlIGR1cmF0aW9ucyBhbmQgdXNlIHRoZSBtZWRpYW4gb2YKCSAgdGhvc2UgdG8gZGV0ZXJtaW5lIGNhcHMgZnJhbWVyYXRlLgoKMjAxMC0wOC0xNyAxMjowODoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXR0ZW1wdCBtb3JlIHJlc3luYyB1cG9uIChjbHVzdGVyKSBwYXJzZSBlcnJvcgoJICBUaGF0IGlzLCBpZiBwYXJzZSBlcnJvciBvY2N1cnMgaW4gc3RhdGUgcmVxdWlyaW5nIHRvIG1vdmUgdG8gbmV4dCBjbHVzdGVyLAoJICBhbmQgZG9pbmcgc28gdG8gdGhlIGV4cGVjdGVkIG5leHQgcG9zaXRpb24gb2YgY2x1c3RlciBmYWlscywgdGhlbiBzY2FuIGZvciBhCgkgIG5leHQgY2x1c3RlciBmcm9tIHByZXNlbnQgcG9zaXRpb24gYW5kIHJlc3VtZSBmcm9tIHRoZXJlLgoJICBGaXhlcyAjNjIwNzkwLgoKMjAxMC0wOC0xNiAxNjowNTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbm90IHNvIGZhdGFsIGVycm9yIGhhbmRsaW5nCgkgIElmIHNvbWUgYml0cyBvdXQgb2YgcGxhY2UgaW4gYmxvY2soZ3JvdXApIHBhcnNpbmcsIGZvcmVnbyBhbmQgbW92ZSB0byBuZXh0LgoJICBBbHNvIHNraXAgbGFyZ2UgYmxvY2tzIGluIHB1bGwgbW9kZSwgYnV0IG5lZWQgdG8gZ2l2ZSB1cCBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzICM2MjY0NjMuCgkgIEltcHJvdmVzICM2MjA3OTAuCgoyMDEwLTA3LTI2IDE1OjUxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogYWRkaXRpb25hbCBwYXJzZSByZWNvdmVyeQoJICBJbiBwYXJ0aWN1bGFyLCB1cG9uIHBhcnNlIGZhaWx1cmUgaW4gb25lIGNsdXN0ZXIsIHdlIG1heSBmb3JlZ28gcmVtYWluaW5nCgkgIGNvbnRlbnQgYW5kIHRyeSByZXN1bWluZyBmcm9tIG5leHQgY2x1c3RlciBvbndhcmRzLgoJICBGaXhlcyAjNjIwNzkwLgoKMjAxMC0wOS0wNiAxMjoyMjoxMSArMDIwMCAgQW1lcmljYW4gRHluYW1pY3MgPEdTdHJlYW1lci1CdWdzIGF0IHR5Y29zcC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB1ZHBzcmMgYnVmZmVyIHNpemUKCSAgQWRkIGEgbmV3IHVkcC1idWZmZXItc2l6ZSBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIGJ1ZmZlci1zaXplIG9uIHRoZSB1ZHBzcmMKCSAgZWxlbWVudHMuCgkgIEZpeGVzICM2MjgwNTgKCjIwMTAtMDgtMjcgMTc6NTg6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIG50cC1zeW5jIHByb3BlcnR5CgkgIEFkZCBhbiBudHAtc3luYyBwcm9wZXJ0eSB0aGF0IHdpbGwgc3luYyB0aGUgcmVjZWl2ZWQgc3RyZWFtcyB0byB0aGUgc2VydmVyCgkgIE5UUCB0aW1lLiBUaGlzIHJlcXVpcmVzIHN5bmNocm9uaXplZCBOVFAgdGltZXMgYmV0d2VlbiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlcnMsCgkgIGxpa2Ugd2l0aCBudHBkLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIFRoaWpzIFZlcm1laXIuCgkgIEZpeGVzICM2Mjc3OTYKCjIwMTAtMDgtMjcgMTI6MTQ6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW5hbWUgYSB2YXJpYWJsZSB0byBhdm9pZCBjb25mdXNpb24KCjIwMTAtMDgtMjcgMTE6MDc6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW5hbWUgc29tZSB2YXJpYWJsZXMgZm9yIGxlc3MgY29uZnVzaW9uCgoyMDEwLTA4LTI3IDEwOjQxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbW92ZSBjb21tZW50IHdoZXJlIGl0IGJlbG9uZ3MKCjIwMTAtMDgtMjYgMTY6MDA6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1pbm9yIGNsZWFudXBzCgkgIE1ha2UgY2xvY2sgc25hcHNob3RzIG1vcmUgYWNjdXJhdGUgYnkgb25seSBzYW1wbGluZyB0aGUgc2FtZSBjbG9jayBvbmNlLgoKMjAxMC0wOC0yNiAxMDo1ODoyNiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGFkZCB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgV2l0aCB0aGlzIHByb3BlcnR5IFJUQ1AgU1IgTlRQIHRpbWVzIGNhbiBiZSBiYXNlZAoJICBvbiB0aGUgc3lzdGVtIGNsb2NrIChtYXliZSBzeW5jZWQgd2l0aCBudHBkKSBvciB0aGUKCSAgY3VycmVudCBwaXBlbGluZSBjbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzc5NgoKMjAxMC0wOC0yNSAwOTo1ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSAgcnRzcGV4dDogc3RvcCBjb25maWd1cmF0aW9uIG9uIGZpcnN0IGZhaWx1cmUKCSAgU3RvcCB0aGUgY29uZmlndXJhdGlvbiBvZiBhIHN0cmVhbSBhcyBzb29uIGFzIHNvbWUgb2YgdGhlIGV4dGVuc2lvbnMgcmV0dXJuCgkgIEZBTFNFLgoJICBGaXhlcyAjNTgxMjk0CgoyMDEwLTA4LTIwIDE1OjM1OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGlmZHNpbms6IHVzZSByZWZjb3VudCB0byBjb3VudCBob3N0L3BvcnQgZHVwbGljYXRlcwoJICBJbnN0ZWFkIG9mIGFkZGluZyBtdWx0aXBsZSBjbGllbnQgc3RydWN0dXJlcyBmb3IgdGhlIHNhbWUgaG9zdC9wb3J0IHBhaXIsIHVzZSBhCgkgIHJlZmNvdW50LgoJICBBZGQgYSBzZW5kLWR1cGxpY2F0ZXMgZmVhdHVyZSB0aGF0IGFsbG93cyB5b3UgdG8gZGlzYWJsZSBzZW5kaW5nIG11bHRpcGxlIGNvcGllcwoJICBvZiB0aGUgc2FtZSBwYWNrZXQgdG8gdGhlIHNhbWUgaG9zdCB3aGVuIGl0IHdhcyBhZGRlZCBtdWx0aXBsZSB0aW1lcy4gVGhlCgkgIHNlbmQtZHVwbGljYXRlcyBwcm9wZXJ0eSBpcyBieSBkZWZhdWx0IHNldCB0byBUUlVFIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJICBhbHRob3VnaCBpdCBpcyB2ZXJ5IGxpa2VseSB0aGF0IHRoaXMgaXMgbm90IGRlc2lyZWQgYmVoYXZpb3VyLgoKMjAxMC0wOC0xOSAxNzowNjoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wbGVtZW50IGN1c3RvbSBldmVudCBoYW5kbGVyCgkgIEV4dGVuZCB0aGUgX3B1c2hfZXZlbnQoKSBmdW5jdGlvbiBzbyB0aGF0IGl0IGNhbiBhbHNvIHNlbmQgZXZlbnRzIHRvIHRoZSB1ZHAKCSAgc291cmNlcyB3aGVuIGFza2VkLgoJICBJbXBsZW1lbnQgYSBjdXN0dW0gc2VuZF9ldmVudCBmdW5jdGlvbiB0aGF0IGNvcnJlY3RseSBkaXNwYXRjaGVzIHRoZSBkb3duc3RyZWFtCgkgIGV2ZW50cyBpbiBUQ1AgbW9kZS4gVGhpcyBmaXhlcyBzZW5kaW5nIEVPUyB0byBydHNwc3JjIGFuZCBoYXZlIGl0IHB1c2ggdGhlIEVPUwoJICBkb3duc3RyZWFtLgoKMjAxMC0wOC0xOSAxMTozNzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogdXNlIF9nZXRfY2Fwc19yZWZmZWQoKSB3aGVuIHdlIGNhbgoJICBVc2UgX2dldF9jYXBzX3JlZmZlZCgpCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgd2hlbiBvcGVuaW5nIHRoZSBzZXJ2ZXIgY29ubmVjdGlvbi4KCjIwMTAtMDgtMTYgMTE6Mjk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBqcGVnZGVwYXk6IGhhbmRsZSBESVNDT05UIGFuZCByZXNldCBzdGF0ZQoJICBQdXQgYSBESVNDT05UIGV2ZW50IG9uIHRoZSBuZXh0IG91dHB1dCBidWZmZXIgd2hlbiB0aGUgaW5wdXQgYnVmZmVyIGhhZCBhCgkgIERJU0NPTlQuCgkgIE1ha2Ugc3VyZSB3ZSBjbGVhciBvdXIgYWRhcHRlciBhbmQgcmVzZXQgb3VyIHN0YXRlIGJlZm9yZSBnb2luZyB0byBQQVVTRUQuCgkgIEZyZWUgdGhlIHF0YWJsZXMuCgkgIEZpeGVzICM2MjY4NjkKCjIwMTAtMDgtMTYgMTE6Mjc6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgZzcyOXBheTogZXh0ZW5kIGZyb20gcmlnaHQgcGFyZW50CgoyMDEwLTA5LTA2IDA5OjU3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIHNpbmNlIGRvY3MgZm9yIG5ldyBwcm9wZXJ0eS4KCjIwMTAtMDgtMzAgMTY6NDU6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIEdTVF9CT0lMRVJQTEFURSBtYWNybwoKMjAxMC0wOC0xNiAxNzoyMzo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlbWl4ZXI6IGFkZCBhIGV4YW1wbGUgc2hvd2luZyBob3cgdG8gdXNlIHRoZSBjaGlsZCBwcm9wZXJ0aWVzCgkgIFNob3cgaG93IHRvIHBvc2l0aW9uIGFuZCBzZXQgdGhlIGFscGhvIG9mIHRoZSB2aWRlb3Mgb24gZ3N0LWxhdW5jaC4KCjIwMTAtMDgtMTYgMTU6MTk6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogbW92ZSB0aGUgcHJvcGVydHktc2V0dGVyIHRvIHRoZSBnZXR0ZXIuCgoyMDEwLTA4LTExIDE1OjQ4OjE4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW0gb25seSBhZ2dyZWdhdGUgbWFnbml0dWRlL3BoYXNlIGlmIHVzZXIgYXNrcyBmb3IgaXQKCjIwMTAtMDgtMTEgMTU6NDU6NTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogaW1wcm92ZSBwZXJmb3JtYW5jZSB3aXRoIGxvY2FsIHZhcnMKCSAgVXNlICdpbnB1dCcgaW5zdGVhZCBvZiAnc3BlY3RydW0tPmlucHV0JyB3aGljaCB3YXMgaW50ZW5kZSBhbHJlYWR5ICh2YXJpYWJsZQoJICBleGlzdHMsIGJ1dCBub3QgdXNlZCBldmVyeXdoZXJlKS4gQWxzbyB1c2UgYSBsb2NhbCB2ZXJzaW9uIG9mCgkgICdzcGVjdHJ1bS0+aW5wdXRfcG9zJy4KCjIwMTAtMDgtMTEgMTU6NDQ6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY29kZSBjbGVhbnVwCgkgIE1vcmUgY29tbWVudHMgYW5kIGxvZ2dpbmcuIEV4dHJhY3Qgb25lIGNvbXBsZXggY29uZGl0aW9uIHRvIGEgdmFyaWFibGUuIFJlb3JkZXIKCSAgc29tZSBjb2RlIGZvciByZWFkYWJpbGl0eS4KCjIwMTAtMDgtMTEgMTU6NDA6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogaW1wcm92ZSBwcm9wZXJ0eSBzZXR0ZXIKCSAgY29uc2lzdGVudGx5IG9ubHkgdXBkYXRlIGlmIHRoZSBwcm9wZXJ0eSBhY3R1YWx5IGNoYW5nZWQgdGhlIHZhbHVlLiBEbyBpdAoJICB3aXRob3V0IHJlYWRpbmcgdGhlIGd2YWx1ZSB0d2ljZS4gTm8gbmVlZCB0byByZXNldCB0aGUgc3BlY3RydW0gYW5hbHl6ZXIgZm9yCgkgIHRocmVzaG9sZCBjaGFuZ2VzLgoKMjAxMC0wOC0xMSAxNTozODoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhZGQgaGVscGVyIHRvIG9ubHkgZmx1c2ggcmluZ2J1ZmZlciBkYXRhIHdpdGhvdXQgcmVzZXR0aW5nIHRoZSBmZnQKCSAgUmVkdWNlcyBzb21lIGR1cGxpY2F0ZWQgY29kZSBhcyB3ZWxsLgoKMjAxMC0wOC0xMSAxMjo0NTo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogbW9yZSBjb21tZW50cwoKMjAxMC0wOS0wNSAyMjoyMjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvY3VtZW50IG1ldGhvZHMgd2l0aCBiYWQgcXVhbGl0eQoKMjAxMC0wOS0wNSAyMjoxOTo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IGluaXRpYWxpemUgYWxsIGRlaW50ZXJsYWNlIGNsYXNzIG1lbWJlcnMKCSAgVGhpcyBmaXhlcyBVWVZZIGRlaW50ZXJsYWNpbmcuCgoyMDEwLTA5LTA1IDE4OjU4OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDNkOWFjZiB0byBjMmUxMGJmCgoyMDEwLTA5LTA1IDE4OjQ1OjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IG9yY19pbml0KCkgZG9lc24ndCBuZWVkIHRvIGJlIGNhbGxlZAoJICBUaGVyZSdzIG5vIG5lZWQgdG8gY2FsbCBvcmNfaW5pdCgpIHVubGVzcyB5b3UncmUgdXNpbmcgdGhlIE9yYwoJICBBUEkgZGlyZWN0bHkuICBBbGwgY29kZSBjcmVhdGVkIGJ5IG9yY2MgaXMgZ3VhcmFudGVlZCB0byB3b3JrCgkgIHdpdGhvdXQgY2FsbGluZyBvcmNfaW5pdCgpLgoKMjAxMC0wOS0wNSAxODo0MDo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggZ3JlZWR5bCBPcmMgaW1wbGVtZW50YXRpb24KCSAgVG8gYWdyZWUgd2l0aCB0aGUgcHJldmlvdXMgQy9hc20gY29kZS4KCjIwMTAtMDktMDUgMjI6MzE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZhaWwgd2hlbiBjYXBzIGFyZSBpbmNvbXBhdGlibGUKCSAgRG8gbm90IGZvcmdldCB0byByZXR1cm4gZmFsc2Ugd2hlbiBjYXBzIGFyZSBpbmNvbXBhdGlibGUuCgoyMDEwLTA5LTA1IDIwOjU2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgaW5pdCBvcmMgaWYgaXQgaXMgYXZhaWxhYmxlCgkgIFB1dCBzb21lIGlmZGVmIGFyb3VuZCBvcmNfaW5pdCB0byBwcmV2ZW50IGJ1aWxkIGVycm9ycwoKMjAxMC0wOS0wNSAxMjoxNzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjNjAyMTcgdG8gZDNkOWFjZgoKMjAxMC0wOS0wNCAxMjo0NjozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkgIGRlaW50ZXJsYWNlOiBVcGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAwOS0wNi0yOSAxMTo0MzowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGRlY2ltYXRlIHByb3BlcnR5CgoyMDEwLTA2LTA0IDEyOjA5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuaDoKCSAgZHZkZW11eDogUGFyc2UgU01QVEUgdGltZSBjb2RlcwoKMjAxMC0wOC0yMyAwMjo1MDozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgYXNzZW1ibHkgY29kZSBpbiBmYXZvciBvZiBvcmMKCjIwMTAtMDYtMDggMTQ6NTQ6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBpbXBsZW1lbnQgZ3JlZWR5IGluIE9yYwoKMjAxMC0wOS0wNCAxMTo0MzoyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICB1cGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAxMC0wOS0wMiAxNDozNDo1MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogRml4IGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgaXMgbm8gZWZmZWN0IGJ1dCBhIGNvbnZlcnRlci4gRml4ZXMgYnVnICM2Mjg2MDguCgoyMDEwLTA5LTAyIDExOjE5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyMjogQWRkIGRvY3VtZW50YXRpb24gYW5kIGFkZCB0byB0aGUgZG9jcwoKMjAxMC0wNy0yNiAxNjowNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBBZGQgdmlkZW9taXhlcjIgZWxlbWVudAoJICBUaGlzIGlzIGJhc2VkIG9uIGNvbGxlY3RwYWRzMiBhbmQgaXMgc3luY2hyb25pemluZwoJICBhbGwgc3RyZWFtcyBiYXNlZCBvbiB0aGUgcnVubmluZyB0aW1lLgoJICBOZXcgZmVhdHVyZXMgY29tcGFyZWQgdG8gb2xkIHZpZGVvbWl4ZXI6CgkgICogU3luY2hyb25pemluZyBmcmFtZXMgb24gdGhlIHJ1bm5pbmcgdGltZQoJICAqIEltcHJvdmVkIGFuZCBzaW1wbGlmaWVkIG5lZ290aWF0aW9uCgkgICogRnVsbCBRb1Mgc3VwcG9ydAoJICAqIFZhcmlhYmxlIGZyYW1lcmF0ZSBzdXBwb3J0CgkgIEZpeGVzIGJ1ZyAjNjI2MDQ4LCAjNjI0OTA1LgoKMjAxMC0wOS0wMSAxMToxMTozNCArMDIwMCAgUGF2ZWwgS29zdHl1Y2hlbmtvIDxzaHByb3R4QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZWxheCBwYXJzaW5nIG9mIGRhdGUgdGFncwoJICBCZWZvcmUgd2UgcmVxdWlyZWQgYSBjb21wbGV0ZSBkYXRlIGluIG1hdHJvc2thZGVtdXggYnV0IGluCgkgIGlkM2RlbXV4IGZvciBleGFtcGxlIG9ubHkgdGhlIHllYXIgb3IgeWVhciBhbmQgbW9udGggd2FzIHBvc3NpYmxlIHRvby4KCSAgRml4ZXMgYnVnICM2Mjg0NTQuCgoyMDEwLTA4LTMwIDE5OjAzOjUyICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogVXNlIEdzdEJhc2VTcmM6OmJsb2NrLXNpemUgYXMgZmFsbGJhY2sgc2l6ZQoKMjAxMC0wOC0zMCAxODozNjo1NCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRml4IHVzaW5nIG1wZWd0cyB2aWEgdGhlIG1tYXAgaW50ZXJmYWNlCgkgIE1QRUcgZG9lc24ndCBoYXZlIGEgc3RhdGljIHNpemUgcGVyIGZyYW1lLCBzbyBkb24ndCBwcmV0ZW5kIGl0IGhhcyBvbmUKCSAgYW5kIGZhaWwgd2hlbiBjYXB0dXJpbmcgYmVjYXVzZSBpdCBkb2Vzbid0IG1hdGNoLiBJbnN0ZWFkIG1hcmsgdGhlIHNpemUKCSAgYXMgdW5rbm93biBhbmQgbGV0IHRoZSByZWFkIGZyYW1lIGdyYWJiaW5nIG1ldGhvZCB1c2UgYSByZWFzb25hYmxlIGZhbGxiYWNrCgkgIHZhbHVlIChhc3N1bWluZyB0aGF0J3Mgb25seSBmb3IgYWN0dWFsIHN0cmVhbWluZyBmb3JtYXRzKQoJICBGaXhlcyBidWcgIzYyODM0OS4KCjIwMTAtMDgtMjcgMTg6MTU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6MTM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIGRvd25zdHJlYW0gcmV0dXJucyBVTkVYUEVDVEVELgoKMjAxMC0wOC0yNyAxODowOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODowNTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgYnVmZmVyIGFsbG9jYXRpb24gZmFpbGVkIGJlY2F1c2UKCSAgb2YgVU5FWFBFQ1RFRCwgd2hpY2ggb25seSBtZWFucyB0aGF0IGRvd25zdHJlYW0gd2FudHMgdXMgdG8gRU9TIG5vdy4KCjIwMTAtMDgtMjcgMTg6MDI6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmMvZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgcHJvcGVybHkgaGFuZGxlIFVORVhQRUNURUQgYW5kIFdST05HX1NUQVRFLgoKMjAxMC0wOC0yNyAxNzo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgY21tbGRlYy9lbmM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBhcyBhIHJlc3VsdCwgZG9uJ3QgaWdub3JlIFdST05HX1NUQVRFIGFuZCBOT1RfTElOS0VELgoJICBCb3RoIG1lYW4gdGhhdCBpdCdzIGEgZ29vZCBpZGVhIHRvIHBhc3MgdGhlbSB1cHN0cmVhbSBpbnN0ZWFkCgkgIG9mIHByZXRlbmRpbmcgdGhhdCBldmVyeXRoaW5nIGlzIGdvb2QuCgoyMDEwLTA4LTI3IDE3OjQ3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6NDU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKSBhbmQgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE3OjM5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6Mzc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjM1OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvY3VtZW50IHdoeSB3cm9uZy1zdGF0ZSBkb2Vzbid0IG5lZWQgYW4gZXJyb3IgbWVzc2FnZS4KCjIwMTAtMDgtMjYgMTM6NDQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZhaWwgZ3JhY2VmdWxseSBpZiBubyB0aHJlYWRlZCBQQSBtYWlubG9vcCBjYW4gYmUgY3JlYXRlZAoJICBGaXhlcyBidWcgIzYyODAyMC4KCjIwMTAtMDgtMjQgMTU6MTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSBkaXN0ZWQgT1JDIGZpbGVzCgoyMDEwLTA4LTIzIDE1OjQ0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogT3B0aW1pemUgQVJHQiBibGVuZGluZyBhbmQgaW1wbGVtZW50IEJHUkEgYmxlbmRpbmcgd2l0aCBvcmMKCSAgVGhpcyBub3cgbWVhbnMsIHRoYXQgd2UgaGF2ZSBhYnNvbHV0ZWx5IG5vIGhhbmR3cml0dGVuIGFzc2VtYmx5IGFueW1vcmUKCSAgaW4gdmlkZW9taXhlciBhbmQgaXQncyBhbHNvIGZhc3RlciBub3cgd2hlbiB1c2luZyBTU0UuCgoyMDEwLTA4LTIyIDAxOjU4OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogQWRkIG9yYyBpbXBsZW1lbnRhdGlvbiBmb3IgYmxlbmRpbmcKCSAgdmlkZW9taXhlcjogQWRkIG9yYyBpbXBsZW1lbnRhdGlvbiBmb3IgYmxlbmRpbmcKCjIwMTAtMDgtMjIgMDE6NTQ6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBGaXggZXhhbXBsZSBwaXBlbGluZXMKCSAgdmlkZW9taXhlcjogRml4IGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEwLTA4LTIwIDExOjQxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgdGVzdCBmb3IgY2hlY2tpbmcgaWYgaW1hZ2VmcmVlemUgY29ycmVjdGx5IHJldHVybnMgVU5FWFBFQ1RFRCBhZnRlciB0aGUgZmlyc3QgYnVmZmVyCgoyMDEwLTA4LTIwIDExOjM4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgdGVzdCBmb3IgYnVmZmVyYWxsb2MgcGFzc3Rocm91Z2gKCjIwMTAtMDgtMjAgMTA6MzU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEZpeCByYWNlIGNvbmRpdGlvbnMgaW4gdGhlIHVuaXQgdGVzdAoJICBJZiBzZXR0aW5nIHRoZSBwaXBlbGluZSB0byBQTEFZSU5HIGJlZm9yZSBpc3N1aW5nIHRoZSBzZWVrLCBidWZmZXJzCgkgIGFyZSBhbHJlYWR5IGFycml2aW5nIGF0IHRoZSBzaW5rIGJlZm9yZSB0aGUgc2VlayBpcyBoYW5kbGVkIGFuZAoJICB3aWxsIGhhdmUgdGhlIHdyb25nIHRpbWVzdGFtcHMgYW5kIGV2ZXJ5dGhpbmcuCgkgIEZpeGVzIGJ1ZyAjNjI1NTQ3LgoKMjAxMC0wOC0yMCAxMDozNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBGaXggYW5vdGhlciBzdWJ0bGUgcmFjZSBjb25kaXRpb24gcmVsYXRlZCB0byBzdGFydGluZyB0aGUgc3JjcGFkIHRhc2sKCSAgRHVlIHRvIGEgc2VlayB0aGUgc3JjcGFkIHRhc2sgY291bGQgYmUgc3RhcnRlZCBpbiByYXJlIGNpcmN1bXN0YW5jZXMgYWx0aG91Z2gKCSAgaXQgc2hvdWxkbid0IGJlIHN0YXJ0ZWQgYW55bW9yZSBiZWNhdXNlIG5vIHVwc3RyZWFtIGJ1ZmZlciBpcyBhdmFpbGFibGUuCgoyMDEwLTA4LTIwIDEwOjI0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IFByb3RlY3QgdGhlIGZsdXNoaW5nLXNlZWsgdmFyaWFibGUgYnkgdGhlIHNyY3BhZCdzIHN0cmVhbSBsb2NrCgkgIFRoaXMgZml4ZXMgYSBzdWJ0bGUgcmFjZSBjb25kaXRpb24sIHRoYXQgY2F1c2VkIGJ1ZmZlcmFsbG9jIHRvIGZhaWwKCSAgd2l0aCB3cm9uZy1zdGF0ZSBkdWUgdG8gYSBzZWVrIGJ1dCBjYXVzZWQgaXQgdG8gYmUgbm90IHJldHJpZWQgYXMKCSAgaXQgc2hvdWxkLgoKMjAxMC0wOC0yMCAwOToxNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFsd2F5cyBnZW5lcmF0ZSBhIHBlcmZlY3RseSB0aW1lc3RhbXBlZCBzdHJlYW0KCSAgQmVmb3JlIHRoZXJlIGNvdWxkIGJlIHJvdW5kaW5nIGVycm9ycyB3aGVuIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbiwKCSAgcmVzdWx0aW5nIGluIHRpbWVzdGFtcCArIGR1cmF0aW9uIGJlaW5nIHNtYWxsZXIgdGhhbiB0aGUgbmV4dCBidWZmZXIncwoJICB0aW1lc3RhbXAuCgoyMDEwLTA4LTE5IDE4OjM4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBPbmx5IGluY2x1ZGUgdGhlIHNlcnZlciBuYW1lIGluIHRoZSBjb250ZXh0IG5hbWUgaWYgaXQncyBub3QgTlVMTAoKMjAxMC0wOC0xOCAxNjozNzo0MSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEFkZCAiY2xpZW50IiBwcm9wZXJ0eSB0byBzZXQgdGhlIFBBIGNsaWVudCBuYW1lCgkgIEFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gbW9kaWZ5IHRoZSBjbGllbnQgbmFtZSB1c2VkIHRvIGNvbm5lY3Qgd2hlbgoJICBjb25uZWN0aW5nIHRvIHRoZSBQdWxzZUF1ZGlvIGRhZW1vbi4gTm90ZSBob3dldmVyIHRoYXQgdXBkYXRpbmcgdGhlCgkgIHByb3BlcnR5IGFmdGVyIHRoZSBlbGVtZW50IHJlYWNoZWQgdGhlIFJFQURZIHN0YXRlIHdpbGwgaGF2ZSBubwoJICBlZmZlY3QgdW50aWwgdGhlIG5leHQgTlVMTC0+UkVBRFkgdHJhbnNpdGlvbi4KCSAgRml4ZXMgYnVnICM2MjcxNzQuCgoyMDEwLTA4LTE5IDE3OjU5OjA5ICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJbXByb3ZlIGVycm9yIG1lc3NhZ2VzCgkgIEJlZm9yZSB0aGV5IGNvbnRhaW5lZCB0aGUgVVJMIGJlZm9yZSB0aGUgYWN0dWFsIGZhaWx1cmUuIFRoZSBvdGhlcgoJICB3YXkgYXJvdW5kIG1ha2VzIG1vcmUgc2Vuc2UgYW5kIHdlIGRvIHRoZSBzYW1lIGluIG90aGVyIGVsZW1lbnRzCgkgIGxpa2UgZmlsZXNyYy4KCSAgRml4ZXMgYnVnICM2MjcyODkuCgoyMDEwLTA4LTE5IDEyOjQ2OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIHRoZSBjbG9jayBvbiBzdGF0ZSBjaGFuZ2UgZmFpbHVyZXMgdG9vCgoyMDEwLTA4LTE3IDE2OjI2OjQxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcHVsc2V1dGlsOiBpbmNsdWRlIHBpZCB2YWx1ZSBpbiBnc3RfcHVsc2VfY2xpZW50X25hbWUoKSBmYWxsYmFjayByZXR1cm4gdmFsdWUKCSAgRml4ZXMgYnVnICM2MjcxNjIKCjIwMTAtMDgtMTkgMTI6MzI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgdGhlIEdzdFB1bHNlQ29udGV4dCBhZnRlciB1c2FnZQoKMjAxMC0wOC0xNiAwOToxMjowNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzaGFyZSB0aGUgUEEgY29udGV4dCBiZXR3ZWVuIGFsbCBjbGllbnRzIHdpdGggdGhlIHNhbWUgbmFtZQoJICBBdm9pZCB0byBjcmVhdGUgYSBuZXcgUEEgY29udGV4dCBmb3IgZWFjaCBuZXcgY2xpZW50IGJ5IHVzaW5nIGEgaGFzaAoJICB0YWJsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIHJpbmctYnVmZmVycyBhbmQgdGhlIHNoYXJlZCBQQSBjb250ZXh0CgkgIGZvciBlYWNoIGNsaWVudC4gRG9pbmcgdGhpcyB3aWxsIGltcHJvdmUgYXBwbGljYXRpb24gbWVtb3J5IHVzYWdlIGluCgkgIHRoZSBjYXNlcyB3aGVyZSBtdWx0aXBsZSBwaXBlbGluZXMgaW52b2x2aW5nIG11bHRpcGxlIHB1bHNlc2luawoJICBlbGVtZW50cyBhcmUgdXNlZC4KCSAgRml4ZXMgYnVnICM2MjQzMzguCgoyMDEwLTA4LTE3IDEzOjQxOjQ5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjbGVhciB0aGUgUEEgbWFpbmxvb3AgaWYgYmFzZWF1ZGlvc2luayBmYWlsZWQgdG8gb3BlbiB0aGUgcmluZ19idWZmZXIKCSAgSWYgdGhlIGFwcGxpY2F0aW9uIHJlcXVlc3RzIGEgc3RhdGUtY2hhbmdlIGFuZCBwdWxzZXNpbmsgZmFpbHMgdG8gb3BlbgoJICB0aGUgcmluZ19idWZmZXIgZGV2aWNlIHRoZSBtYWlubG9vcCBhdHRyaWJ1dGUgb2YgdGhlIHNpbmsgc2hvdWxkIGJlCgkgIGNsZWFuZWQgdXAgdG8gYXZvaWQgZnV0dXJlIHN0YXRlLWNoYW5nZSAoTlVMTC0+UkVBRFkpIGZhaWx1cmVzLgoKMjAxMC0wOC0xOSAxMjoyMzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBFT1MgaGFwcGVucyBiZWZvcmUgdmFsaWQgaW5wdXQgaXMgZm91bmQKCSAgRml4ZXMgYnVnICM2MjczNDEuCgoyMDEwLTA4LTEyIDExOjQ5OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogU2VuZCBjbG9zZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCjIwMTAtMDgtMTEgMTE6MzY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogUmV0cnkgYnVmZmVyYWxsb2MgaWYgaXQgd2FzIGFib3J0ZWQgd2l0aCBXUk9OR19TVEFURSBiZWNhdXNlIG9mIGEgZmx1c2hpbmcgc2VlawoKMjAxMC0wOC0xMSAwODo0NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoZW4gZ2V0dGluZyBhIHNlY29uZCBidWZmZXIKCSAgVGhpcyBwcmV2ZW50cyB1cHN0cmVhbSBmcm9tIHB1c2hpbmcgbWFueSB1c2VsZXNzIGJ1ZmZlcnMgYW5kIG1ha2VzCgkgIGl0IGdvIGludG8gRU9TIHN0YXRlLgoKMjAxMC0wOC0xMCAyMDoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFBhc3N0aHJvdWdoIGJ1ZmZlciBhbGxvY2F0aW9ucwoKMjAxMC0wOS0wNCAxMzoxMDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCSAgVGVtcG9yYXJpbHkgZGlzYWJsZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIGdpdCBidWlsZHMgdW50aWwKCSAgdGhlIGNvZGUgaXMgdXBkYXRlZCBmb3IgdGhlIEdTVF9GTE9XX0lTXyogbWFjcm8gZGVwcmVjYXRpb25zLgoKPT09IHJlbGVhc2UgMC4xMC4yNSA9PT0KCjIwMTAtMDktMDIgMjM6NDQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjUKCjIwMTAtMDktMDIgMjM6MTI6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcmVsZWFzZQoKMjAxMC0wOS0wMiAyMzowNzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lcy5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2x0LnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wOC0yNSAxOTowMTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjI0LjUgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMjIgMjE6MTU6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2Ugc2VwYXJhdGUgYnVmZmVyIG1ldGFkYXRhIGZvciBmaWVsZHMKCSAgQ2FsbCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBvbiBidWZmZXJzIHRoYXQgYXJlCgkgIGR1cGxpY2F0ZWQgaW50byBmaWVsZHMuICBGaXhlcyAjNjI3Njg5LgoKMjAxMC0wOC0yMSAyMTo0MTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjI0LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTkgMTg6MzA6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBQcmV2ZW50IGNyYXNoIHdoZW4gcmVhZGluZyBpbWFnZSB3aXRoIHByb2JsZW1zCgkgIENoZWNrIGlmIHdlIGhhdmUgZGF0YSBvbiB0aGUgYWRhcHRlciBhbmQgZmFpbCBpZiBub3QuCgkgIEZpeGVzICM2Mjc0MTMKCjIwMTAtMDgtMTMgMTc6MjQ6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2U4ZGIxZCB0byBlYzYwMjE3CgoyMDEwLTA4LTExIDIyOjIwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2VuZCBjbG9zZSBzZWdtZW50cyB3aGVuIHNlZWtpbmcgb25seSBmb3Igbm9uLWZsdXNoaW5nIHNlZWtzIGFuZCBpZiB3ZSBhbHJlYWR5IHNlbnQgYSBuZXdzZWdtZW50IGV2ZW50CgkgIEZpeGVzIGJ1ZyAjNjI2NjE5LgoKMjAxMC0wOC0xMSAxNjo1MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSAgMC4xMC4yNC4zIHByZS1yZWxlYXNlCgoyMDEwLTA4LTExIDExOjE3OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJldmVudCByZWFkaW5nIHBhc3QgYXZjMSBhdG9tIHdoZW4gcGFyc2luZwoJICAuLi4gd2hlbiBvbmUgb2YgdGhlIHN1YmF0b21zIGhhcyBhIGxhcmdlL2ludmFsaWQgc2l6ZS4KCSAgRml4ZXMgIzYyNjYwOS4KCjIwMTAtMDgtMTAgMjM6Mzc6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjQuMiBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xMCAxMDo1Nzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJkMjA1NGIgdG8gM2U4ZGIxZAoKMjAxMC0wOC0wOSAwMDozNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBmaXggcHJpbnRmIGZvcm1hdCBpbiBzb21lIGRlYnVnZ2luZyBtZXNzYWdlcwoKMjAxMC0wOC0wOCAyMzozMTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBzZXQgcGx1Z2luc2RpciB0byB0b3AtbGV2ZWwgYnVpbGRkaXIgd2l0aG91dCB0aGUgcGtnY29uZmlnLy4uIGJpdHMKCSAgUmVtb3ZlcyBjbHV0dGVyIGluIHBsdWdpbiBkaXIgcGF0aHMuIFRoaXMgaXMgb25seSB1c2VkIHRvIGZpbmQgdGhlIC1nb29kCgkgIHBsdWdpbnMgZm9yIHVuaXQgdGVzdHMgb2YgdWdseS9iYWQvZmZtcGVnL2V0Yy4gaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAuCgoyMDEwLTA4LTA2IDIwOjA0OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogYWxzbyBsb2cgcGl4ZWwgZm9ybWF0cyBpbiBzb3J0ZWQgb3JkZXIKCjIwMTAtMDgtMDYgMTg6MDc6NDYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzb3J0IGZvcm1hdHMgaW4gdGhlIHJpZ2h0IG9yZGVyIHNvIHRoYXQgbm9uLWVtdWxhdGVkIGZvcm1hdHMgYXJlIHByZWZlcmVkCgkgIFRoZSBmb3JtYXQgbGlzdCBzaG91bGQgYmUgc29ydGVkIGZyb20gaGlnaCByYW5rcyB0byBsb3cgcmFua3MuIEluIHRoZSBHU0xpc3QKCSAgc29ydGluZyBmdW5jdGlvbiB0aGlzIG1lYW5zIHRoZSBjb21wYXJlIG5lZWRzIHRvIHJldHVybiBhIHBvc2l0aXZlIHZhbHVlIGlmCgkgIGZvcm1hdCBhIGhhcyBhIGxvd2VyIHJhbmsgdGhhbiBmb3JtYXQgYi4KCSAgQW1vbmcgb3RoZXIgdGhpbmdzIHRoaXMgZml4ZXMgdjRsMnNyYyB0byBwcmVmZXIgbm9uLWVtdWxhdGVkIGZvcm1hdHMKCSAgdG8gZW11bGF0ZWQgZm9ybWF0cyB3aGVuIGJ1aWx0IGFnYWluc3QgbGlidjRsLgoKMjAxMC0wOC0wNiAxOToyNDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBwaXBlbGluZSBpbiB0aGUgZG9jdW1lbnRhdGlvbgoJICBNYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIHRoZSBzYW1lIGNvbG9yIGZvcm1hdCBvbiBhbGwgc3RyZWFtcywgaS5lLiBBWVVWCgkgIEZpeGVzIGJ1ZyAjNjI1NDUyLgoKMjAxMC0wOC0wNSAxMzo1Njo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNTE5NTcxIHRvIGJkMjA1NGIKCjIwMTAtMDYtMTQgMTk6NTg6MTEgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgaWQzdjJtdXg6IHdyaXRlIGJlYXRzLXBlci1taW51dGUgdGFnIHVzaW5nIFRCUE0gZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTUyMAoKMjAxMC0wNy0yNSAxMTo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogTW92ZSBkZWJ1ZyBjYXRlZ29yaWVzIGludG8gdGhlIHNvdXJjZSBmaWxlcyBhbmQgYWRkIGRlYnVnIGNhdGVnb3J5IGZvciB0aGUgYmxlbmQgZnVuY3Rpb25zCgoyMDEwLTA4LTA0IDE5OjI1OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgSVNPIEM4OSBvciBDOTkgYW5kIHdoaWNoIHBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkCgkgIFRoaXMgZmlyc3QgY2hlY2tzIHdoYXQgaXMgcmVxdWlyZWQgZm9yIElTTyBDOTkgc3VwcG9ydCBhbmQgc2V0cyB0aGUgcmVsZXZhbnQKCSAgY29tcGlsZXIgcGFyYW1ldGVycyBhbmQgaWYgbm8gQzk5IGNvbXBpbGVyIGlzIGZvdW5kLCBpdCBjaGVja3MgZm9yIGEKCSAgQzg5IGNvbXBpbGVyLiBUaGlzIGVuYWJsZXMgdXMgdG8gY2hlY2sgZm9yIGFuZCB1c2UgQzg5L0M5OSBmdW5jdGlvbnMKCSAgdGhhdCBnY2MgaGlkZXMgZnJvbSB1cyB3aXRob3V0IHRoZSBjb3JyZWN0IGNvbXBpbGVyIHBhcmFtZXRlcnMuCgoyMDEwLTA3LTE1IDEwOjEwOjMxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSBHX1RZUEVfREVGSU5FIHRvIGRlZmluZSByaW5nIGJ1ZmZlciB0eXBlCgkgIFRoZSBleGlzdGluZyBnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uIGlzIHJhY3ksIGFuZCB0aGUKCSAgZ190eXBlX2NsYXNzX3JlZigpIHdvcmthcm91bmQgZGlkbid0IGFjdHVhbGx5IHdvcmsgYmVjYXVzZQoJICBpdCB3YXMgaW4gdGhlIHdyb25nIGZ1bmN0aW9uLiBTaW5jZSBjbGFzcyBjcmVhdGlvbiBpbiBHT2JqZWN0CgkgIGlzIHRocmVhZC1zYWZlIHRoZXNlIGRheXMgKHNpbmNlIDIuMTYpLCB0aGUgY2xhc3NfcmVmIHdvcmthcm91bmQKCSAgaXMgbm8gbG9uZ2VyIG5lZWRlZCBhbmQgaXQgaXMgc3VmZmljaWVudCB0byBlbnN1cmUgdGhlIF9nZXRfdHlwZSgpCgkgIGZ1bmN0aW9uIGlzIHRocmVhZC1zYWZlLCB3aGljaCBHX1RZUEVfREVGSU5FIGRvZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjQzMzgKCjIwMTAtMDgtMDQgMTU6MjA6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgQ0xPQ0stTE9TVC9DTE9DSy1QUk9WSURFIHdoZW4gZ29pbmcgdG8vZnJvbSBSRUFEWQoJICBPdGhlcndpc2UgdGhlIGNsb2NrcyBhcmUgcmVkaXN0cmlidXRlZCBldmVyeSB0aW1lIHRoZSBwaXBlbGluZQoJICBnb2VzIHRvIFBBVVNFRCwgd2hpY2ggaXMgcXVpdGUgZXhwZW5zaXZlLgoKMjAxMC0wNy0xMiAxMjozNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgcnRwbXA0Z3BheTogaW1wbGVtZW50IHBlcmZlY3QgdGltZXN0YW1wcwoJICBVc2UgYml0cmVhZGVyIGZvciBwYXJzaW5nIHRoZSBjb25maWcgc3RyaW5nCgkgIFJlc2V0IHN0YXRlIHZhcmlhYmxlcyB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFBhcnNlIGZyYW1lIGxlbmd0aCBhbmQgdXNlIGl0IHRvIGtlZXAgdHJhY2sgb2YgdGhlIHJ0cHRpbWVzdGFtcHMKCjIwMTAtMDctMDkgMTQ6MDc6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwaDI2M3BkZXBheTogYWxsb3cgbW9yZSBjbG9jay1yYXRlcyBhcyBpbnB1dAoJICBBbHRob3VnaCB0aGUgc3BlYyBzYXlzIHRoYXQgdGhlIGNsb2NrLXJhdGUgc2hvdWxkIGFsd2F5cyBiZSA5MDAwMCwgc29tZSBydHNwCgkgIHNlcnZlcnMgc2VuZCBkaWZmZXJlbnQgY2xvY2stcmF0ZXMgc28gd2UgbXVzdCBhY2NlcHQgdGhlbiBpbiBvcmRlciB0byBoYW5kbGUKCSAgdGhvc2Ugc3RyZWFtcyB0b28uCgoyMDEwLTA3LTA2IDE5OjAyOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICBMMTZkZXBheTogZGVmYXVsdCB0byAxIGNoYW5uZWwKCSAgV2hlbiB3ZSBjYW4ndCBmaW5kIGFueSBjaGFubmVsIG9yIGVuY29kaW5nLXBhcmFtcyBvbiB0aGUgY2FwcyBmb3IgZHluYW1pYwoJICBwYXlsb2FkIHR5cGVzLCBzZXQgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIDEsIGFzIHRoZSBzcGVjIHNheXMgd2UKCSAgc2hvdWxkLgoJICBTZWUgIzYyMzIwOQoKMjAxMC0wNy0wNiAxODoyMjoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcmV1c2UgdWRwIHNvY2tldHMKCSAgRG9uJ3QgcmV1c2Ugc29ja2V0cyBidXQgbWFrZSB0aGUgdWRwc3JjIGVsZW1lbnQgZmFpbCB0aGUgc3RhdGUgY2hhbmdlIHdoZW4gdGhlCgkgIHNvY2tldCBpcyBhbHJlYWR5IGluIHVzZS4gSWYgd2UgZG9uJ3QgcHJldmVudCByZXVzZSwgd2UgbWlnaHQgZW5kIHVwIHVzaW5nIHRoZSBzYW1lCgkgIHBvcnQgZm9yIGRpZmZlcmVudCBzdHJlYW1zIGluIHNvbWUgY2FzZXMuCgkgIEZpeGVzICM2MjIwMTcKCjIwMTAtMDctMDYgMTg6MTE6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IGFkZCBwcm9wZXJ0eSB0byBlbmFibGUgcG9ydCByZXVzZQoKMjAxMC0wNy0wNSAxMDoyMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgTDE2ZGVwYXk6IHVzZSBlbmNvZGluZy1wYXJhbXMgZm9yIHRoZSBjaGFubmVscwoJICBXaGVuIHBhcnNpbmcgdGhlIG51bWJlciBvZiBjaGFubmVscywgdXNlIHRoZSBlbmNvZGluZy1wYXJhbXMgcHJvcGVydHkgZnJvbSB0aGUKCSAgUlRQIGNhcHMgYmVjYXVzZSB0aGF0IGlzIHdoZXJlIHdlIGNhbiBmaW5kIHRoZSBjaGFubmVscyBhY2NvcmRpbmcgdG8gdGhlIHNwZWMuCgkgIEZhbGwgYmFjayB0byB0aGUgY2hhbm5lbHMgcHJvcGVydHkgaW4gdGhlIGNhcHMgd2hlbiBuZWVkZWQuCgkgIEZpeGVzICM2MjMyMDkKCjIwMTAtMDYtMjkgMTA6NDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGltcHJvdmUgZXJyb3IgYW5kIHdhcm5pbmcgbWVzc2FnZQoJICBJbXByb3ZlIGVycm9yIGFuZCB3YXJuaW5nIG1lc3NhZ2UuCgkgIEZpeGVzICM2MjI1NzcKCjIwMTAtMDgtMDIgMjM6MTU6NTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBubyBuZWVkIHRvIHNldCB0aGUgY29sb3IgZm9yIGVhY2ggZnJxLWJhbmQKCjIwMTAtMDgtMDIgMTI6NTY6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBydHBnNzI5cGF5OiBhdm9pZCBiYXNlcnRwcGF5bG9hZCBwZXJmZWN0LXJ0cHRpbWUgbW9kZQoJICBHNzI5IHBhY2tldHMgbWF5IG9ubHkgb2NjdXIgaW50ZXJtaXR0ZW50bHkgKGUuZy4gY24gcGFja2V0cyksIGFuZCBhcyBzdWNoCgkgIGRvIG5vdCBhbGxvdyBmb3IgcGVyZmVjdC1ydHB0aW1lIGNhbGN1bGF0aW5nIHJ0cCB0aW1lcyBiYXNlZCBvbiBmcmFtZSBvciBieXRlCgkgIGNvdW50LiAgSW4gcGFydGljdWxhciwgZG8gbm90IHVzZSBydHAgYXVkaW8gYmFzZSBwYXlsb2FkZXIgYXMgYmFzZSBjbGFzcywgYnV0CgkgIHJhdGhlciBiYXNlIHBheWxvYWRlciBkaXJlY3RseS4KCjIwMTAtMDgtMDIgMTI6NDg6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCBlbGVtZW50IGxlYWsKCjIwMTAtMDgtMDIgMTI6NDY6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgcnRwbXA0dmRlcGF5OiBmaXggYnVmZmVyIGxlYWsKCjIwMTAtMDgtMDIgMTI6NDY6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cCBwYXlsb2FkaW5nOiBmaXggcGFkIGxlYWsKCjIwMTAtMDctMjkgMTc6MTg6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyB1c2UgcHJvcGVyIG1vdmkgb2Zmc2V0IGZvciBtb3ZpIGJhc2VkIGluZGV4CgkgIEZpeGVzICM2MjMzNTcuCgoyMDEwLTA3LTI5IDEwOjAwOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBDb3JyZWN0bHkgcGFyc2UgbXZoZCBhdG9tcwoJICBQYXJzZSBtdmhkIGRhdGEgYWNjb3JkaW5nIHRvIGl0cyB2ZXJzaW9uIHRvIGF2b2lkIGZhaWxpbmcKCSAgb24gdmFsaWQgZmlsZXMuCgoyMDEwLTA3LTI4IDEyOjIxOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHRoZSBtYXgvYXZnIGluIGJ0cnQgYXRvbSByZWFkaW5nCgkgIEFjY29yZGluZyB0byBJU08gbWVkaWEgYmFzZSBmb3JtYXQsIHRoZSBtYXggYml0cmF0ZSBpcyB0aGUKCSAgZmlyc3Qgb25lLCBhbmQgdGhlIGF2ZyBjb21lcyBuZXh0LgoKMjAxMC0wNy0yNyAxNTo1ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVyIGhhbmRsaW5nIG9mIHN0cmVhbWluZyB1cHN0cmVhbSB3aXRob3V0IGR1cmF0aW9uCgkgIEZpeGVzICM2MjUzNzEuCgoyMDEwLTA3LTI2IDE4OjMzOjA5ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPU1ggYnVpbGQgYm90CgoyMDEwLTA3LTI2IDE4OjE1OjI1ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjb3JyZWN0bHkgY2hlY2sgd2hhdCB2ZXJzaW9uIG9mIGdzdC1wbHVnaW5zLWJhc2Ugd2UncmUgY29tcGlsaW5nIGFnYWluc3QKCSAgV2UgbmVlZCB0byBjaGVjayB0aGUgZ3N0LXBsdWdpbnMtYmFzZSB2ZXJzaW9uLCBub3QgdGhlIGNvcmUgdmVyc2lvbgoJICAoZXZlbiBpZiBib3RoIHNob3VsZCBiZSB0aGUgc2FtZSBpbiBhbnkgc2FuZSBzZXR1cCkuCgoyMDEwLTA3LTI2IDE3OjQ1OjQyICswMjAwICBBcm5hdWQgVnJhYyA8cmF3b3VsIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcG9ydC1yYW5nZSBwcm9wZXJ0eSB0byBydHNwc3JjCgkgIFRvIHN1cHBvcnQgc2V0dXBzIHdpdGggZmlyZXdhbGwvaXBzZWMsIGl0IGlzIHVzZWZ1bCBmb3IgYW4gcnRzcCBjbGllbnQgdG8gYmUKCSAgYWJsZSB0byBzZXQgdGhlIHJhbmdlIG9mIHBvcnRzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHJ0cC9ydGNwIHJlY2VwdGlvbi4KCSAgQWxsb3dzIHRoaXMgYnkgYWRkaW5nIGEgInBvcnQtcmFuZ2UiIHByb3BlcnR5IHRvIHRoZSBydHNwc3JjIGVsZW1lbnQuCgkgIEZpeGVzICM2MjUxNTMKCjIwMTAtMDctMjYgMTM6Mzg6MzEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gZmllbGQgYWxzbyBmb3IgcGFyPTEvMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzAyCgoyMDEwLTA3LTI2IDE1OjMxOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gc2VydmVyIHJlcXVlc3QgcmVwbHkKCSAgVGhlIFJUU1Agc2VydmVyIHJ0c3BzcmMgaXMgY29tbXVuaWNhdGluZyB3aXRoLCBzZW5kcyBhIEdFVF9QQVJBTUVURVIgcmVxdWVzdAoJICBwZXJpb2RpY2FsbHkgYXMgYSBwaW5nLiAgVGhlIGNvZGUgaW4gZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QgZm9ybXMgYW4gT0sKCSAgcmVzcG9uc2UgYW5kIHNlbmRzLCBidXQgZG9lc24ndCBjYWxsIGdzdF9ydHNwX21lc3NhZ2VfdW5zZXQgdG8gZnJlZSB0aGUgbWVtb3J5CgkgIGFmdGVyIHNlbmRpbmcgdGhlIHJlc3BvbnNlLiAgVGhpcyByZXN1bHRzIGluIGEgY29uc3RhbnQgc2xvdyBtZW1vcnkgbGVhay4KCSAgRml4ZXMgIzYyNDc3MAoKMjAxMC0wNy0yNCAyMjozOTo1NCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJICBjcHVyZXBvcnQ6IHJlbW92ZSBib2d1cyBkb2NzCgoyMDEwLTA3LTI0IDIyOjM3OjExICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSAgZGVidWd1dGlsczogbmV3IGVsZW1lbnQgY3B1cmVwb3J0CgkgIGNwdXJlcG9ydCBwb3N0cyBidXMgbWVzc2FnZXMgYWZ0ZXIgZXZlcnkgYnVmZmVyIHJlY2VpdmVkIG9mIGNwdSB1c2VkLCBzeXN0ZW0KCSAgY2xvY2sgdGltZSwgYnVmZmVyIHRpbWUKCjIwMTAtMDctMjQgMTA6Mjk6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IERlc3Ryb3kgdGhlIGNhaXJvIGNvbnRleHQgYWZ0ZXIgdXNhZ2UKCjIwMTAtMDctMjQgMTA6MjE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICBSZXZlcnQgImdka3BpeGJ1ZjogQWRkIGEgZ2RrcGl4YnVmMyBwbHVnaW4gdGhhdCB1c2VzIGdka3BpeGJ1ZjMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjY3ODgxNTMxNjFiNGUwN2ZiZjNkNDJhMmQ4OTIxZWEwNDkzMDVkMC4KCSAgVGhlcmUncyBubyBnZGstcGl4YnVmMyBhbnltb3JlLiBnZGstcGl4YnVmIHdhcyBzZXBhcmF0ZWQgZnJvbSBHVEsrCgkgIGFuZCB3aWxsIHN0YXkgYXQgdmVyc2lvbiAyLjAgZm9yIEdUSysgMy4wLgoKMjAxMC0wNy0yNCAxMDoxOTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogVXNlIGNhaXJvIGluc3RlYWQgb2YgdG8tYmUtZGVwcmVjYXRlZCBHREsgQVBJCgkgIEZpeGVzIGJ1ZyAjNjI1MDAyLgoKMjAxMC0wNy0yMiAxNjoyNDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBldmVudCBsZWFrCgoyMDEwLTA3LTIyIDEyOjA1OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogcHVsbCBtb2RlIG5vbi1jdWUgc2Vla2luZwoJICBUaGF0IGlzLCBpbiBmaWxlcyB0aGF0IGhhdmUgbm8gaW5kZXggKEN1ZSksIHBlcmZvcm0gc2VlayBieSBzY2FubmluZyBmb3IKCSAgbmVhcmVzdCBjbHVzdGVyIHdpdGggdGltZWNvZGUgYmVmb3JlIHJlcXVlc3RlZCBwb3NpdGlvbi4gIFNjYW5uaW5nIGlzIGRvbmUKCSAgYXMgYSBjb21iaW5hdGlvbiBvZiBpbnRlcnBvbGF0aW9uIGFuZCBzZXF1ZW50aWFsIHNjYW4uCgkgIEZpeGVzICM2MTczNjguCgoyMDEwLTA3LTE2IDEyOjQ2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0cmVhbWFibGUgZmlsZXMgbmVlZCBubyBfZmluaXNoCgkgIEZpeGVzICM2MjQ0NTUuCgoyMDEwLTA3LTIyIDExOjQ2OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgaGFuZGxlIDAtc2l6ZSBkYXRhIGNodW5rcwoJICBGaXhlcyAjNjE4NTM1LgoKMjAxMC0wNy0yMSAwODoxMToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgcmVzZXQgUW9TIGluZm9ybWF0aW9uIGFuZCBzZW5kIGEgTkVXU0VHTUVOVCBldmVudCBkb3duc3RyZWFtIGZvciBORVdTRUdNRU5UIGV2ZW50cyBvbiB0aGUgbWFzdGVyIHBhZAoKMjAxMC0wNy0xNCAyMDozMTo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IEFkZCBuZXcgZWxlbWVudAoKMjAxMC0wNy0yMCAxNjoxMToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkZW1vdGUgV0FSTklORyBtZXNzYWdlIHRvIExPRyBsZXZlbAoJICBJdCdzIG5vdCBhIHdhcm5pbmcuCgoyMDEwLTA3LTE5IDE0OjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IHJlZ3Jlc3Npb24gb24gbWFya2VycyBwYXJzaW5nCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIHdoZW4gZml4aW5nIGJ1ZyAjNTgzMDQ3IGluCgkgIGNvbW1pdCBhMzkxYmY1MmNjM2M1ODBjN2EwYTIzMTZjYTUyZWI2NmRhM2I4NWMxCgkgIFNraXAgdGhlIGRhdGEgd2hlbiBsaWJqcGVnIGFza3MgaXQgdG8gYmUgc2tpcHBlZCBvbgoJICBvbmUgb2YgaXRzIGNhbGxiYWNrcy4KCjIwMTAtMDctMTYgMTg6MDQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBtaXNzaW5nIGFyZ3VtZW50IGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDctMTYgMTc6NTM6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc2luazogT25seSB1c2UgZ3N0X2F1ZGlvX2Nsb2NrX25ldygpIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgbmV3ZXIgYmFzZQoKMjAxMC0wNy0wOSAxNzozMzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgZHYxMzk0c3JjOiBQb3N0IGNsb2NrLXByb3ZpZGUgYW5kIGNsb2NrLWxvc3QgbWVzc2FnZXMgd2hlbiBnb2luZyBmcm9tL3RvIFBMQVlJTkcKCSAgSW4gUEFVU0VEIGFuZCBiZWxvdyB0aGUgY2xvY2sgaXMgbm90IHdvcmtpbmcuCgoyMDEwLTA3LTA0IDE2OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5oOgoJICBnY29uZjogRml4IHJlZiBoYW5kbGluZyBvZiBuZXcgY2hpbGQgZWxlbWVudHMgYW5kIG1pbm9yIGNsZWFudXAKCjIwMTAtMDctMDQgMDk6NDU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSAgZ2NvbmZ2aWRlb3NyYzogVXNlIGNvcnJlY3QgR0NvbmYga2V5CgoyMDEwLTA3LTAzIDE0OjE2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgIGdjb25mOiBQb3J0IGdjb25mYXVkaW9zcmMgdG8gR3N0U3dpdGNoU3JjCgoyMDEwLTA3LTAzIDE0OjEyOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIGdjb25mOiBQb3J0IGdjb25mdmlkZW9zcmMgdG8gR3N0U3dpdGNoU3JjCgoyMDEwLTA3LTAzIDE0OjExOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmg6CgkgIGdjb25mOiBBZGQgR3N0U3dpdGNoU3JjIGJhc2UgY2xhc3MKCjIwMTAtMDctMDMgMTM6NTY6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgZ2NvbmY6IENyZWF0ZSB0aGUgZ2hvc3RwYWQgb2YgdGhlIHN3aXRjaHNpbmsgZnJvbSB0aGUgdGVtcGxhdGUKCjIwMTAtMDctMDcgMTA6MTA6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgY2xvY2stcHJvdmlkZS9jbG9jay1sb3N0IHdoZW4gZ29pbmcgdG8vZnJvbSBQQVVTRUQKCSAgQWxzbyB1c2UgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkgdG8gcHJldmVudCBjcmFzaGVzIHdoZW4gdGhlCgkgIGNsb2NrIGlzIHVzZWQgYWZ0ZXIgdGhlIGVsZW1lbnQgd2FzIGRlc3Ryb3llZC4KCjIwMTAtMDctMTUgMTE6NDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlbW92ZSBib2d1cyBVTkxPQ0sKCjIwMTAtMDctMTMgMTI6MzQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNhbGN1bGF0ZSBQQVIgdXNpbmcgdHJhY2sgd2lkdGggYW5kIGhlaWdodCBmb3IgUVQgZmlsZXMKCSAgKC4uLiBhcyBvcHBvc2VkIHRvIG9ubHkgZm9yIElTTyBzdHlsZSBmaWxlcykuCgkgIEZpeGVzICM2MjQxNzMuCgoyMDEwLTA3LTEyIDE3OjI5OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgYm9ndXMgZmlsZXMgc3RvcmluZyBBRFRTIEFBQyBkYXRhCgoyMDEwLTA3LTA5IDE2OjU3OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkbyBub3QgZXJyb3Igb3V0IG9uIGEgYmxvY2sgd2l0aCB1bmtub3duIHRyYWNrbnVtYmVyCgoyMDEwLTA3LTA4IDE4OjU3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IGFsaWduIHJldmVyc2UgcGxheWJhY2sgcmVmZXJlbmNlIHN0cmVhbSB0d2ljZQoJICBUaW1lc3RhbXAgcm91bmRpbmcgaXNzdWVzIGNvdWxkIGxlYWQgdG8gZ29pbmcgYmFja3dhcmRzIDIga2V5ZnJhbWUgcGVyaW9kcwoJICAocmF0aGVyIHRoYW4gb25seSAxKS4gIFdoaWxlIHRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IGEgcHJvYmxlbSwgaXQgbWlnaHQKCSAgcG90ZW50aWFsbHkgcGxhY2UgYWRkaXRpb25hbCAoYnVmZmVyaW5nKSBsb2FkIG9uIGRvd25zdHJlYW0gYW5kIGNvdWxkIGJlCgkgIGF2b2lkZWQgKGJlY2F1c2UgV2UgQ2FuKS4KCSAgRml4ZXMgIzYyMzYyOS4KCjIwMTAtMDctMDggMTY6MDc6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb252ZXJ0IHNvbWUgbW9yZSBtb3YgZm9ybWF0IHRpbWVzdGFtcCB0byBnc3QgdGltZQoKMjAxMC0wNy0wNyAxNDoxNjo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGRpdGlvbmFsIHZlcmlmaWNhdGlvbiBoZXVyaXN0aWNzIGZvciBWQlIgYXVkaW8gc3RyZWFtCgkgIENoZWNrIGZvciBhbmQgb3ZlcnJpZGUgc29tZSBoZWFkZXIgZmllbGQocykgZm9yIHJlYXNvbmFibGUgdmFsdWVzLCBhY2NvcmRpbmcKCSAgdG8gbGF0ZXIgZXhwZWN0ZWQgdXNlIGluIGNhbGN1bGF0aW9ucy4KCjIwMTAtMDctMTQgMTU6MjE6MjEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEZpeCB3cm9uZyBsb2NrIG9yZGVyIHRoYXQgY291bGQgbGVhZCB0byBhIGRlYWRsb2NrLiBGaXhlcyAjNjI0MzMxLgoKMjAxMC0wNy0xNiAxMTozMTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI0ID09PQoKMjAxMC0wNy0xNSAwMTo0OTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjQKCjIwMTAtMDctMTUgMDE6MzU6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vY3MucG86CgkqIHBvL2x2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNy0wNyAwMDo0Mjo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuNCBwcmUtcmVsZWFzZQoKMjAxMC0wNy0wNyAwMDozMToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9kYS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VzLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaWQucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vdHIucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNi0yMyAxMTo0Nzo0MyArMDIwMCAgTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGRlc3Ryb3kgYnVmZmVyIHBvb2wgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBOVUxMCgkgIEluIHRoZSBjYXNlIHdlIGNoYW5nZSB0aGUgU3RhdGUgZnJvbSBSRUFEWV9UT19OVUxMIHRoZSBidWZmZXJzIGluIHRoZSBwb29sCgkgIHN0aWxsIGhvbGQgYW4gb3BlbiBkdXAgZmlsZSBkZXNjcmlwdG9yIHRvIHRoZSBkZXZpY2UsIHRoZXJlZm9yZSB0aGUgZGV2aWNlCgkgIHJlbGVhc2UgZnVuY3Rpb24gd2lsbCBub3QgYmUgY2FsbGVkIGFuZCB0aGUgZGV2aWNlIHdpbGwgcHJvYmFibHkgYW5zd2VyIHdpdGgKCSAgLUVCVVNZIHdoZW4gd2UgcmVvcGVuIGl0IGluIHRoZSBuZXh0IE5VTExfVE9fUkVBRFkgdHJhbnNpdGlvbi4KCSAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoJICBTZWUgYnVnICM2MjI1MDAgYW5kICM2MTIyNDQuCgoyMDEwLTA3LTA2IDEzOjIxOjE5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9yZGVyIG9mIGJpdHJhdGVzIGluICdidHJ0JyBhdG9tCgkgIFRoZXJlIHNlZW1zIHRvIGJlIGEgYnVnIGluIGxpYm1wNHYyIHRoYXQgZ2VuZXJhdGVzIGEgTVBFRzRCaXRSYXRlQm94IGFzCgkgIChidWZmZXJTaXplREIsIGF2Z0JpdHJhdGUsIG1heEJpdHJhdGUpIGluc3RlYWQgb2YgKGJ1ZmZlclNpemVEQiwKCSAgbWF4Qml0cmF0ZSwgYXZnQml0cmF0ZSksIGFjY29yZGluZyB0byB0aGUgc3BlYy4gSSB1c2VkIHRoZSBtcDRmaWxlCgkgIG91dHB1dCB3aGlsZSB3cml0aW5nIHRoaXMgY29kZSwgc28gdGhlIG9yZGVyIGlzIHdyb25nLiBUaGlzIHBhdGNoZXMKCSAgZml4ZXMgdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY1NAoKMjAxMC0wNy0wNSAxMjowNTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBza2lwcGluZyBleHRyYSAweGZmIG1hcmtlcnMKCSAgRml4ZXMgIzYyMzU4NS4KCjIwMTAtMDYtMjkgMjM6MTg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGZpeCBtZW1vcnkgbGVhawoJICBEb24ndCBsZWFrIHJlc3VsdCBvZiBnc3RfYWRhcHRlcl90YWtlKCkuIFRoZXJlIGFyZSBtb3N0IGxpa2VseQoJICBzbWFydGVyIHRoaW5ncyB3ZSBjYW4gZG8sIGJ1dCBsZXQncyBrZWVwIHRoaW5ncyBzaW1wbGUgZm9yIHRoZQoJICByZWxlYXNlLgoJICBGaXhlcyAjNjIzMTcyLgoKMjAxMC0wNy0wMiAxMjozMTozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RyaXAgb3V0IGJvZ3VzIHRhZ3MgZnJvbSBYTVAgYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzY2CgoyMDEwLTA3LTAyIDE0OjI1OjIyICswMjAwICBBbmRyemVqIEsuIEhhY3pld3NraSA8YWhhY3pld3NraUBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFdyaXRlIGR1cmF0aW9uIGF0IHRoZSBjb3JyZWN0IHBvc2l0aW9uCgoyMDEwLTA2LTMwIDExOjEyOjA4ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBmaXggbWVtbGVhayBvbiBjdXN0b20gZG93bnN0cmVhbSBldmVudHMKCSAgYnkgbm90IHNlbmRpbmcgY3VzdG9tIGRvd25zdHJlYW0gZXZlbnQgdHdpY2UgYW5kIGZpeCBtZW1sZWFrIHdoZW4KCSAgbm90IGhhbmRsaW5nIHRoZSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMTk2CgoyMDEwLTA2LTI5IDIwOjE4OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuMyBwcmUtcmVsZWFzZQoKMjAxMC0wNi0yOSAyMDoxNDo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZpeCB1bnBvcnRhYmxlIHByaW50ZiBmb3JtYXQgc3BlY2lmaWVycyBpbiBjb21tZW50ZWQgb3V0IGNvZGUKCSAgVG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIHdoZW4gZ3JlcHBpbmcgZm9yIHVucG9ydGFibGUgc3BlY2lmaWVycy4KCjIwMTAtMDYtMjkgMTk6MTI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMDYtMjggMTU6NDQ6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTAgYW5kIGF1dG9jb25mIHRvIDIuNjAKCSAgRm9yIG1haW50YWluYWJpbGl0eSByZWFzb25zIGFuZCAkKGJ1aWxkZGlyKS4KCSAgU2VlICM2MjI5NDQuCgoyMDEwLTA2LTI4IDA5OjA3OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IGRvbid0IGFsbG9jYXRlIDI2MGtCIHN0cnVjdCBvbiB0aGUgc3RhY2sKCSAgUGx1Z2luSW5mbyBpcyBxdWl0ZSBhIHNpemVhYmxlIHN0cnVjdCwgbGV0J3Mgbm90IGFsbG9jYXRlIGl0IG9uIHRoZQoJICBzdGFjaywgZXNwZWNpYWxseSBub3QgaWYgd2UncmUgY29weWluZyBpdCBvdmVyIGludG8gYW5vdGhlciBkeW5hbWljYWxseQoJICBhbGxvY2F0ZWQgY29weSBhbnl3YXkuCgkgIEZpeGVzICM1NzA3NjEuCgoyMDEwLTA2LTI3IDEwOjMxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdUSysgPj0gMi4xNCBmb3IgdGhlIGV4YW1wbGVzCgoyMDEwLTA2LTI2IDIwOjEyOjI1ICswMjAwICBHdWlkbyBHw7xudGhlciA8YWd4QHNpZ3hjcHUub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IE1ha2UgZGVtb3MgLURTRUFMIHNhZmUgdG8gZml4IGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMDYtMjYgMjE6Mzk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgIGpwZWc6IEV4cGxpY2l0ZWx5IGxpbmsgd2l0aCBsaWJnc3RiYXNlCgoyMDEwLTA2LTI2IDE4OjQyOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIzLjIgcHJlLXJlbGVhc2UKCjIwMTAtMDYtMjYgMTg6NDE6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkgIGdzdDogdXBkYXRlIG9yYyBmaWxlcwoKMjAxMC0wNi0yNiAxODo0MTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNi0yNSAxOTo0MDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGaXggbGVha2luZyBvZiB0aGUgc3RyZWFtaGVhZGVyIGJ1ZmZlcnMKCSAgZ3N0X3ZhbHVlX3NldF9idWZmZXIoKSBpbmNyZWFzZXMgdGhlIHJlZmNvdW50IGFuZCBkb2Vzbid0CgkgIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBidWZmZXIuCgoyMDEwLTA2LTI0IDE2OjMyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgbWF0cm9za2EsIHZpZGVvYm94LCB2aWRlb2ZpbHRlcjogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gZGVidWdnaW5nIGlzIGRpc2FibGVkIGluIGdzdHJlYW1lcgoJICBGaXhlcyB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3Mgd2hlbiBHU3RyZWFtZXIncyBkZWJ1Z2dpbmcgc3lzdGVtIGhhcyBiZWVuIGRpc2FibGVkLgoKMjAxMC0wNi0yNCAxNToxNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBwbHVnaW4gbG9hZGluZyB3aGl0ZWxpc3QgdG8gdGVzdCBlbnZpcm9ubWVudAoJICBPbmx5IHdhbnQgdG8gbG9hZCBjb3JlL2Jhc2UvZ29vZCBwbHVnaW5zIGhlcmUuCgkgIEZpeGVzICM2MTk3MTcuCgoyMDEwLTA2LTI0IDE1OjA5OjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDczZmY5M2EgdG8gYTUxOTU3MQoKMjAxMC0wNi0yNCAxMzowMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmZGVjOiBidW1wIHJhbmsgdG8gU0VDT05EQVJZCgkgIEJ1bXAgZ2RrcGl4YnVmZGVjJ3MgcmFuayB0byBTRUNPTkRBUlkgdG8gZ2l2ZSBpdCBhbiBlZGdlIG92ZXIgbWlzYy4KCSAgaW1hZ2UgZGVjb2RlcnMgaW4gZ3N0LWZmbXBlZyB0aGF0IGFsc28gaGF2ZSBhIE1BUkdJTkFMIHJhbmsuCgkgIEZpeGVzICM2MjAxNjIuCgoyMDEwLTA2LTIzIDEyOjE1OjEzICswMjAwICBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIHJlc2V0IHRoZSBoYXZlX2luZGV4IGZsYWcgYXQgdHJhbnNpdGlvbiBQQVVTRURfVE9fUkVBRFkKCSAgSWYgd2UgcmVzdGFydCB0aGUgU3RyZWFtIGluIHRoZSBjYXNlIG9mIGRvaW5nIGEgdHJhbnNpdGlvbiBmcm9tCgkgIFBBVVNFRF9UT19SRUFEWSBhbmQgYmFjayB3aXRoIFJFQURZX1RPX1BBVVNFRCBhc28uIHRoZSBkdXJhdGlvbiBvZiB0aGUgdmlkZW8KCSAgd2lsbCBnZXQgY2FsY3VsYXRlZCBldmVuIGlmIHdlIGhhdmUgYSBhdmkgaGVhZGVyIHdpdGggdGhhdCBpbmZvcm1hdGlvbi4KCSAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKMjAxMC0wNi0yMyAyMDoyOToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBuZWdvdGlhdGlvbiBmb3IgSTQyMC9ZVjEyCgkgIFdlIGRvbid0IHN1cHBvcnQgY29udmVyc2lvbiBpbnRvICphbGwqIFlVVgoJICBmb3JtYXRzIGZvciB0aGVtLCBvbmx5IGludG8gSTQyMC9ZVjEyL0FZVVYuCgkgIEZpeGVzIGJ1ZyAjNjIyNTAxLgoKMjAxMC0wNi0yMiAxNToyMjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHByb3BlciBjbG9zaW5nIHNlZ21lbnQgY29uc3RydWN0aW9uCgkgIEZpeGVzICM2MTg5ODIuCgoyMDEwLTA2LTIyIDE1OjQ2OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBwcmVjYWxjdWxhdGUgZHVyYXRpb24KCSAgSGF2ZSBmcmFtZSBkdXJhdGlvbiBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0IGFuZCBjYWxjdWxhdGUgaXQgYWZ0ZXIgY2hhbmdpbmcgdGhlIGNhcHMuCgoyMDEwLTA2LTIxIDEyOjE3OjM5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogdXNlIGdsaWIgZGVmaW5lcyBpbiBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgZm9yIHJlYWRhYmlsaXR5CgoyMDEwLTA2LTIxIDEyOjE1OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gc2F2ZSBhIGZldyBieXRlcyBhbmQgc3RyZHVwcwoKMjAxMC0wNi0xOCAyMDowMjo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGxvY2tpbmcgYWZ0ZXIgbW92aW5nIHRoaW5ncyBhcm91bmQKCjIwMTAtMDYtMTggMTQ6MTM6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgdGFnbGliOiBVc2UgbmV3bHkgYWRkZWQgZ3N0X3RhZ19saXN0X3BlZWtfc3RyaW5nX2luZGV4CgkgIFJlcGxhY2UgY2FsbHMgdG8gZ3N0X3RhZ19saXN0X2dldF9zdHJpbmdfaW5kZXggd2l0aAoJICBnc3RfdGFnX2xpc3RfcGVla19zdHJpbmdfaW5kZXggdG8gYXZvaWQgYSBzdHJpbmcgY29weQoKMjAxMC0wNi0xOCAxNjo1NjoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBzb21lIGVycm9ycyBhcyB3YXJuaW5ncwoJICBBdm9pZCBzcGFtbWluZyB0aGUgdGVzdHN1aXRlIHdpdGggdGhlc2UgZXJyb3IgZGVidWcgbGluZXMuCgoyMDEwLTA2LTE4IDE2OjQ5OjA4ICswMjAwICBLZWl0aCBOaWNob2xzb24gPGtlaXRoLm5pY2hvbHNvbiBhdCB1bHRyYS1jY3MuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggbXVsdGljYXN0IHN1cHBvcnQgb24gd2luZG93cyBidWlsZHMKCSAgT24gd2luZG93cyBidWlsZHMsIHNldHMgc291cmNlIGFkZHJlc3MgZm9yIGJpbmQgdG8gSU5BRERSX0FOWSwgd2hpbGUKCSAgbWFpbnRhaW5pbmcgdGhlIG9yaWdpbmFsIG11bHRpY2FzdCBncm91cCBhZGRyZXNzIGZvciBzdWJzZXF1ZW50IGpvaW4uCgkgIEZpeGVzICM1OTU5NzgKCjIwMTAtMDYtMTggMTY6MTY6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogbWFrZSB1cmwgcGFyc2luZyBjb21wYXRpYmxlIHdpdGggVkxDIHN5bnRheAoJICBTa2lwIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBAIHNpZ24gaW4gdGhlIHVybCBsb2NhdGlvbi4gVkxDIHVzZXMgdGhhdCBhcyB0aGUKCSAgcmVtb3RlIGFkZHJlc3MgdG8gY29ubmVjdCB0byAoYnV0IHdlIGlnbm9yZSBpdCBmb3Igbm93KS4gVGhpcyBtYWtlcyBvdXIgdWRwIHVybHMKCSAgY29tcGF0aWJsZSB3aXRoIHRoZSBvbmVzIHVzZWQgYnkgVkxDLgoJICBGaXhlcyAjNTk3Njk1CgoyMDEwLTA2LTE4IDE1OjA4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZhY3RvciBvdXQgdGhlIGNvbm5lY3Rpb25zCgkgIEtlZXAgYSBnbG9iYWwgY29ubmVjdGlvbiBmb3IgYWdncmVnYXRlIGNvbnRyb2wgYnV0IGFsc28ga2VlcCBzdHJlYW0gY29ubmVjdGlvbnMKCSAgZm9yIG5vbi1hZ2dyZWdhdGUgY29udHJvbC4KCSAgQWRkIHNvbWUgaGVscGVyIG1ldGhvZHMgdG8gY29ubmVjdC9jbG9zZS9mbHVzaCB0aGUgY29ubmVjdGlvbnMuCgoyMDEwLTA2LTE3IDEzOjA2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgbm9uLWFnZ3JlZ2F0ZSBjb250cm9sCgkgIEFkZCBub24tYWdncmVnYXRlIGNvbnRyb2wuCgkgIFNlcGFyYXRlIHJldHJpZXZpbmcgdGhyIFNEUCBmcm9tIHBhcnNpbmcgYW5kIHNldHRpbmcgdXAgdGhlIHN0cmVhbWluZyBmcm9tIHRoZQoJICBTRFAuCgoyMDEwLTA2LTE3IDIyOjEwOjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogY29tbW9uOgoJICBjb21tb246IHVwZGF0ZSBjb21tb24gYmFjayB0byB3aGF0IGl0IHdhcwoKMjAxMC0wNi0xNyAxNzoyNDoyMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBhZGQgZG9jdW1lbnRhdGlvbiBmb3Igc3RyZWFtYWJsZSBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjo0Mzo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZG9jczogdXBkYXRlIGludHJvc3BlY3RlZCBwbHVnaW4gZG9jcyBmb3IgZ3N0ZG9jLXNjYW5nb2JqIGFuZCBvdGhlciBjaGFuZ2VzCgkgIFVwZGF0ZSBjb21tb24gZm9yIGxhdGVzdCBnc3Rkb2Mtc2NhbmdvYmosIGFuZCBpbnNwZWN0IHhtbCBmaWxlcyBmb3IKCSAgZXNjYXBpbmcgYW5kIHBhZCB0ZW1wbGF0ZSBvcmRlciBjaGFuZ2VzLgoKMjAxMC0wNi0xNyAxNjo0MTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIHN1Yi1kaXJlY3Rvcnkgd2l0aCBvcmMgdGVzdHMKCjIwMTAtMDYtMTcgMTA6NDQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBhbiB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDYtMTYgMjE6MDI6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1sLXJlYWQ6IFplcm8tc2l6ZWQgaW50cy91aW50cy9mbG9hdHMgaGF2ZSBhIHZhbHVlIG9mIDAgYWNjb3JkaW5nIHRvIHRoZSBFQk1MIHNwZWMKCjIwMTAtMDYtMTYgMjA6MDI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kIGFzc2VydGlvbiB0aGF0IGNvdWxkIGJlIGNhdXNlZCBieSBpbnZhbGlkIGZpbGVzCgoyMDEwLTA2LTE2IDE5OjUwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDbGVhbiB1cC9maXggc29tZSBtaW5vciBlcnJvciBoYW5kbGluZyBidWdzCgoyMDEwLTA2LTE2IDE5OjMwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSB3aGVuIGFsbG9jYXRpb24gb2YgdGhlIHhpbWFnZSBmYWlscwoKMjAxMC0wNi0xNiAxOToyODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCjIwMTAtMDYtMTYgMTk6MjQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCjIwMTAtMDYtMTYgMTk6MjA6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICB3YXJwdHY6IERvbid0IHVzZSBmbG9hdHMgYXMgbG9vcCBjb3VudGVycwoKMjAxMC0wNi0xNiAxMToyMTozNSAtMDQwMCAgSGF2b2MgUGVubmluZ3RvbiA8aHBAcG9ib3guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBkbyBub3QgdHJ5IHRvIGNoYW5nZSBkZXZpY2UgZm9ybWF0IGlmIGl0J3MgYWxyZWFkeSBjb3JyZWN0CgkgIFRoaXMgYWxsb3dzIHNldF9jYXBzIHRvIHN1Y2NlZWQgaWYgY2FwcyBjaGFuZ2UgaW4gYSB3YXkgdGhhdAoJICB3b3VsZCBub3QgbW9kaWZ5IHRoZSBmb3JtYXQgd2UncmUgZ2V0dGluZyBmcm9tIHRoZSBoYXJkd2FyZS4KCSAgT3RoZXJ3aXNlIGlmIG5vdCBpbiBOVUxMIHN0YXRlLCBzZXR0aW5nIGNhcHMgd291bGQgZmFpbAoJICB3aXRoIEVCVVNZLgoJICBXaXRoIHRoaXMgY2hhbmdlLCBpbiBzb21lIGNhc2VzIGl0J3MgT0sgdG8gZ28gUExBWUlORy0+UkVBRFktPlBMQVlJTkcKCSAgcmF0aGVyIHRoYW4gUExBWUlORy0+TlVMTC0+UExBWUlORyB0byBhdm9pZCBhIHRpbWUtY29uc3VtaW5nIGNsb3NlCgkgIGFuZCByZW9wZW4gb2YgdGhlIGRldmljZS4KCSAgRml4ZXMgIzYyMTcyMwoKMjAxMC0wNi0xNiAxMTowOToxNyAtMDQwMCAgSGF2b2MgUGVubmluZ3RvbiA8aHBAcG9ib3guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBpbiBuZWdvdGlhdGUsIGNoZWNrIGZvciBlcnJvciByZXR1cm4gZnJvbSBzZXRfY2FwcwoJICBGaXhlcyAjNjIxNzIzICAocGFydGlhbGx5KQoJICBzZXRfY2FwcyBjYW4gZmFpbCBpZiB0aGUgdmlkZW8gZGV2aWNlIGlzIHJ1bm5pbmcsIGluIHRoYXQgY2FzZQoJICBzZXR0aW5nIGl0cyBmb3JtYXQgbGVhZHMgdG8gRUJVU1kuCgkgIElmIHNldF9jYXBzIGZhaWxzIHRoZW4gd2Ugd2lsbCBub3QgaGF2ZSBzZXQgdXAgdGhlIGJ1ZmZlciBwb29sCgkgIChpdCB3aWxsIGJlIE5VTEwpIHdoaWNoIGxlYWRzIHRvIGEgY3Jhc2ggd2hlbiB3ZSB0cnkgdG8gcHVsbAoJICBidWZmZXJzLiBJZiB3ZSBmYWlsIHRoZSBuZWdvdGlhdGUgb24gc2V0X2NhcHMgZmFpbHVyZSwgdGhlbiB3ZQoJICB3b24ndCBnbyB0byBwbGF5aW5nIHN0YXRlIGFuZCB3b24ndCBjcmFzaC4KCSAgVGhpcyBpcyBhIHNtYWxsIGltcHJvdmVtZW50LiBPZiBjb3Vyc2UsIGEgbmljZXIgZml4IHdvdWxkCgkgIGJlIHRvIG1ha2Ugc2V0X2NhcHMgd29yayBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgZm9ybWF0IGlzCgkgIHVuY2hhbmdlZC4gSWYgdGhlIGZvcm1hdCBoYXMgY2hhbmdlZCwgZmFpbGluZyBpcwoJICBwcm9iYWJseSBjb3JyZWN0IGJlY2F1c2Ugd2UgbmVlZCB0byBjbG9zZSB0aGUgZGV2aWNlCgkgIChnbyB0byBOVUxMIHN0YXRlKSBpbiBvcmRlciB0byBzZXQgY2Fwcy4KCjIwMTAtMDYtMTYgMTU6NDA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW1wcm92ZSBhdWRpbyB2YnIgZGV0ZWN0aW9uCgkgIFN1YnNlcXVlbnQgZW50cnkgdGltZSBjYWxjdWxhdGlvbnMgdXNlIGJsb2NrYWxpZ24gdmFsdWUgdG8gZGV0ZXJtaW5lCgkgIG51bWJlciBvZiBmcmFtZXMgcGVyIGNodW5rLCBhbmQgYmxvY2thbGlnbiA9PSAxIGlzIHRoZW4gbW9zdCB1bmxpa2VseSB0byByZXN1bHQKCSAgaW4gcmVhc29uYWJsZSB2YWx1ZXMgKHdoaWNoIGFsc28gYWxpZ25zIHdpdGggInNwZWMiKS4KCjIwMTAtMDYtMTYgMTU6NTI6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiB0d2VhayBERUxUQV9VTklUIGxhYmVsaW5nCgkgIENvbnNpZGVyIFNQUywgUFBTIGFuZCBJRFIgYXMga2V5ZnJhbWUsIGFsbCBvdGhlcnMgYXMgREVMVEFfVU5JVC4KCSAgU2VlICM2MjAxNTQuCgoyMDEwLTA2LTE1IDIwOjA2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogSW5pdGlhbGl6ZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGFuZCBkb24ndCB1bnJlZiBpdCBpZiBpdCdzIE5VTEwKCjIwMTAtMDYtMTUgMjA6MDQ6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQXNzaWduIHZhcmlhYmxlcyBiZWZvcmUgcHJpbnRpbmcgdGhlbQoKMjAxMC0wNi0xNSAyMDowMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEluaXRpYWxpemUgdW5pbml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNi0xNSAxOTo0NzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEluaXRpYWxpemUgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTk6NDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBGaXggTkVXU0VHTUVOVCBwYXJzaW5nIGxvZ2ljIGFuZCBkb24ndCB1c2UgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDYtMTUgMTc6MjA6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTY6NDk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkzMzljY2MgdG8gMzU2MTdjMgoKMjAxMC0wNi0xNSAxNjo1NDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YWRiMWNhIHRvIDkzMzljY2MKCjIwMTAtMDYtMTUgMTY6MzU6MTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODliNyB0byA1YWRiMWNhCgoyMDEwLTA2LTE1IDE0OjA4OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBnZW5lcmF0ZWQgdHZ0aW1lLmggZmlsZQoKMjAxMC0wNi0xNSAxNTozNjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjODA0OTg4IHRvIDU3Yzg5YjcKCjIwMTAtMDUtMTcgMTM6NTQ6MDMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJICByYXcxMzk0OiByZW1vdmUgdXNlbGVzcyBsYXN0X3RpbWUKCSAgSXQgc2VlbXMgdG8gbWUgdGhpcyBjb2RlIGlzIHVzZWxlc3M6IHJlbW92aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4ODcxCgoyMDEwLTA2LTE0IDE5OjIxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHJlc3BlY3QgYWdncmVnYXRlIGNvbnRyb2wgYXR0cmlidXRlcwoJICB3aGVuIHRoZSBTRFAgc3BlY2lmaWVzIGFuIGFnZ3JlZ2F0ZSBjb250cm9sIHVybCwgdXNlIHRoYXQgZm9yIHBsYXliYWNrCgkgIGNvbnRyb2wuCgkgIEZpeGVzICM2MTk1MzEKCjIwMTAtMDYtMTQgMTU6MzY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBDYWxsIG9yY19pbml0KCkgYmVmb3JlIHRyeWluZyB0byBnZXQgdGFyZ2V0IGZsYWdzCgoyMDEwLTA2LTE0IDE1OjM1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2FsbCBvcmNfaW5pdCgpIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRhcmdldCBmbGFncwoKMjAxMC0wNi0xNCAxNDoyNjoyMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IHJldmVydCBjaGFuZ2UgdGhhdCBzZXQgYSByZXNlcnZlZCBmbGFnIG9uIHRoZSBCbG9jay4KCSAgU28gbWF0cm9za2EncyBCbG9jayBzdHJ1Y3R1cmUgaGFzIG5vIGtleWZyYW1lIGZsYWcsIG9ubHkgdGhlIFNpbXBsZUJsb2NrIGhhcyBpdC4KCSAgVG8gZGV0ZWN0IGtleWZyYW1lcyBpbiBCbG9ja3MsIGl0IGlzIGp1c3QgdGhlIEJsb2NrR3JvdXAgY29udGFpbmVyIHRoYXQgbmVlZHMKCSAgdG8gaGF2ZSBhIFJlZmVyZW5jZUJsb2NrIGF0dGFjaGVkIGlmIGl0IGlzIGEgZGVsdGEgZnJhbWUgaW4gdmlkZW8uCgoyMDEwLTA1LTMxIDEyOjQ1OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiB1c2UgbGlianBlZyBzY2F0dGVyLWdhdGhlciBvcGVyYXRpb24gdG8gYXZvaWQgZGF0YSBjb3B5aW5nCgkgIEZpeGVzICM1ODMwNDcgKG1vcmUpLgoKMjAxMC0wNS0yNyAxNTo0NToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb3B0aW1pemUgYnVmZmVyIGhhbmRsaW5nIHdoZW4gcGFyc2luZwoJICBVc2UgYW4gYWRhcHRlciB0byBjb2xsZWN0IGluY29taW5nIGRhdGEsIGFuZCB1c2UgYWRhcHRlciBBUEkgdG8gc2NhbiBhbmQgcGVlay4KCSAgRml4ZXMgIzU4MzA0Ny4KCjIwMTAtMDYtMTQgMTM6NDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBVc2UgZ19hc2NpaV9zdHJjYXNlY21wKCkgaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBnX3N0cmNhc2VjbXAoKQoKMjAxMC0wNi0xNCAxMzoyNzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEdMSUJfRVhUUkFfQ0ZMQUdTCgoyMDEwLTA2LTE0IDEzOjAzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2EwZmRmNSB0byBjODA0OTg4CgoyMDEwLTA2LTE0IDExOjQ2OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogYWxzbyBjb25zaWRlciBBVSBhbmQgU0VJIE5BTFVzIGFzIERFTFRBX1VOSVQKCSAgRml4ZXMgIzYyMDE1NC4KCjIwMTAtMDYtMTQgMTE6MzI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGEzYmFiIHRvIDdhMGZkZjUKCjIwMTAtMDYtMTIgMjE6MjY6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgYnVpbGQ6IGluY2x1ZGUgc3RkaW8uaCBmb3Igc3NjYW5mCgoyMDEwLTA2LTEyIDE0OjEyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIGNsZWFuIHJ1bGUgZm9yIHRoZSBvcmMgdGVzdHMKCjIwMTAtMDYtMTIgMTQ6MTI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgYXV0b2dlbmVyYXRlZCBvcmMgdGVzdHMKCjIwMTAtMDYtMTIgMDg6Mjc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MzNmY2E5IHRvIDZkYTNiYWIKCjIwMTAtMDYtMTEgMTY6MjM6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAxMC0wNi0xMSAyMToxMzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBkb24ndCB0cnkgdG8gdW5yZWYgTlVMTCBidWZmZXJzCgkgIEZpeGVzIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTAtMDYtMTEgMjA6NTA6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB1c2UgdHlwZWZpbmQgZnVuY3Rpb25zIHRvIGNoZWNrIGlmIFBDTSBkYXRhIGNvbnRhaW5zIGR0cyBzdHJlYW0KCSAgVXNlIG5ldyBkdHMgYXVkaW8gdHlwZWZpbmRlciBmcm9tIC1iYXNlIHRvIGNoZWNrIGlmIHRoZSBQQ00gZGF0YQoJICBjb250YWlucyBhIGR0cyBzdHJlYW0uIFRoaXMgd2F5IHdlIHJlY29nbmlzZSBtb3JlIHZhcmlldGllcyBtb3JlCgkgIHJlbGlhYmx5IGFuZCBhbHNvIGRldGVjdCB0aGUgZHRzIHN0cmVhbSBpZiB0aGVyZSBpc24ndCBhIGZyYW1lCgkgIHN5bmMgcmlnaHQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBkYXRhLgoJICBGaXhlcyAjNDEzOTQyLgoKMjAxMC0wNi0xMSAyMDo0NzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNldCBidWZmZXIgb2Zmc2V0cyBiZWZvcmUgdXNpbmcgdGhlIGJ1ZmZlciBmb3IgdGhlIGZpcnN0IHRpbWUKCSAgZ3N0X3R5cGVfZmluZF9oZWxwZXJfZm9yX2J1ZmZlcigpIHdpbGwgbmVlZCB0aGUgY29ycmVjdCBvZmZzZXQKCSAgc2V0IG9uIHRoZSBidWZmZXIgKGllLiAwKSBhbmQgbm90IHRoZSBieXRlIG9mZnNldCB3ZSBzdGFydGVkCgkgIHB1bGxpbmcgdGhlIGRhdGEgZnJvbS4KCjIwMTAtMDYtMTAgMTY6MTQ6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkgIHJ0cDogYWRkIG1wYS1yb2J1c3QgZGVwYXlsb2FkZXIKCSAgRml4ZXMgIzU4OTk5Ny4KCjIwMTAtMDYtMTEgMTA6NTc6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggYXZpIGhlYWRlciBieXRld3JpdGluZwoJICAuLi4gYnkgdXNpbmcgcHJvcGVyIG9mZnNldHMgZm9yIHRhZyBsaXN0IHdyaXRpbmcuCgkgIEFsc28gdXNlIF9yZXNldCByYXRoZXIgdGhhbiBfZnJlZSBhbmQgY29uc2lzdGVudGx5IHVzZSBieXRld3JpdGVyIHBvc2l0aW9uLgoJICBTZWUgIzYxOTI5My4KCjIwMTAtMDYtMTAgMjI6NTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCSAgQWRkIHRoZSBnZW5lcmF0ZWQgb3JjIHNvdXJjZSBmaWxlcwoKMjAxMC0wNi0xMCAyMjo1NToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogRml4IHVuaXQgdGVzdCBmb3IgY2hhbmdlZCBrZXktZnJhbWUgYmVoYXZpb3VyCgkgIEFsbCBhdWRpbyBmcmFtZXMgYXJlIG1hcmtlZCBhcyBrZXlmcmFtZSBub3cgaW5zdGVhZCBvZiBtYXJraW5nCgkgIHRoZW0gYWxsIGFzIGRlbHRhIHVuaXQuLi4KCjIwMTAtMDYtMTAgMjI6NDU6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBQb3J0IG1vc3QgYmxlbmRpbmcgcmVsYXRlZCBmdW5jdGlvbnMgdG8gb3JjCgkgIE9ubHkgcmVtYWluaW5nIE1NWCBpbXBsZW1lbnRhdGlvbiBpcyB0aGUgQVJHQi9CR1JBL0FZVVYgYmxlbmRpbmcKCSAgZm9yIHdoaWNoIHdlIGZpcnN0IG5lZWQgdGhlIG9yYyBjb21wb3NpdGluZyBvcGNvZGVzLgoKMjAxMC0wNi0xMCAyMDoxNzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogUmVwbGFjZSBzb21lIHRhYnMgYnkgc3BhY2VzCgoyMDEwLTA2LTEwIDExOjA0OjM4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgZHYxMzk0OiBGaXggdGhlIGludGVybmFsIGNsb2NrIGV2ZW4gbW9yZQoJICBUaGUgY3ljbGVDb3VudCByZWdpc3RlciBpcyAxMyBiaXRzIGxvbmcgYW5kIHRoZSBjeWNsZU9mZnNldCBvbmUKCSAgaXMgMTIgYml0cyBsb25nLiBUbyByZWFkIHRoZSBjeWNsZUNvdW50IHJlZ2lzdGVyIHdlIG5lZWQgdG8gc2hpZnQKCSAgMTIgYml0cyBhbmQgbm90IDEzLiBGaXhlcyAjNjE1NDYxCgoyMDEwLTA2LTA5IDE4OjM3OjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgbTQgbWFjcm8gdG8gY2hlY2sgZm9yIE9yYwoKMjAxMC0wNi0wOSAyMjo0MDoyMyArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNvbWUgbm9uLWRlbHRhIGJ1ZmZlcnMgd2VyZSBub3QgbWFya2VkIGFzIGtleWZyYW1lcwoKMjAxMC0wNi0wOSAyMjowMDoxNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogY2hhbmdlIDIgc2Vjb25kIGxpbWl0IHBlciBjbHVzdGVyCgkgIFN0YXJ0IGNsdXN0ZXIgYXQgZXZlcnkga2V5ZnJhbWUgb3Igd2hlbiB3ZSB3b3VsZCBvdmVyZmxvdyB0aGUgcHJldmlvdXMKCSAgY2x1c3RlcidzIHJlbGF0aXZlIHRpbWVzdGFtcCBmaWVsZC4gVGhpcyB3b3VsZCBhdm9pZCBhcyBtdWNoIGFzIHBvc3NpYmxlCgkgIHN0YXJ0aW5nIGNsdXN0ZXJzIGF0IG5vbi1rZXlmcmFtZXMuCgoyMDEwLTA2LTA5IDEyOjQwOjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmFkMTQ1YiB0byA3MzNmY2E5CgoyMDEwLTA2LTA5IDEyOjM0OjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDc2ODNjMSB0byBmYWQxNDViCgoyMDEwLTA2LTA5IDIwOjUzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBEb24ndCByZXF1ZXN0IG1vcmUgc2hhcmVkIG1lbW9yeSB0aGFuIG5lZWRlZAoKMjAxMC0wNi0wOSAyMDo0NTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICBzd2l0Y2hzaW5rOiBTZXQgdGhlIEdTVF9FTEVNRU5UX0lTX1NJTksgZmxhZyBvbiB0aGUgc2luawoKMjAxMC0wNi0wOSAyMDo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkgIGdjb25mdmlkZW9zaW5rOiBVc2UgR3N0U3dpdGNoU2luayBhcyBiYXNlIGNsYXNzCgoyMDEwLTA2LTA5IDIwOjMwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJICBnY29uZmF1ZGlvc2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTAtMDYtMDkgMjA6Mjk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICBnY29uZmF1ZGlvc2luazogUmVuYW1lIGluc3RhbmNlIHZhcmlhYmxlIHRvIGJlIG1vcmUgZGVzY3JpcHRpdmUKCjIwMTAtMDYtMDkgMjA6MjI6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIGF1dG97YXVkaW8sdmlkZW99c2luazogRG9uJ3QgbG9zZSB0aGUgR1NUX0VMRU1FTlRfSVNfU0lOSyBmbGFnIGFmdGVyIHJlbW92aW5nIHRoZSBjaGlsZAoKMjAxMC0wNi0wOSAyMDowNzowOSArMDIwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFBsdWcgc29tZSBtZW1sZWFrIGFuZCBzdXBwb3J0IDIyMDUwSHogbW9ubyBzb3VuZC4KCSAgU2VnbWVudCBzaXplIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNhbXBsZSBzaXplIGluIGJ5dGVzLgoKMjAxMC0wNi0wOSAxNjoyMjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRmx1c2ggc2htIGJ1ZmZlciBpbW1lZGlhdGVseSBpZiBpdCdzIGZ1bGwKCjIwMTAtMDYtMDkgMTY6MjE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCB3cml0aW5nIG9mIGJ1ZmZlcnMgbGFyZ2VyIHRoYW4gc2Vnc2l6ZQoJICBGaXhlcyBidWcgIzYyMDU0MC4KCjIwMTAtMDYtMDkgMTU6NDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBwbGF5YmFjayBpZiBQQSBkb2Vzbid0IGdpdmUgdXMgYSBsYXJnZSBlbm91Z2ggc2hhcmVkIG1lbW9yeSBidWZmZXIKCjIwMTAtMDYtMDkgMTU6NDI6MTkgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGNoYW5nZSBpbmRleGVkIHByb3BlcnR5IHRvIHN0cmVhbWFibGUKCSAgVGhlIHByb3BlcnR5IHN0cmVhbWFibGUgaGFzIHJldmVyc2Ugc2VtYW50aWNzIHRvIGluZGV4ZWQuCgoyMDEwLTA2LTA5IDA5OjEzOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogUmVuYW1lIHVucmVsZWFzZWQgcHJvcGVydHkgJ2luZGV4ZWQnIHRvICdzdHJlYW1hYmxlJwoJICBSZW5hbWUgJ2luZGV4ZWQnIHRvICdzdHJlYW1hYmxlJyBmb3IgYSBiZXR0ZXIgbmFtZSB3aGlsZSBpdAoJICBoYXNuJ3QgYmVlbiByZWxlYXNlZAoKMjAxMC0wNi0wOCAxNToyMzo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbGlib2lsIGNoZWNrCgoyMDEwLTA2LTA4IDE0OjQ0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcmVtb3ZlIHVudXNlZCBsaWJvaWwgaW5jbHVkZQoKMjAxMC0wNi0wNCAxODoyMjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogbGlib2lsIHRvIG9yYyBjb252ZXJzaW9uCgoyMDEwLTA2LTA0IDE4OjIxOjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy5vcmM6CgkgIHZpZGVvYm94OiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDQgMTg6MTY6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL1JFQURNRToKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDggMTY6MDQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUub3JjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJICBkZWludGVybGFjZTogb3JjaWZ5IHNvbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzCgoyMDEwLTA2LTA4IDE2OjAzOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGNvbnZlcnQgZnJvbSBsaWJvaWwgdG8gb3JjCgoyMDEwLTA2LTA4IDE1OjIzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBvcmMgY2hlY2sKCjIwMTAtMDYtMDggMTQ6MDk6MDAgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBpbmRleGVkIHByb3BlcnR5IHRvIHJlcGxhY2UgZGlzYWJsZWQgaXMtbGl2ZS4KCSAgQWRkIGluZGV4ZWQgcHJvcGVydHkgdG8gYmUgdGhlIG5lZ2F0aW9uIG9mIHdoYXQgdGhlIGRpc2FibGVkIGlzLWxpdmUgcHJvcGVydHkKCSAgd2FzLiBGaXhlcyBidWcgIzYxMzA2Ni4KCjIwMTAtMDYtMDggMDk6MjI6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICByYXcxMzk0OiBSZXF1aXJlIGxpYnJhdzEzOTQgPj0gMi4wLjAgZm9yIHJhdzEzOTRfcmVhZF9jeWNsZV90aW1lcgoJICBGaXhlcyBidWcgIzYyMDkyOS4KCjIwMTAtMDYtMDggMDc6MzU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBjbW1sZW5jOiBSZW1vdmUgaGFjayB0byBsZXQgb2dnbXV4IHN0YXJ0IGEgbmV3IHBhZ2UgZm9yIGV2ZXJ5IENNTUwgYnVmZmVyCgkgIG9nZ211eCBkb2VzIHRoaXMgZm9yIENNTUwgYnkgaXRzIG93biBub3cKCjIwMTAtMDYtMDcgMTg6MzI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgaGFuZGxlIG5vbi1USU1FIHNlZWtzCgkgIERvbid0IHNlbmQgdGhlbSB1cHN0cmVhbSBiZWNhdXNlIGZvciB1cHN0cmVhbSBhIEJZVEVTIHNlZWsKCSAgbWlnaHQgbWFrZSBzZW5zZSBidXQgaXMgY29tcGxldGVseSB3cm9uZyBiZWNhdXNlIHVwc3RyZWFtCgkgIGNhbid0IHNlZWsgdG8gYSBieXRlIHBvc2l0aW9uIG9mIHRoZSBhdWRpbyBvciB2aWRlbyBzdHJlYW0uCgkgIEFsc28gZG9uJ3QgYnVpbGQgdGhlIGluZGV4IGluIHB1c2ggbW9kZSBmb3Igbm9uLVRJTUUgc2Vla3MsCgkgIHRoaW5ncyB3aWxsIGdvIHdyb25nIGhlcmUgb3RoZXJ3aXNlLgoKMjAxMC0wNi0wMiAxOToxNjoyMCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgQ29wZSB3aXRoIHNob3J0IHN0YXJ0Y29kZXMgaW4gdGhlIGgyNjQgYnl0ZXN0cmVhbQoKMjAxMC0wNi0wNiAxNzoyNToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBsb2cgbWVzc2FnZSBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEwLTA2LTA2IDE4OjAwOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGV4dDogRG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMC0wNi0wNiAxNzo1NzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICBzeXM6IERvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTAtMDYtMDYgMTc6NTI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZ3N0OiBEb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEwLTA2LTA2IDE1OjEyOjE2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlZmFjdG9yIGRlbHRhIHVuaXQgaGFuZGxpbmcKCSAgVGhpcyBhbGxvd3MgdXMgdG8gc2tpcCBkZWx0YSB1bml0cyBlYXJsaWVyIGFuZCBpcyBhIGJpdCBjbGVhcmVyIGluIG15CgkgIG9waW5pb24uIEl0IGFsc28gbWFrZXMgb25seSB2aWRlbyBidWZmZXJzIGV2ZXIgYmUgZGVsdGEgdW5pdHMsIG5vdAoJICBqdXN0IGZvciBTaW1wbGVCbG9jayBhcyBiZWZvcmUuCgoyMDEwLTA2LTA2IDE1OjE3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IENsZWFyIGFkYXB0ZXIgb24gZGlzY29udGludWl0aWVzCgoyMDEwLTA2LTA2IDE0OjAzOjUzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IElnbm9yZSBrZXlmcmFtZSBmbGFnIGZvciBub24tdmlkZW8gc3RyZWFtcwoJICBXaGVuIHRoZSBrZXlmcmFtZSBiaXQgb2YgU2ltcGxlQmxvY2sgRmxhZ3Mgd2Fzbid0IHNldCwgdGhlIGJ1ZmZlciB3YXMgYmVpbmcKCSAgbWFya2VkIHdpdGggR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQsIGNhdXNpbmcgYWxsIGJ1ZmZlcnMgdG8gYmUgc2tpcHBlZAoJICBhZnRlciBhIHNlZWsuIFRoaXMgbWF5IGJlIGEgcHJvYmxlbSB3aXRoIHRoZSBTb3JlbnNvbiBTcXVpc2ggZW5jb2RlciwgYnV0CgkgIGFyZ3VhYmx5IHRoZSBrZXlmcmFtZSBiaXQgc2hvdWxkIG9ubHkgYmUgYXBwbGllZCB0byB2aWRlby4KCSAgRml4ZXMgYnVnICM2MjAzNTguCgoyMDEwLTA2LTA2IDE0OjU2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpcnN0IHRyeSB1cHN0cmVhbSB3aGVuIGhhbmRsaW5nIHNlZWsgZXZlbnRzL3F1ZXJpZXMKCjIwMTAtMDYtMDQgMTQ6NTQ6NTkgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGdzdHJ0cGNlbHRwYXk6IGRvbid0IGFsd2F5cyBmaXhhdGUgc2luayBjYXBzIHRvIDEgY2hhbm5lbAoJICBUaGUgZ2V0Y2FwcyBmdW5jdGlvbiBzaG91bGQgbm90IGZpeGF0ZSB0aGUgY2hhbm5lbHMgZmllbGQgdW50aWwgd2UKCSAgZ2V0IHRoZSBlbmNvZGluZy1wYXJhbXMgZmllbGQgZnJvbSBvdXIgc3JjcGFkJ3MgY2Fwcy4gRml4ZXMgIzYyMDU5MQoKMjAxMC0wNi0wNCAxMzo1NzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogdHJ5IGFsbCByYW5nZXMgZnJvbSB0aGUgc2RwCgkgIFRyeSBhbGwgcmFuZ2VzIGluIHRoZSBTRFAgYmVmb3JlIGdpdmluZyB1cC4KCjIwMTAtMDYtMDQgMTM6NTY6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2UgcGFyc2VfcmFuZ2UgcmV0dXJuIHJlc3VsdAoJICBNYWtlIHRoZSBwYXJzZV9yYW5nZSBmdW5jdGlvbiByZXR1cm4gaWYgdGhlIHBhcnNpbmcgc3VjY2VlZGVkIG9yIGZhaWxlZC4KCjIwMTAtMDYtMDQgMTE6NDQ6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGlmIHdlJ3JlIG5vdCBsaW5rZWQgZG93bnN0cmVhbSwgd2UgY2FuIGRvIGFueSBmb3JtYXQKCSAgU3R1cGlkIG1lLCBhc3N1bWluZyBfZ2V0X2FsbG93ZWRfY2FwcygpIHdvdWxkIGFjdHVhbGx5IHJldHVybiB0aGUKCSAgcGFkIHRlbXBsYXRlcyBpZiB0aGVyZSB3YXMgbm8gcGVlci4KCjIwMTAtMDUtMzEgMTY6MjY6MTkgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgS2VlcCBhbm5vdW5jaW5nIHRoZSBkZWxpdmVyeS1tZXRob2QgaW4gdGhlIGNhcGFiaWxpdGllcwoJICBFdmVuIHRob3VnaCB3ZSBkb24ndCB1c2UgZGVsaXZlcnktbWV0aG9kIGluIG91ciBwYXlsb2FkZXIsIG9sZGVyIHZlcnNpb25zIG9mCgkgIHRoZSB0aGVvcmEgcGF5bG9hZGVyIGluIGdzdHJlYW1lciByZXF1aXJlZCBpdC4gQXMgc3VjaCB3ZSBuZWVkIHRvIGtlZXAgdGhpcwoJICBhcm91bmQgaW4gdGhlIGNhcHMgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LgoJICBUaGlzIHJldmVydHMgcGFydCBvZiA0OTQ2M2EzN2NiYWE5NTJlMTQwMTI5MWYwYTI2MjNkZTZjYWIzODgwCgkgIEZpeGVzICM2MTg5NDAKCjIwMTAtMDYtMDMgMTc6NTI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBhZGQgc29tZSBjb21tZW50cyBmb3IgdHJhbnNsYXRvcnMgdG8gY2xhcmlmeSBtZWFuaW5nIG9mICJMb3ciCgkgICJMb3ciIGV0Yy4gYXJlIHF1YWxpdHkgc2V0dGluZ3MgaGVyZSAoZS5nLiBmb3IgdGhlIGludGVybmFsIHJlc2FtcGxlcikuCgkgIFNvbWUgZGF5IHdoZW4gd2UgdXNlIEdMaWIncyBpMThuIGZ1bmN0aW9ucyB3ZSBtaWdodCB3YW50IHRvIHVzZQoJICBOQ18oKSBhbmQgZ19kcGdldHRleHQyKCkgaGVyZSBpbnN0ZWFkIG9mIHRoZSBjb21tZW50cy4KCSAgRml4ZXMgIzU1NTk2Ny4KCjIwMTAtMDYtMDMgMTk6MjM6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICBtcDRnZGVwYXk6IGNhbGN1bGF0ZSB0aGUgZnJhbWUgZHVyYXRpb24gY29ycmVjdGx5CgkgIFdoZW4gd2UgY2FsY3VsYXRlIHRoZSBmcmFtZSBkdXJhdGlvbiwgd2UgbmVlZCB0byB1c2UgdGhlIGFtb3VudCBvZgoJICBmcmFtZXMgaW4gdGhlIF9wcmV2aW91c18gcGFja2V0LCBub3QgdGhlIGN1cnJlbnQgcGFja2V0LiBUaGUgZnJhbWUgZHVyYXRpb24gaXMKCSAgbmVlZGVkIHRvIGNvcnJlY3RseSBkZS1pbnRlcmxlYXZlIGludGVybGVhdmVkIHN0cmVhbXMuIFRoaXMgZml4ZXMgdGhlIGNhc2Ugd2hlcmUKCSAgdGhlcmUgYXJlIGEgdmFyaWFibGUgbnVtYmVyIG9mIGZyYW1lcyBpbiBhIHBhY2tldC4KCSAgRml4ZXMgIzYyMDQ5NAoKMjAxMC0wNi0wMyAxODo1ODo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgcmV0dXJuIGNhcHMgaW4gZ2V0X2NhcHMoKSB0aGF0IHdpbGwgYmUgcmVqZWN0ZWQKCSAgVGhpcyBjb21taXQgYmFzaWNhbGx5IHB1dHMgX2dldF9jYXBzKCkgaW4gc3luYyB3aXRoIGFjY2VwdF9jYXBzKCkuCgkgIElmIHdlIGRvbid0IGhhdmUgYSBtYXN0ZXIgcGFkIE9SIHRoZSBtYXN0ZXIgcGFkIGNhcHMgYXJlbid0IG5lZ290aWF0ZWQKCSAgdGhlbiB3ZSBqdXN0IHJldHVybiB0aGUgZG93bnN0cmVhbSBhbGxvd2VkIGNhcHMuCgkgIElmIHdlIGhhdmUgYSBtYXN0ZXIgcGFkIHdpdGggbmVnb3RpYXRlZCBjYXBzLCB3ZSByZXR1cm4gdGhvc2UgY2FwcwoJICB3aXRoIGEgZnJlZSByYW5nZSBvZiB3aWR0aC9oZWlnaHQvZnJhbWVyYXRlCgoyMDEwLTA2LTAzIDEzOjQ1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgUmV2ZXJ0ICJwdWxzZXNpbms6IEFkZCBjb21tZW50cyB0byByZW1vdmUgdGhlIHByb3ZpZGUtY2xvY2sgbWVzc2FnZSBwb3N0aW5nIG9uY2Ugd2UgZGVwZW5kIG9uIGJhc2UgMC4xMC4zMCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZjM3MDhmMzhhYTM4MzlhNmE2MjVjYTdkMWMxNjYxMDFjOWZiYjdmLgoJICBUaGUgYmFzZWF1ZGlvc2luayBjb21taXQgd2FzIHJldmVydGVkCgoyMDEwLTA2LTAzIDEwOjI3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBBZGQgY29tbWVudHMgdG8gcmVtb3ZlIHRoZSBwcm92aWRlLWNsb2NrIG1lc3NhZ2UgcG9zdGluZyBvbmNlIHdlIGRlcGVuZCBvbiBiYXNlIDAuMTAuMzAKCSAgYmFzZWF1ZGlvc2luayBkb2VzIGFsbCB0aGlzIGZvciB1cyBub3cuCgoyMDEwLTA2LTAyIDE2OjM2OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGRlbGF5ZWQgc2VlayBoYW5kbGluZyBhbHNvIGRlc2VydmVzIFRSVUUgZXZlbnQgcmVzcG9uc2UKCjIwMTAtMDYtMDIgMTU6MzA6NDcgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY29tcGlsZXIgd2FybmluZwoJICB1bnVzZWQgdmFyaWFibGUg4oCYZXN0aW1hdGVk4oCZCgoyMDEwLTA2LTAyIDE1OjA0OjAwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiByZXZlcnQgdGhlIGNoYW5nZSBpIGRpZCBpbiBteSBwcmV2aW91cyBjb21taXQKCjIwMTAtMDYtMDIgMTM6Mzk6MTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzdG9wIGJ1ZmZlcmluZyBhbmQgZW1pdCBFT1MgYXQgdGhlIGVuZCBvZiBhIHN0cmVhbQoJICBXaGVuIHVzaW5nIFJUUF9KSVRURVJfQlVGRkVSX01PREVfQlVGRkVSLCBtYWtlIHN1cmUgdGhhdCB0aGUgcmluZ2J1ZmZlciBkb2Vzbid0CgkgIGdldCBzdHVjayBidWZmZXJpbmcgZm9yZXZlciB3aGVuIHRoZXJlIGlzbid0IGVub3VnaCBkYXRhIGxlZnQgdG8gZmlsbCB0aGUKCSAgYnVmZmVyLgoKMjAxMC0wNi0wMSAyMTo1Mjo1OSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJICBkZWJ1Z3V0aWxzOiBEb24ndCBjb25zdW1lIHByZXJvbGwgYnVmZmVyIHR3aWNlCgoyMDEwLTA2LTAxIDIxOjMyOjExICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBTdHlsZSBmaXg6IHVzZSBnX3N0cmR1cCgpIGluc3RlYWQgb2YgcHJpbnRmKClpbmcgYSBzaW1wbGUgc3RyaW5nCgoyMDEwLTA1LTI3IDE2OjA3OjMxICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJICBkZWJ1Z3V0aWxzOiBSZXBsYWNlIG1kNSBpbXBsZW1lbnRhdGlvbiB3aXRoIGdsaWIncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5ODI0CgoyMDEwLTA1LTIyIDExOjU1OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogY2xlYW4gdXAgY29kZSBmb3IgYXZpIGhlYWRlciB1c2luZyBhIGJ5dGV3cml0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTI5MwoKMjAxMC0wNi0wMSAxODo1NDo0MSAtMDUwMCAgUGllcnJlLUxvdWlzIEJvc3NhcnQgPHBpZXJyZS1sb3Vpcy5ib3NzYXJ0QGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9wdGltaXplIGNvbW11bmljYXRpb24gd2l0aCBQdWxzZUF1ZGlvIHVzaW5nIHBhX3N0cmVhbV9iZWdpbl93cml0ZQoKMjAxMC0wNi0wMiAxMDo1Mjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogUG9zdCBwcm92aWRlLWNsb2NrIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiB0aGUgY2xvY2sgYXBwZWFycy9kaXNhcHBlYXJzCgkgIEZpeGVzIGJ1ZyAjNjIwMjc3LgoKMjAxMC0wNi0wMSAyMzo0OToxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE3Zjg5ZTUgdG8gNDc2ODNjMQoKMjAxMC0wNi0wMSAyMjo1NDo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGNkZmYwZmIgdG8gMTdmODllNQoKMjAxMC0wNi0wMSAyMDo0NToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogZmlsdGVyIGNhcHMgcmV0dXJuZWQgZnJvbSBkb3duc3RyZWFtIHdpdGggb3VyIHBhZCB0ZW1wbGF0ZS4KCjIwMTAtMDYtMDEgMTY6NTY6MzIgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBSZW1vdmUgbW9yZSB1bm5lZWRlZCB3YXJuaW5ncwoKMjAxMC0wNi0wMSAxNjo1NDowMyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgdW5uZWVkZWQgd2FybmluZwoKMjAxMC0wNi0wMSAxNjo0OToxNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgdW5uZWVkZWQgZGVidWcgc3RhdGVtZW50CgoyMDEwLTA2LTAxIDE2OjI0OjUzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBjaGFuZ2UgaXMtbGl2ZSBwcm9wZXJ0eSB0byBpbmRleGVkCgoyMDEwLTA1LTIzIDEzOjU2OjE2ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IHVzZSB0aGUgdWludDY0IHNjYWxpbmcgZnVuY3Rpb25zCgkgIEluIGRlbXV4ZXIgYW5kIG11eGVyIHVzZSB0aGUgZ3N0X3V0aWxfdWludDY0IHNjYWxpbmcgZnVuY3Rpb25zIHJhdGhlciB0aGFuCgkgIHN0YW5kYXJkIGludGVnZXIgZGl2aXNpb24uIEFkZCB3YXJuaW5ncyAodG8gYmUgY2hhbmdlZCB0byBkZWJ1ZykgZm9yIGRlYnVnZ2luZwoJICB0aGUgdGltZXN0YW1wIGFuZCBkdXJhdGlvbi4KCjIwMTAtMDUtMjEgMTQ6MzU6MzQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgZGVsdGEgdW5pdCBvbiBhbGwgYnVmZmVycyBleGNlcHQgY2x1c3RlciBzdGFydCBvbmVzCgoyMDEwLTA1LTIxIDEzOjM4OjExICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RvcmUgY2FwcyBhbmQgc2V0IG9uIGJ1ZmZlcnMgcmF0aGVyIHRoYW4gdXNpbmcgcGFkIGNhcHMKCjIwMTAtMDUtMjEgMTM6MjU6MjQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIHN1cmUgcGFkcyBjYXBzIGFyZSBzZXQgYmVmb3JlIGFueSBidWZmZXJzIHB1c2hlZC4KCjIwMTAtMDUtMjEgMTM6MTQ6MDQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGQgc3RyZWFtaGVhZGVycwoKMjAxMC0wNS0yMSAxMjoyMzowOCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG5vIG5lZWQgdG8gc2V0IGNhY2hlIHR3aWNlCgoyMDEwLTA1LTIxIDAxOjU5OjUzICswMjAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBEbyBub3QgY3JlYXRlIGEgU2Vla0hlYWRlciwgQ3VlcywgLi4gd2hlbiBkb2luZyBsaXZlCgoyMDEwLTA1LTIwIDIzOjM5OjU5ICswMjAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBpcy1saXZlIHByb3BlcnR5CgoyMDEwLTA2LTAxIDEzOjIyOjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHZhcmlhYmxlIGluaXQKCjIwMTAtMDUtMjggMTY6Mzc6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgcmV2ZXJzZSBwbGF5YmFjawoJICBTbGlnaHRseSBtb2RpZnkgYXBwcm9hY2ggdG8gYWxzbyBoYW5kbGUgY2FzZXMgd2hlcmUgY3VlIGVudHJpZXMgZG8gbm90IHJlbGlhYmx5CgkgIGxlYWQgdG8gaW5pdGlhbCBrZXlmcmFtZXMuCgkgIEZpeGVzICM2MTk4MTcuCgoyMDEwLTA1LTI0IDE2OjAyOjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGF2b2lkIGd0ay1kb2MgY29uZnVzaW5nIGNvbW1lbnRzCgoyMDEwLTA1LTIxIDExOjIxOjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRqdXN0IHVuaXQgdGVzdCB0byBtb2RpZmllZCBiZWhhdmlvdXIKCjIwMTAtMDUtMjAgMTQ6MzM6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIHdyaXRlIGNhY2hpbmcgYWxzbyB3aGVuIHdyaXRpbmcgYnVmZmVyIGRhdGEKCSAgU3BlY2lmaWNhbGx5LCB0aGlzIHJlZHVjZXMgcHVzaGluZyBzZXZlcmFsIHNtYWxsIGJ1ZmZlcnMgZm9yIGVhY2gKCSAgZGF0YSBidWZmZXIgYW5kIGFsc28gYXZvaWRzIGEgc2VlayBmb3IgZWFjaCBidWZmZXIgYWx0b2dldGhlcgoJICAodGhvdWdoIGEgc2VlayBpcyBzdGlsbCBuZWVkZWQgZm9yIGVhY2ggY2x1c3RlcikuCgkgIEZpeGVzICM2MTkyNzMuCgoyMDEwLTA1LTIwIDE0OjIzOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBlYm1sIHdyaXRlIGNhY2hpbmcgd2l0aCBieXRld3JpdGVyIGltcGxlbWVudGF0aW9uCgkgIEFsc28gY2FjaGUgYSBiaXQgbW9yZSBkdXJpbmcgaGVhZGVyIHdyaXRpbmcuCgkgIEZpeGVzICM2MTkyNzMuCgoyMDEwLTA1LTIwIDE0OjA4OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgY29uc2lzdGVudCBkZWJ1ZyBjYXRlZ29yeSBuYW1lIGZvciBlYm1sd3JpdGUKCjIwMTAtMDUtMTggMTQ6NDQ6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogdXNlIGJ5dGVyZWFkZXIgYmFzZWQgR3N0RWJtbFJlYWQgYXMgYSBoZWxwZXIKCSAgLi4uIHJhdGhlciB0aGFuIGJhc2luZyBvbiBpdCBieSBpbmhlcml0YW5jZS4KCSAgQWxzbyB1c2UgbW9yZSBjb21tb24gY29kZSBmb3IgcHVzaCBhbmQgcHVsbCBtb2RlLgoJICBGaXhlcyAjNjE5MTk4LgoJICBGaXhlcyAjNjExMTE3LgoKMjAxMC0wNi0wMSAxNTo0NzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBfZ2V0X3BhZF90ZW1wbGF0ZSByZXN1bHQgbmVlZHMgbm8gdW5yZWYKCjIwMTAtMDUtMTggMTk6NDI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBTdXBwb3J0IDggYml0IGdyYXlzY2FsZQoJICBBZGRzIHN1cHBvcnQgdG8gOCBiaXQgZ3JheXNjYWxlIGlucHV0CgoyMDEwLTA1LTE4IDE0OjQ2OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQWRkcyA4Yml0IGdyYXlzY2FsZSBzdXBwb3J0CgkgIEFkZHMgZGVjb2Rpbmcgc3VwcG9ydCBmb3IganBlZyBpbWFnZXMgaW4gOCBiaXQgZ3JheXNjYWxlIGZvcm1hdC4KCjIwMTAtMDUtMTggMDE6NTc6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBBY2NlcHQgZ3JheXNjYWxlIGFzIGlucHV0CgkgIEFkZHMgdmlkZW8veC1yYXctZ3JheXNjYWxlICg4IGJpdCkgc3VwcG9ydCB0byBqcGVnZW5jCgoyMDEwLTA1LTMxIDEzOjMwOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBJbXBsZW1lbnQgc2lua3BhZCBHZXRDYXBzRnVuY3Rpb24uCgkgIFRoaXMgYWxsb3dzIHJldHVybmluZyBvbmx5IHRoZSBmb3JtYXRzLCB3aWR0aCwgaGVpZ2h0LCBmcmFtZXJhdGUKCSAgYW5kIHBpeGVsLWFzcGVjdC1yYXRpbyB0aGF0IGRvd25zdHJlYW0gY2FuIHN1cHBvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjAxNDgKCjIwMTAtMDUtMzEgMDc6NDk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGNvbXBhcmUgcnVubmluZyB0aW1lcyB3aXRoIHN0cmVhbSB0aW1lcyB3aGVuIGRvaW5nIFFvUwoKMjAxMC0wNS0yNyAyMTowNjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCByZWNvbmZpZ3VyZSB0aGUgY2FwcyB3aGVuIGNoYW5naW5nIHByb3BlcnRpZXMKCSAgRml4ZXMgYnVnICM2MTk4NDguCgoyMDEwLTA1LTI2IDEzOjEzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IEFkZCBwcm9wZXJ0eSB0byBhbGxvdyBwYXNzdGhyb3VnaCBtb2RlCgkgIFRoaXMgcGFzc3Rocm91Z2ggbW9kZSBpcyB1c2VkIGlmIHRoZSBhbHBoYSBtZXRob2QgaXMgInNldCIKCSAgYW5kIHRoZSBhbHBoYSB2YWx1ZSBpcyAxLjAuCgkgIEZpeGVzIGJ1ZyAjNjE3NTEyLgoKMjAxMC0wNS0yNSAxNToxNjowNiArMTAwMCAgQWxleGFuZGVyIEtvamV2bmlrb3YgPGFsZXhhbmRlckBrb2pldm5pa292LmNvbT4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogc3VwcG9ydCAyNC1iaXQgd2lkdGgKCSAgRml4ZXMgIzYxOTA0NQoKMjAxMC0wNS0yNCAyMTo1MDo1OCArMTAwMCAgQWxleGFuZGVyIEtvamV2bmlrb3YgPGFsZXhhbmRlckBrb2pldm5pa292LmNvbT4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogc3VwcG9ydCBhcmJpdHJhcnkgYml0IGRlcHRoCgkgIFBhcnRpYWxseSBmaXhlcyAjNjE5MDQ1CgoyMDEwLTA1LTI1IDA1OjM2OjQ2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBkZWFkbG9jayBpbnRyb2R1Y2VkIGJ5IHZpZGVvIGtleWZyYW1lIFFvUwoKMjAxMC0wNS0yMyAwOTozMjowOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogc2tpcCBidWZmZXJzIGJlZm9yZSBhIGxhdGUga2V5ZnJhbWUgKFFvUykKCSAgQmVmb3JlLCB2cDhkZWMgaGFkIG5vIG9wdGlvbiBidXQgdG8gZGVjb2RlIGFsbCBmcmFtZXMgZXZlbiBpZiBzb21lL2FsbAoJICBvZiB0aGVtIHdvdWxkIGJlIGxhdGUuIFdpdGggdGhpcyBjaGFuZ2UsIHBlcmZvcm1hbmNlIHdoZW4ga2V5ZnJhbWVzIGFyZQoJICBmcmVxdWVudCBpcyBoZWxwZWQgYSBncmVhdCBkZWFsLiBPbiBteSBUaGlua3BhZCBYNjBzLCBkZWNvZGluZyBhIDIwIHMKCSAgMTA4MHAgc3VuZmxvd2VyIGVuY29kZSB3aXRoIGtleWZyYW1lcyBldmVyeSAxMCBmcmFtZXMgd2VudCBmcm9tIHRha2luZwoJICA0MiBzIHdpdGggNSBmcmFtZXMgc2hvd24gdG8gMjEgcyB3aXRoIDE1IGZyYW1lcyBzaG93biAoc3RpbGwgc2xvdwoJICBlbm91Z2ggdG8gY291bnQgYnkgaGFuZCkuIFdoZW4ga2V5ZnJhbWVzIGFyZSBtb3JlIHNwYXJzZSwgeW91IHdpbGwKCSAgc3RpbGwgYmUgYWJsZSB0byBjYXRjaCB1cCBldmVudHVhbGx5LCBidXQgdGhlIHJlc3VsdHMgd29uJ3QgYmUgYXMKCSAgbm90aWNhYmxlLgoKMjAxMC0wNS0xNCAxNzo1Nzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICB2aWRlb21peGVyOiBEb24ndCBtaXggaW5wdXQgd2l0aCBkaWZmZXJlbnQgcGl4ZWwgYXNwZWN0IHJhdGlvcwoJICBGaXhlcyBidWcgIzYxODUzMC4KCjIwMTAtMDUtMTcgMTk6NTQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgTU1YLzNETm93IGltcGxlbWVudGF0aW9ucyBvZiBncmVlZHloIGZvciBVWVZZCgoyMDEwLTA1LTE3IDE5OjE2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogRml4IFVZVlkgaW1wbGVtZW50YXRpb24gb2YgZ3JlZWR5aCB0byBiZSBhY3R1YWxseSB1c2VkCgoyMDEwLTA1LTExIDExOjQzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgZ2RrcGl4YnVmOiBBZGQgYSBnZGtwaXhidWYzIHBsdWdpbiB0aGF0IHVzZXMgZ2RrcGl4YnVmMwoKMjAxMC0wNi0wMSAxMDowNjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuaDoKCSAgd2luMzI6IGFkZCBtb3JlIGdlbmVyYXRlZCBtYXJzaGFsIGFuZCBlbnVtdHlwZSBmaWxlcyB0byB3aW4zMi11cGRhdGUKCjIwMTAtMDYtMDEgMDk6Mjc6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIFJldmVydCAibWF0cm9za2E6IGFkZCB0ZW1wb3Jhcnkgd2VibSB0eXBlZmluZGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQxNDhlYzBhZDIwNTNhYmIwYzM4ZmM2ODFhODk1MzI5Mjk4NTM4OGYuCgkgIFdlIGRlcGVuZCBvbiAtYmFzZSBnaXQgbm93LCB3aGljaCBoYXMgYSB3ZWJtIHR5cGVmaW5kZXIgaW4gdGhlIHVzdWFsCgkgIHBsYWNlLgoKMjAxMC0wNi0wMSAwOToyNjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIFJldmVydCAiYXZpbXV4LCBmbHZtdXgsIG1hdHJvc2thbXV4OiBkb24ndCBjcmFzaCBpZiB0YWdzIGFycml2ZSBvbiBtdWx0aXBsZSBpbnB1dCBwYWRzIGF0IHRoZSBzYW1lIHRpbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmE5OTgzY2QyMGM0OGI5NjM5NjIyOWIzZjk0ZDAyNTRhMDVkZGY0OC4KCSAgUmVseSBvbiBsb2NraW5nIGRvbmUgaW4gR3N0VGFnU2V0dGVyIGluIGNvcmUgZ2l0LgoKMjAxMC0wNi0wMSAwOToyMzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBjb3JlL2Jhc2UgZ2l0CgkgIEZvciBXZWJNIHR5cGVmaW5kaW5nIGFuZCBHc3RUYWdzZXR0ZXIgZml4ZXMuCgoyMDEwLTA2LTAxIDA5OjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMyA9PT0KCjIwMTAtMDUtMzAgMTQ6MDM6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIzCgoyMDEwLTA1LTMwIDE0OjAyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDUtMjkgMTA6MjM6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHBvc2l0aW9uIHF1ZXJ5CgoyMDEwLTA1LTI4IDE1OjE0OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBkb2NzOiByZW1vdmUgdW5uZWNlc3NhcnkgdmlkZW9yYXRlIGVsZW1lbnQgZnJvbSB3ZWJtbXV4IGV4YW1wbGUgcGlwZWxpbmUKCjIwMTAtMDUtMjggMTA6NDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBLZWVwIHZhcmlhYmxlcyBpbiBzYW5lIHN0YXRlIGFmdGVyIF9yZXNldAoJICBXaGVuIHJlc2V0aW5nLCBrZWVwICdyb3cnIHZhcmlhYmxlcyBhdCBhIHNhbmUgc3RhdGUgYWZ0ZXIKCSAgZnJlZWluZyB0byBhdm9pZCBpdCBiZWluZyBmcmVlZCBhZ2FpbiBvbiBfcmVzeW5jIHJlYWxsb2MKCSAgd2hlbiB0aGUgZWxlbWVudCBpcyByZXVzZWQuCgkgIEZpeGVzICM2MTk5NDMKCjIwMTAtMDUtMjcgMTg6MDg6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggZmxvYXRpbmcgcG9pbnQgdG8gaW50ZWdlciBjb252ZXJzaW9uIGZvciB0aGUgYWxwaGEgdmFsdWVzCgkgIEZpeGVzIGJ1ZyAjNjE5ODM1LgoKMjAxMC0wNS0yNiAwODo1NDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMi4zIHByZS1yZWxlYXNlCgoyMDEwLTA1LTI2IDAwOjMzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA1LTI1IDE1OjM0OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogaGFuZGxlIHRydW5jYXRlZCBpbnB1dCBkYXRhIGF0IEVPUyBpbiBwdWxsIG1vZGUKCSAgRml4ZXMgIzYxNzczMy4KCjIwMTAtMDUtMjYgMTE6NTU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNTdiMGRiIHRvIGZkN2NhMDQKCjIwMTAtMDUtMjUgMjE6MTQ6MDUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUm91bmQgdGltZXN0YW1wIHVwIHdoZW4gc2NhbGluZyB0byBtb3YgZm9ybWF0CgkgIEZpeCB0aW1lc3RhbXAgcm91bmRpbmcgdG8gYWxsb3cgdGhlIGNvcnJlY3QgaW5kZXggdG8gYmUgbG9jYXRlZC4KCSAgVGhlIGlzc3VlIHdhcyB0aGF0IHNjYWxpbmcgZnJvbSBHU3RyZWFtZXIgdGltZSBmb3JtYXQgdG8gbW92IHRpbWUgZm9ybWF0IHdhcwoJICByb3VuZGluZyBkb3duIGNhdXNpbmcgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbmV3c2VnbWVudCBldmVudCByZWNlaXZlZCBhZnRlciBhCgkgIGZsdXNoaW5nIGtleWZyYW1lIHNlZWsgdG8gZmluZCB0aGUgc2FtcGxlIGluZGV4IGJlZm9yZSB0aGUgb25lIGl0IHNob3VsZAoJICBjYXVzaW5nIGZ1cnRoZXIgYmFja3dhcmQgc2Vla2luZyB0byB0aGUga2V5ZnJhbWUgcHJpb3IgdW50aWwgbm8gcm91bmRpbmcgZXJyb3IKCSAgb2NjdXJyZWQuCgkgIFJvdW5kaW5nIHVwIHdoZW4gc2NhbGluZyB0byBtb3YgZm9ybWF0IGhhcyB0aGUgZGVzaXJlZCBlZmZlY3QsIGFuZCBpdCBpcwoJICBub3QgY2xlYXIgd2hldGhlciBqdXN0IHRoZSBfcm91bmQgKCkgdmFyaWFudCB3b3VsZCBiZSBzdWZmaWNpZW50LgoJICBGaXhlcyBidWcgIzYxOTEwNQoKMjAxMC0wNS0yNCAxNzoyNjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGF2aW11eCwgZmx2bXV4LCBtYXRyb3NrYW11eDogZG9uJ3QgY3Jhc2ggaWYgdGFncyBhcnJpdmUgb24gbXVsdGlwbGUgaW5wdXQgcGFkcyBhdCB0aGUgc2FtZSB0aW1lCgkgIFRoaXMgaXMgYSB0ZW1wb3JhcnkgZml4IGZvciB0aGUgcmVsZWFzZSBvbmx5LgoJICBGaXhlcyAjNjE5NTMzLgoKMjAxMC0wNS0yNSAxNzowNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhOiByZW1vdmUgZGVsaXZlcnktbWV0aG9kIGZyb20gY2FwcwoJICBXZSBjYW4gYWNjZXB0IGFsbCBkZWxpdmVyeSBtZXRob2RzIHNvIGRvbid0IGFkdmVydGlzZSBhbnl0aGluZyBvbiB0aGUgY2FwcyBvcgoJICBwYXJzZSBhbnl0aGluZywgd2Ugd2lsbCBoYW5kbGUgd2hhdGV2ZXIgd2UgcmVjZWl2ZS4KCSAgRml4ZXMgIzYxODk0MAoKMjAxMC0wNS0yNSAxNTo0MDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2E6IGFkZCB0ZW1wb3Jhcnkgd2VibSB0eXBlZmluZGVyCgkgIEFkZCB3ZWJtIHR5cGVmaW5kZXIganVzdCBmb3IgdGhlIHJlbGVhc2UsIHNvIHdlYm0gd29ya3MgZm9yCgkgIHBlb3BsZSB3aG9zZSBkaXN0cm9zIGRvbid0IHBhdGNoIGdzdC1wbHVnaW5zLWJhc2UgYXMgd2VsbC4KCSAgV2UnbGwgcmVtb3ZlIHRoaXMgYWdhaW4gYWZ0ZXIgdGhlIHJlbGVhc2UuCgoyMDEwLTA1LTIzIDExOjE3OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBkb2NzOiBhZGQgc29tZSBwaXBlbGluZSBleGFtcGxlcyB0byB3ZWJtbXV4IGRvY3MKCjIwMTAtMDUtMjEgMTI6Mjc6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IGFkZCB3ZWJtbXV4IHRvIGRvY3MKCjIwMTAtMDUtMjEgMTM6MDE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2E6IGZpeCB1cCBwbHVnaW4gYW5kIGVsZW1lbnQgZGVzY3JpcHRpb25zIGEgYml0CgoyMDEwLTA1LTIxIDEyOjQ3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4Lmg6CgkgIG1hdHJvc2thOiBtb3ZlIHdlYm1tdXggaW50byBvd24gc291cmNlIGZpbGVzCgkgIE1ha2VzIHRoaW5ncyBlYXNpZXIgZm9yIGd0ay1kb2MuCgoyMDEwLTA1LTIxIDEyOjI2OjA1ICswNTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAxMC0wNS0yMCAyMDowMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IFJlbW92ZSB0aGUgZG9jdHlwZSBlbnVtLCBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZQoKMjAxMC0wNS0yMCAxOTo1NzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgd2VibW11eDogQWRkIG5ldyB3ZWJtbXV4IGVsZW1lbnQgdGhhdCBvbmx5IHN1cHBvcnRzIG11eGluZyBvZiBXZWJNCgkgIC4uLmFuZCByZW1vdmUgdGhlIGRvY3R5cGUgcHJvcGVydHkgZnJvbSBtYXRyb3NrYW11eCBhZ2Fpbi4KCjIwMTAtMDUtMjAgMTc6MzE6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IHVuaXQgdGVzdCBjaGVja3MgdmVyc2lvbiAxIGZpbGVzCgoyMDEwLTA1LTE4IDE1OjI3OjA2IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogZml4IGxhdGVuY3kgcXVlcnkKCSAgU3BlZXggc2hvdWxkIHJlcG9ydCAzMCBtcyBsYXRlbmN5IGZvciBuYXJyb3diYW5kIG1vZGUsIDM0IG90aGVyd2lzZS4KCSAgRml4ZXMgIzYxOTAxOAoKMjAxMC0wNS0xOCAyMTowNDozMiArMDgwMCAgUGhpbGlwIDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbHJlYWQ6IHJtIGZsb2F0Y2FzdC5oIGluY2x1ZGUgKG5vdCB1c2VkKQoKMjAxMC0wNS0xNyAwNTozNjowMCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGJ1bXAgZGVmYXVsdCBkb2N0eXBlIHZlcnNpb24gdG8gMgoJICBJbiB0aGlzIGRheSBhbmQgYWdlIHRoaXMgc2hvdWxkIGJlIHNhZmUuIFRoZXJlJ3Mgb3RoZXJ3aXNlIGEgcmlzayBwZW9wbGUKCSAgd2lsbCBiZSBjcmVhdGluZyB1bm5lY2Nlc3NhcmlseSBiaWcgV2ViTSBmaWxlcyBhcyB0aGV5IGNhbid0IHVzZQoJICBTaW1wbGVCbG9jayBpbiB2MS4KCjIwMTAtMDUtMTcgMDU6Mjc6NDQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogaGFuZGxlIG1hdHJvc2thIGFuZCB3ZWJtIGRvY3R5cGUgdmVyc2lvbnMgZXF1YWxseQoJICBUaGUgb3JpZ2luYWwgcGxhbiB3YXMgdG8gbGV0IFdlYk0gdjEgYmUgdGhlIHNhbWUgYXMgTWF0cm9za2EgdjIgKHdpdGgKCSAgZXh0cmEgY29uc3RyYWludHMpLCBidXQgZm9yIHNpbXBsaWNpdHkgaXQgd2FzIGRlY2lkZWQgdG8gaGFuZGxlIHRoZQoJICB2ZXJzaW9ucyBlcXVhbGx5LCBzdWNoIHRoYXQgZS5nLiBTaW1wbGVCbG9jayBpcyBvbmx5IGFsbG93ZWQgaW4gV2ViTSB2Mi4KCjIwMTAtMDUtMTMgMTI6MTA6NTQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVmVyaWZ5IGxhY2Ugc2l6ZSBpbiBfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jawoJICBGYWlsdXJlIHRvIGRvIHRoaXMgZm9yIGNvcnJ1cHQgaW5wdXQgY2FuIGNhdXNlIGEgc3ViYnVmZmVyIGJpZ2dlcgoJICB0aGFuIHRoZSBhY3R1YWwgYnVmZmVyIHRvIGJlIGNyZWF0ZWQsIHF1aWNrbHkgbGVhZGluZyB0byBzZWdmYXVsdC4KCSAgVGVzdCBjYXNlOgoJICBidWdfczIyMjAwNTc1MV9yMC4wMDFfX19fbWVtY3B5LndlYm0KCjIwMTAtMDUtMTMgMTA6MjM6MTAgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZWJtbDogY3J1ZGUgaGFjayB0byBhdm9pZCBjcmFzaGluZyBvbiB1bmV4cGVjdGVkIG1ldGFkYXRhCgkgIFRoZSBjb21tZW50IHNheXMgdGhpcyBjYW5ub3QgaGFwcGVuLCBidXQgaXQgZGlkIGFuZCBJIGRvbid0IGtub3cKCSAgd2h5LiBUaGlzIGlzIG5vdCB0aGUgY29ycmVjdCBmaXgsIG5lZWRzIGludmVzdGlnYXRpb24uIFRlc3QgY2FzZToKCSAgYnVnX3M1NTUwMTAwOTRfcjAuMDAwNTowLjAwOF9fX19JQV9fZ19hc3NlcnRpb25fbWVzc2FnZV9leHByLndlYm0KCjIwMTAtMDUtMTMgMDk6MTg6NTYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIGVibWw6IGRvbid0IG1vZGlmeSBvdXQgc3RyIGlmIHJldHVybmluZyBhbiBlcnJvciBpbiBfcmVhZF9hc2NpaQoJICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIEFTQ0lJIHZhbGlkYXRpb24gY2hhbmdlcy4gVGVzdCBjYXNlOgoJICBidWdfczY2ODc2MzkwX3IwLjAwMV9fX19tYWxsb2NfcHJpbnRlcnIud2VibQoKMjAxMC0wNS0xMiAxMzoxNjoyOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbDogVmFsaWRhdGUgNy1iaXQgQVNDSUkgaW4gZ3N0X2VibWxfcmVhZF9hc2NpaQoJICBUaGlzIHdhcyB0cmlnZ2VyaW5nIGFuIFVURi04IGFzc2VydGlvbiBpbiBnc3RfY2Fwc19zZXRfc2ltcGxlIGZvcgoJICBjb3JydXB0IGZpbGVzIHdpdGggZ2FyYmFnZSBhcyBjb2RlYyBpZC4gVGVzdCBjYXNlOgoJICBnc3RyZWFtZXJfZXJyb3JfdHJ5aW5nX3RvX3NldF9pbnZhbGlkX3V0ZjhfYXNfY29kZWNfaWQud2VibQoJICBPbGQgZ3N0X2VibWxfcmVhZF9hc2NpaSByZW5hbWVkIHRvIGdzdF9lYm1sX3JlYWRfc3RyaW5nLCBhbHNvIHVzZWQgYnkKCSAgZ3N0X2VibWxfcmVhZF91dGY4LiBVbmxpa2UgZm9yIFVURi04LCBmYWlsdXJlIHRvIHZhbGlkYXRlIGlzIGFuIGVycm9yLAoJICBhcyBnc3RfZWJtbF9yZWFkX2FzY2lpIGlzIHVzZWQgZm9yIHJlYWRpbmcgZG9jdHlwZSBhbmQgY29kZWMgaWQgYW5kIHdlCgkgIG1pZ2h0IGp1c3QgYXMgd2VsbCBnaXZlIHVwIGVhcmx5IGluIHRob3NlIGNhc2VzLgoKMjAxMC0wNS0xMiAxNDozMDoxOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJZ25vcmUgdW5leHBlY3RlZCBDb2RlY1N0YXRlCgkgIEJlY2F1c2UgR3N0TWF0cm9za2FUcmFja0NvbnRleHQgKnN0cmVhbSBpcyBzZXQgdXAgaW4gdGhlIGZpcnN0CgkgIFNpbXBsZUJsb2NrIG9yIEJsb2NrLCBhIHJvZ3VlIENvZGVjU3RhdGUgb3RoZXJ3aXNlIGNhdXNlcyBhIHNlZ2ZhdWx0IG9uCgkgIGRlcmVmZW5jaW5nIHRoZSBOVUxMIHBvaW50ZXIuIFRlc3QgY2FzZToKCSAgYnVnX3M1NTA2MTY3X3IwLjAwMV9fX19nc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jay53ZWJtCgoyMDEwLTA1LTEwIDA2OjAwOjQ5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCB2aWRlby93ZWJtIHNpbmsgY2FwcwoKMjAxMC0wNS0wOSAxOTo0Njo1MSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSBTaW1wbGVCbG9jayBmb3IgV2ViTSB3aGVuIHBvc3NpYmxlCgoyMDEwLTA1LTA5IDE5OjI4OjU5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFN1cHBvcnQgIndlYm0iIERvY1R5cGUKCjIwMTAtMDUtMDkgMTI6MzU6MTAgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwQGZvb2xpcC5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHJlbmFtZSBtYXRyb3NrYV92ZXJzaW9uIHRvIGRvY3R5cGVfdmVyc2lvbgoKMjAxMC0wNS0wOSAxMjowOTo1NyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IFN1cHBvcnQgIndlYm0iIERvY1R5cGUKCjIwMTAtMDUtMTIgMTg6Mzg6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgVlA4CgoyMDEwLTA0LTI3IDE1OjI2OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBPbjIgVlA4CgkgIC4uLm1hdHJvc2thZGVtdXggYXV0b21hdGljYWxseSBzdXBwb3J0cyBpdCB0aHJvdWdoIGxpYmdzdHJpZmYuCgoyMDEwLTA0LTI3IDE1OjI1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWRkIHN1cHBvcnQgZm9yIE9uMiBWUDgKCSAgLi4uYXZpZGVtdXggYXV0b21hdGljYWxseSBzdXBwb3J0cyBpdCB0aHJvdWdoIGxpYmdzdHJpZmYuCgoyMDEwLTA1LTE3IDE3OjE3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBEb24ndCBsb2NrIHRoZSBtYWlubG9vcCBpbiBOVUxMCgoyMDEwLTA1LTE1IDIxOjE1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgPSBpbnN0ZWFkIG9mID09IGluIHNoZWxsIHNjcmlwdHMgZm9yIGVxdWFsaXR5IGNoZWNrcwoKMjAxMC0wNS0xNCAxODozMzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMi4yIHByZS1yZWxlYXNlCgoyMDEwLTA1LTE0IDE4OjI0OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGQ2N2JkNiB0byAzNTdiMGRiCgoyMDEwLTA1LTE0IDE4OjE2OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggbGVhayBpbiBzb3VwaHR0cHNyYyB1bml0IHRlc3QKCSAgVW5yZWYgc2VydmVyIG9iamVjdHMgd2hlbiBkb25lLiBGaXhlcyBjaGVjay12YWxncmluZC4KCjIwMTAtMDUtMTQgMTc6MzA6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBmaXggdHdvIGxlYWtzCgkgIERvbid0IGxlYWsgb3RoZXJjYXBzIG9yIGpwZWdlbmMgcmVmLgoKMjAxMC0wNS0xMyAxMzowMToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBkb2NzCgkgIERvY3VtZW50YXRpb24gZXJyb3Igc3BvdHRlZCBieSB0b255IDxjYWljYWkwMTE5IGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYxODQxOQoKMjAxMC0wNS0xMSAxMzoxODo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogbWFrZSBkZWxpdmVyeS1tZXRob2QgcGFyYW1ldGVyIG9wdGlvbmFsCgkgIEl0IHByb2JhYmx5IHdpbGwgbm90IGJlIGluIHRoZSBmaW5hbCBSRkMgYXMgaXQgaXMgbm90IGluIFJGQyA1MjE1IGZvciBWb3JiaXMuCgkgIElmIHRoZXJlIGlzIGEgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQsIGFzc3VtZSBpdCBpcyBpbi1saW5lIGFuZCBpZiBub3RoaW5nIGlzCgkgIHNwZWNpZmllZCwgYXNzdW1lIGl0IGlzIGluLWJhbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTgzODYKCjIwMTAtMDUtMTMgMTI6MTY6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGluY3JlYXNlIGFjY2VwdGFibGUgb3V0cHV0IHNpemVzCgkgIFdlIGNhbiBwZXJmZWN0bHkgZGVjb2RlIDF4MSBpbWFnZXMgc28gbG93ZXIgdGhlIG1pbiB3aWR0aCBhbmQgaGVpZ2h0IHRvIDEuCgkgIEZpeGVzICM2MTgzOTIKCjIwMTAtMDUtMTMgMTE6MzA6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgY2VsdHBheTogZml4IHF1ZXVlIGR1cmF0aW9uIGNhbGN1bGF0aW9ucwoJICBEb24ndCBibGluZGx5IGFkZCB0aGUgZHVyYXRpb25zIG9mIGluY29tbWluZyBidWZmZXJzIHRvIHRoZSB0b3RhbCBxdWV1ZWQKCSAgZHVyYXRpb24gYmVjYXVzZSBpdCBtaWdodCBiZSBpbnZhbGlkLiBNYXJrIHRoZSB0b3RhbCBxdWV1ZWQgZHVyYXRpb24gaW52YWxpZAoJICB3aGVuIHdlIHJlY2VpdmUgYW4gaW52YWxpZCBpbmNvbW1pbmcgdGltZXN0YW1wIGJlY2F1c2UgdGhhdCdzIHdoZW4gd2UgbG9zZSB0cmFjawoJICBvZiB0aGUgdG90YWwgcXVldWVkIGR1cmF0aW9uLgoJICBGaXhlcyAjNjE4MzI0CgoyMDEwLTA1LTEwIDExOjE0OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBleHRyYWN0IFNQUyBhbmQgUFBTIGZyb20gcHJvcGVydHkgcHJvdmlkZWQgcGFyYW1ldGVyIHNldAoJICAuLi4gc28gaXQgY2FuIGFsc28gYmUgcmVndWxhcmx5IGluc2VydGVkIGludG8gdGhlIHN0cmVhbSBpZiBzbyBjb25maWd1cmVkLgoJICBGaXhlcyAjNjE3MTY0LgoKMjAxMC0wNS0xMSAyMjoyODowOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWxsb3cgc3dpdGNoaW5nIHZpZXdzIGF0IHJ1bnRpbWUuCgoyMDEwLTA1LTExIDIwOjI2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogZGlzdCBtaXNzaW5nIGhlYWRlciBmaWxlIHRvIGZpeCBtYWtlIGRpc3RjaGVjawoKMjAxMC0wNS0xMSAxOTowNTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgb3NzNDogbWlub3IgY2xlYW51cAoJICBSZW1vdmUgZml4ZWQgRklYTUUsIGNoYW5nZSBmaW5hbGlzZSB0byBmaW5hbGl6ZSBmb3IgY29uc2lzdGVuY3kuCgoyMDEwLTA1LTExIDE5OjAxOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSAgZG9jczogYWRkIG9zczQgZWxlbWVudHMgdG8gZG9jcwoKMjAxMC0wNS0xMSAxNjowOToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IG1vdmUgb3NzNCBzdHJpbmdzIGZyb20gLWJhZCB0byAtZ29vZAoKMjAxMC0wNS0xMSAxNjowODoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogcG8vUE9URklMRVMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgb3NzNCBwbHVnaW4gZnJvbSAtYmFkIHRvIC1nb29kCgkgIEhvb2sgdXAgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUsIGRvY3MgYW5kIHRlc3RzLgoJICBGaXhlcyAjNjE0MzA1LgoKMjAxMC0wNC0yOSAxMzoxODo1OCArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICBvc3M0c2luazogaW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UgYW5kIGFkZCBtdXRlIGFuZCB2b2x1bWUgcHJvcGVydGllcwoJICBPU1M0IHN1cHBvcnRzIHBlci1zdHJlYW0gdm9sdW1lIGNvbnRyb2wsIHNvIGV4cG9zZSB0aGlzIHVzaW5nIHRoZSByaWdodAoJICBBUEksIHNvIHRoYXQgcGxheWJpbjIgYW5kIGFwcGxpY2F0aW9ucyBsaWtlIHRvdGVtIGNhbiBtYWtlIHVzZSBvZiBpdAoJICAoaW5zdGVhZCBvZiB1c2luZyBhIHZvbHVtZSBlbGVtZW50IGZvciB2b2x1bWUgY29udHJvbCkuCgkgIEZpeGVzICM2MTQzMDUuCgoyMDEwLTA0LTA4IDEwOjQ1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogOC1iaXQgUENNIGF1ZGlvIGNhcHMgZG9uJ3QgbmVlZCBhbiBlbmRpYW5uZXNzIGZpZWxkCgoyMDEwLTA0LTA4IDEwOjQwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogZG9uJ3QgaXRlcmF0ZSB0aGUgZm9ybWF0cyB0YWJsZSB0d2ljZSBmb3IgZWFjaCBlbnRyeQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgZm9ybWF0cyB0YWJsZSwgd2UgY2FuIGp1c3QgcGFzcyB0aGUgd2hvbGUKCSAgZW50cnkgdG8gb3VyIGhlbHBlciBmdW5jdGlvbiwgd2hpY2ggYXZvaWRzIGl0ZXJhdGluZyB0aGUgdGFibGUKCSAgYWdhaW4gdG8gZmluZCB0aGUgZW50cnkgc3RydWN0dXJlIGZyb20gdGhlIHBhc3NlZCBmb3JtYXQgaWQuCgoyMDEwLTAzLTMwIDExOjQzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogYWxzbyBhY2NlcHQgZm9ybWF0cyBub3QgbmF0aXZlbHkgc3VwcG9ydGVkCgkgIEFsc28gYWNjZXB0IGZvcm1hdHMgdGhhdCBhcmUgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZCBieSB0aGUKCSAgaGFyZHdhcmUsIE9TUzQgY2FuIGNvbnZlcnQgdGhlbSBpbnRlcm5hbGx5LiBMaXN0IHRoZSBuYXRpdmUKCSAgZm9ybWF0cyBmaXJzdCBpbiB0aGUgY2FwcyB0aG91Z2gsIHRvIGV4cHJlc3Mgb3VyIHByZWZlcmVuY2UKCSAgZm9yIHRoZSBuYXRpdmUgZm9ybWF0cy4gV2UgbmVlZCB0aGlzIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlCgkgIGNhc2UgcHJvcGVybHkgd2hlcmUgdGhlIGF1ZGlvIGhhcmR3YXJlIHN1cHBvcnRzIG9ubHkgZS5nLgoJICBsaXR0bGUgZW5kaWFuIFBDTSwgYnV0IHRoZSBob3N0IGlzIGJpZyBlbmRpYW4sIHNpbmNlIG1hbnkKCSAgYXVkaW8gZWxlbWVudHMgb25seSBzdXBwb3J0IG5hdGl2ZSBlbmRpYW5uZXNzIGFuZCBtYWtlIHRoZQoJICByZWFzb25hYmxlIGFzc3VtcHRpb24gdGhhdCBhbnkgYXVkaW9zaW5rIHdpbGwgYmUgYWJsZSB0bwoJICBoYW5kbGUgYXVkaW8gaW4gbmF0aXZlIGVuZGlhbm5lc3MuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgkgIEZpeGVzICM2MTQzMTcuCgoyMDEwLTAzLTMwIDAxOjE0OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogYWRkIGNvbW1lbnQgZm9yIHRyYW5zbGF0b3JzCgkgIE5vdCB0aGF0IHRoYXQgd2lsbCBtYWtlIHRoZXNlIHN0cmluZ3MgbXVjaCBiZXR0ZXIuIEFsc28gcmVtb3ZlIGkxOG4KCSAgbWFya2VyIHdoZXJlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZS4KCjIwMTAtMDMtMjIgMTY6MTM6MTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogUmVmYWN0b3IgY29kZSB0byBtYWtlIGl0IGxvb2sgbW9yZSBtb2Rlcm4KCSAgQSBzaWRlIGVmZmVjdCBpcyB0aGF0IGl0IHBhc3NlcyAtV2Zvcm1hdC1ub25saXRlcmFsIGFuZCBkb2Vzbid0IHJlYWQKCSAgaW52YWxpZCBtZW1vcnkgaW4gc29tZSBjYXNlcywgbGlrZSB3aGVuIHRoZSBtaXhlciB0cmFjayBjb250YWlucwoJICBhICUgc2lnbiBvciB0aGVyZSBpcyBhIG51bWJlciBidXQgbm90IGEga25vd24gbWl4ZXIgbmFtZS4KCjIwMTAtMDMtMjIgMTQ6MDk6MjQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXZvaWQgZ19xdWFya190b19zdHJpbmcgKGdfcXVhcmtfZnJvbV9zdHJpbmcgKCkpIG1hZG5lc3MKCSAgV2UgdG8gdGhlIHN0cmR1cCBpbnNpZGUgZ3N0X29zczRfbWl4ZXJfY29udHJvbF9nZXRfdHJhbnNsYXRlZF9uYW1lKCkKCSAgaW5zdGVhZCBvZiBpbiB0aGUgb25seSBjYWxsZXIuCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMS0yMCAxMzoyOTo1MiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgcmV0dXJuIHZhbHVlCgoyMDA5LTA4LTIxIDAxOjE3OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICB0ZXN0czogZml4IHRlc3Qtb3NzNCB0byB0cmVhdCBhbiBlbXB0eSBkZXZpY2UgbmFtZSB0aGUgc2FtZSBhcyBhIE5VTEwgbmFtZQoKMjAwOS0wNy0xNiAxMzo1NToxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBBdHRlbXB0IHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCSAgRG9uJ3Qgc3RvcmUgYSBjb25zdCBnY2hhciAqIGluIGEgbm9uLWNvbnN0IGdjaGFyICogbG9jYWwgdmFyLgoJICBBbHNvLCBtYWtlIHRoZSB0cmFuc2xhdGlvbiBzdHJpbmcgZnVuY3Rpb24gc3RhdGljIHNpbmNlIGl0J3Mgb25seQoJICB1c2VkIGluIHRoZSBvbmUgZmlsZS4KCjIwMDktMDYtMTAgMTk6MjE6MjEgKzAxMDAgIEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBFbmhhbmNlbWVudHMgdG8gdGhlIG1peGVyIGFuZCBhdWRpbyBvdXRwdXQKCSAgQ29kZSBjbGVhbnVwcywgZ2VuZXJhbCBpbXByb3ZlbWVudHMsIHN1cHBvcnQgZm9yIHRoZQoJICBuZXcgbWl4ZXIgZmxhZ3MgaW4gbGF0ZXN0IGdzdC1wbHVnaW5zLWJhc2UuCgkgIEZpeGVzOiAjNTg0MjUyCgkgIFBhdGNoIEJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgkgIFBhdGNoIEJ5OiBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoyMDA5LTA2LTE5IDE2OjIxOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgTWFrZSBidWlsZCB3aXRob3V0IHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0xMiAyMTo1MjoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzNC86IEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBGaXhlczogIzU1NTk2OSAjNTU1OTY4ICM1NTU5NjUKCjIwMDgtMDgtMDcgMTY6MjA6MzAgKzAwMDAgIEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19wbHVnaW5faW5pdCk6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIKCSAgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoKMjAwOC0wNi0xNiAwNzozMDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDYtMTIgMTM6MDY6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiBJbmNsdWRlIHN0ZGxpYi5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaC4KCjIwMDgtMDUtMjIgMTY6MzM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcyB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogKG9wdF9zaG93X21peGVyX21lc3NhZ2VzKSwgKFdBSVRfVElNRSksCgkgIChzaG93X21peGVyX21lc3NhZ2VzKSwgKHByb2JlX21peGVyX3RyYWNrcyksIChwcm9iZV9wYWQpLAoJICAocHJvYmVfZGV0YWlscyksIChwcm9iZV9lbGVtZW50KSwgKG1haW4pOgoJICBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMKCSAgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhdC4gQWxzbyBhbGxvd3MgdGVzdGluZyBvZgoJICBtaXhlciBjaGFuZ2UgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDgtMDUtMjIgMTU6MTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzNC86IE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzogKGdzdF9vc3M0X21peGVyX29wZW4pOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWUpLAoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZV9ub2ZkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6IChnc3Rfb3NzNF9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlCgkgIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoKMjAwOC0wNS0wOCAxOToxNjoxNyArMDAwMCAgQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHRAbnRsd29ybGQuY29tPgoKCSAgc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywgc28gbWFzayB0aG9zZSBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHQgbnRsd29ybGQgY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IChnc3Rfb3NzNF9taXhlcl9zbGlkZXJfdW5wYWNrX3ZvbHVtZSk6CgkgIEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsCgkgIHNvIG1hc2sgdGhvc2Ugb3V0IHdoZW4gcmVhZGluZyB0aGVtLiBQcm9iYWJseSBtYWtlcyB0aGUgbWl4ZXIgYXBwbGV0CgkgIHdvcmsgcHJvcGVybHkgaW4gc29tZSBtb3JlIGNhc2VzLgoKMjAwOC0wNC0xMSAwODoxMzoyMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvb3NzNC86IEZpeCBhcmd1bWVudHMgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA0LTExICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAoZ3N0X29zczRfbWl4ZXJfZW51bV9nZXRfdmFsdWVzX2xvY2tlZCk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9kZWxheSk6IEZpeCBhcmd1bWVudHMKCSAgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA4LTA0LTAyIDIwOjE4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdW5kY2FyZC5oOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwKCSAgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgoyMDEwLTA1LTExIDEwOjUyOjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogaW1wbGVtZW50IHRoZSB4b3ZlcmxheSBpbnRlcmZhY2UuIEZpeGVzICM2MTgzNDkuCgoyMDEwLTA1LTExIDE4OjQyOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHB1c2ggYmFzZWQgc2Vla2luZwoJICAuLi4gd2hlcmUgaXQgY29tZXMgZG93biB0byB0cmFuc2Zvcm1pbmcgaW5jb21pbmcgQllURSBzZWdtZW50CgkgIHRvIGEgY29ycmVzcG9uZGluZyBUSU1FIHNlZ21lbnQuCgkgIEFsc28gZml4ZXMgIzYwOTQwNS4KCjIwMTAtMDUtMTEgMTQ6MjM6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBNb3ZlIGltYWdlZnJlZXplIHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgSG9vayB1cCBidWlsZCBpbmZyYXN0cnVjdHVyZSwgZG9jcyBhbmQgdW5pdCB0ZXN0IGZvciBuZXcgcGx1Z2luLgoJICBGaXhlcyAjNjEzNzg2LgoKMjAxMC0wNS0wNSAxMjoyMzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCBmaXhlZCBjYXBzIG9uIHRoZSBjb3JyZWN0IHBhZAoJICBUaGlzIG1ha2VzIHRoZSBzaW5rIGdldGNhcHMgZnVuY3Rpb24gYWN0dWFsbHkgdXNlZCBpbnN0ZWFkIG9mIHVzaW5nCgkgIHRoZSBmaXhlZCBjYXBzIGZ1bmN0aW9uIGZvciBpdC4KCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xNSAxMTo1NDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IE9ubHkgc3RhcnQgdGhlIHRhc2sgYWZ0ZXIgYSBzZWVrIGlmIGEgYnVmZmVyIHdhcyByZWNlaXZlZCBhbHJlYWR5CgoyMDEwLTAyLTI4IDE2OjA4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgc29tZSB1bml0IHRlc3RzCgoyMDEwLTAyLTI4IDE2OjA0OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IHVuZGVmaW5lZCBmcmFtZXJhdGUgaW4gc2luayBnZXRjYXBzIGZ1bmN0aW9uCgoyMDEwLTAyLTI4IDE1OjAyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2sgYW5kIHNldCBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wMi0yNyAxNzozMzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzdGlsbCBmcmFtZSBzdHJlYW0gZ2VuZXJhdG9yIGVsZW1lbnQKCjIwMTAtMDUtMTEgMTM6MDc6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgTW92ZSBjYXBzZmlsdGVyIGVsZW1lbnQgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEhvb2sgdXAgbW92ZWQgZmlsZXMgdG8gdGhlIGJ1aWxkIGluZnJhc3RydWN0dXJlIGFuZCBkb2NzLgoJICBGaXhlcyAjNjE3NzM5LgoKMjAxMC0wNS0wNiAxMzoxMjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogU29tZSBtaW5vciBjbGVhbnVwCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMC0wOCAxOTo1MTozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IGFkZCB1bml0IHRlc3QKCjIwMDktMDYtMjUgMTY6NDE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IGltcG9ydCBlbGVtZW50IGludG8gLWJhZAoKMjAxMC0wNS0xMSAxMjowNjoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNoZWNrIHRoYXQgcGFkcyBoYXZlIGJlZW4gbmVnb3RpYXRlZAoJICBBbHNvIHNldCBmY2NfaGFuZGxlciBmaWVsZCBpbiBhdWRpbyBzdHJlYW0gaGVhZGVyLgoJICBGaXhlcyAjNjE4MzUxLgoKMjAxMC0wNS0xMCAxODozMzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwYXJ0aWFsIHBhcnNpbmcgb2YgY3R0cyB0YWJsZQoJICBGaXhlcyAjNjE2NTE2LgoKMjAxMC0wNS0xMCAxODozMjoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNsZWFudXAgYSBjb21tZW50IGFuZCBhZGQgc29tZSBkZWJ1ZyBhbmQgY29uZGl0aW9uYWwgY29tcGlsYXRpb24KCjIwMTAtMDUtMTEgMTA6MDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBHVEsrIDMuMCBhbmQgaWYgaXQncyBub3QgYXZhaWxhYmxlIGZvciBHVEsrIDIuMAoKMjAxMC0wNS0xMCAyMjoxMToxMCArMDIwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogb25seSBzdG9yZSB0aGUgbGFzdCBidWZmZXIgdGltZXN0YW1wIGlmIGl0J3MgdmFsaWQKCSAgRml4ZXMgYnVnICM2MTgzMDUKCjIwMTAtMDEtMDggMjI6MTM6NTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBSZS1zZW5kIFNQUy9QUFMgd2hlbiByZXF1ZXN0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY4OQoKMjAxMC0wNS0wNyAxNzowOToxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IHR5cG8gaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wNS0wNyAxNTo0MjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICBydHB0aGVvcmFwYXk6IGFkZCBjb25maWctaW50ZXJ2YWwgcGFyYW1ldGVyIHRvIHJlLWluc2VydCBjb25maWcgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBheWxvYWRlciB0byBpbnNlcnQKCSAgY29uZmlndXJhdGlvbiBoZWFkZXJzIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtCgkgICh3aGVuIGEga2V5ZnJhbWUgaXMgY291bnRlcmVkKS4KCjIwMTAtMDUtMDcgMTU6MzE6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogZml4IGluLWJhbmQgY29uZmlndXJhdGlvbiBwYXJzaW5nCgkgIEFsc28gbWFrZSBjb25maWd1cmF0aW9uIGhlYWRlciBwYXJzaW5nIGEgYml0IG1vcmUgcmVsYXhlZCB3aXRoIHJlc3BlY3QKCSAgdG8gbGVuZ3RoIGZpZWxkIGludGVycHJldGF0aW9uLgoKMjAxMC0wNS0wNyAxNTozMDozMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiBmaXggaW4tbGluZSBjb25maWd1cmF0aW9uIHBhcnNpbmcKCSAgQWxzbyBtYWtlIGNvbmZpZ3VyYXRpb24gaGVhZGVyIHBhcnNpbmcgYSBiaXQgbW9yZSByZWxheGVkIHdpdGggcmVzcGVjdAoJICB0byBsZW5ndGggZmllbGQgaW50ZXJwcmV0YXRpb24uCgoyMDEwLTA1LTA0IDE2OjU3OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogZG8gbm90IGRpc2NhcmQgZG93bnN0cmVhbSBmbG93IHJldHVybgoKMjAxMC0wNS0wNCAxNjo1NzoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IHJlZmFjdG9yIGJ1ZmZlciBwYXlsb2FkaW5nCgoyMDEwLTA1LTA3IDIwOjQxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIFVZVlkKCjIwMTAtMDUtMDcgMTk6MDY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCByZXR1cm4gdmFsdWUKCjIwMTAtMDUtMDcgMTk6MDI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGxlYWsgdGhlIHNlc3Npb24KCjIwMTAtMDUtMDcgMTg6NTk6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGNvbmZpZ3VyZSBiYW5kd2lkdGggcHJvcGVydGllcyBpbiB0aGUgc2Vzc2lvbgoKMjAxMC0wNS0wNyAxODo1ODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIHByb3BlcnRpZXMgdG8gY29uZmlndXJlIHRoZSBiYW5kd2lkdGgKCSAgQWRkIHByb3BlcnRpZXMgdG8gcHJveHkgdGhlIGJhbmR3aWR0aCBjb25maWd1cmF0aW9uIHRvIHRoZSBzZXNzaW9uIG9iamVjdC4KCjIwMTAtMDUtMDcgMTg6NTc6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogYWRkIHByb3BlcnRpZXMgdG8gY29uZmlndXJlIGJhbmR3aWR0aHMKCSAgQWRkIHByb3BlcnRpZXMgdG8gY29uZmlndXJlIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyIGJhbmR3aWR0aHMuCgkgIENvbmZpZ3VyZSB0aGUgYmFuZHdpZHRocyBiZWZvcmUgY2FsY3VsYXRpbmcgdGhlIFJUQ1AgdGltZW91dCB3aGVuIHdlIG5lZWQgdG8uCgoyMDEwLTA1LTA3IDE4OjU2OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc3RhdHM6IGFkZCBzb21lIGRlYnVnIGluZm8KCjIwMTAtMDUtMDcgMTg6NTU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHNtYWxsIGNsZWFudXBzCgoyMDEwLTA1LTA3IDE2OjU1OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc3RhdHM6IG1ha2UgYmFuZHdpZHRocyBtb3JlIGNvbmZpZ3VyYWJsZQoJICBBZGQgYSBtZXRob2QgdG8gY29uZmlndXJlIHRoZSB2YXJpb3VzIGJhbmR3aWR0aHMgaW4gdGhlIHNlc3Npb24uCgoyMDEwLTA1LTA3IDEzOjMyOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBoYW5kbGUgTk9ORSBSVENQIGludGVydmFscwoJICBQcmVwYXJlIGZvciBoYW5kbGluZyBSVENQIHJlcG9ydGluZyBpbnRlcnZhbHMgb2YgR1NUX0NMT0NLX1RJTUVfTk9ORSwgd2hpY2gKCSAgbWVhbnMgZG9uJ3Qgc2VuZCBSVENQIGF0IGFsbC4KCjIwMTAtMDUtMDcgMTI6NTE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZmFsbCBiYWNrIHRvIFNEUCBwb3J0cyBpbnN0ZWFkIG9mIHNlcnZlcl9wb3J0CgkgIEluIG11bHRpY2FzdCwgZmFsbCBiYWNrIHRvIHRoZSBwb3J0cyBpbiB0aGUgU0RQIGluc3RlYWQgb2YgdGhlIHNlcnZlcl9wb3J0CgkgIGF0dHJpYnV0ZSBhcyB0aGlzIGlzIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBSRkMuCgoyMDEwLTA1LTA3IDEyOjI0OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZWZhY3RvciBjb2xsZWN0aW5nIHRoZSB0cmFuc3BvcnQgaW5mbwoJICBNYWtlIGEgbWV0aG9kIHRvIGNvbGxlY3QgdGhlIHBvcnRzIGFuZCBkZXN0aW5hdGlvbiBhZGRyZXNzLgoKMjAxMC0wNS0wNyAxMToyODozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHNlcnZlcnMgdGhhdCBzZW5kIGJyb2tlbiBUcmFuc3BvcnRzCgkgIEhhbmRsZSBzZXJ2ZXJzIHRoYXQgc2VuZCB0aGVpciBwb3J0IHBhaXJzIHdpdGggdGhlIHdyb25nIG5hbWUuCgkgIEZpeGVzICM2MTc1MzcKCjIwMTAtMDUtMDYgMTY6NTI6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogdXNlIHRoZSBTRFAgY29ubmVjdGlvbiBpbmZvIGluIG11bHRpY2FzdAoJICBQYXJzZSB0aGUgY29ubmVjdGlvbiBpbmZvIGZyb20gdGhlIFNEUC4KCSAgV2hlbiB3ZSBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgbXVsdGljYXN0IGRlc3RpbmF0aW9uLCBmYWxsIGJhY2sgdG8gdGhlIFNEUAoJICBjb25uZWN0aW9uIGluZm8gd2hlbiB0aGUgdHJhbnNwb3J0IGRpZCBub3Qgc3BlY2lmeSBhIGRlc3RpbmF0aW9uIGFuZCB0dGwuCgkgIEZpeGVzICM2MTc1MzcKCjIwMTAtMDUtMDYgMTU6NDI6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBnb29tLG1vbm9zY29wZTogdHJ1bmNhdGUgb3duIGNhcHMsIGluc3RlYWQgb2YgY29weWluZyBhbmQgdXNpbmcgdGhlIGZpcnN0IG9ubHkKCSAgV2UgZ290IHRoZSBjYXBzIGZyb20gYW4gaW50ZXJzZWN0LCBpdCBpcyBvdXIgb3duLCBoZW5jZSB3ZSBjYW4gdHJ1bmNhdGUgaXQuCgoyMDEwLTA1LTA2IDE1OjQwOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHJlZmxvdyB0byB0cnVuY2F0ZSBjYXBzIGp1c3Qgb25jZQoJICBXZSBnZXQgd3JpdGFibGUgY3BhcyBmcm9tIHRoZSBpbnRlcnNlY3Rpb24gKHVubGVzcyBpdCBmYWlsZWQpLiBBcyB3ZSB0cnVuY2F0ZQoJICB0aG9zZSBhbnl3YXksIHdlIGRvbid0IG5lZWQgdG8gbWFueWFseSBjb3B5IHRoZSBmaXJzdCBzdHJ1Y3R1cmUuCgoyMDEwLTA1LTA2IDE1OjM5OjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmOiBkb24ndCBsZWFrIHRlbXBsYXRlIGNhcHMKCjIwMTAtMDUtMDYgMTU6Mzg6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG97YXVkaW8sdmlkZW99e3NyYyxzaW5rfTogdXNlIGNhbl9pbnRlcnNlY3QgdG8gYXZvaWQgYSBjYXBzIGNvcHkKCjIwMTAtMDQtMjcgMTM6MzY6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHRlbGwgd2hhdCB3ZSBjYW4gZG8KCSAgQW55LWNhcHMgYXJlIGJhZC4gSWYgYXBwcyBzY2FuIHRoZSByZWdpc3RyeSwgdGhleSdkIGxpa2UgdG8ga25vdyB3aGF0IHdlIGNhbgoJICBvdXRwdXQuCgoyMDEwLTA0LTI3IDEzOjQzOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGFsc28gbGlmdCB0aGUgYXJiaXRyYXJ5IHJlc3RyaWN0aW9ucyBmb3Igd2lkdGggYW5kIGhlaWdodAoJICBUaGlzIHdhcyBhbHJlYWR5IGRvbmUgZm9yIGpwZWdkZWMuCgoyMDEwLTA1LTA2IDE0OjAzOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogQWxsb2NhdGUvZnJlZSBQQSBtYWlubG9vcCBkdXJpbmcgc3RhdGUgY2hhbmdlcwoJICAuLi5hbHNvIGRlc3Ryb3kgdGhlIHN0cmVhbSBhbmQgY29udGV4dCBkdXJpbmcgc3RhdGUgY2hhbmdlcy4KCjIwMTAtMDUtMDYgMTM6NTc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFsbG9jYXRlIGFuZCBmcmVlIHRoZSBjdXN0b20gY2xvY2sgaW4gTlVMTDwtPlJFQURZCgoyMDEwLTA1LTA2IDEzOjUxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBDcmVhdGUgYW5kIGZyZWUgdGhlIFBBIG1haW5sb29wIGluIE5VTEwtPlJFQURZL1JFQURZLT5OVUxMCgkgIFRoaXMgZml4ZXMgYSByYWNlIGNvbmRpdGlvbiwgd2hlbiBzdG9wcGluZyB0aGUgbWFpbmxvb3AgZHVyaW5nIGZpbmFsaXphdGlvbgoJICBpcyBkb25lIGZyb20gYSBtYWlubG9vcCBjYWxsYmFjay4KCSAgRml4ZXMgYnVncyAjNjE0NzY1IGFuZCAjNTkwNjYyLgoKMjAxMC0wNS0wNSAxOTozNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE1ha2Ugc2VsZWN0aW9uIG9mIGEgc2lua3BhZCBudW1iZXIgdGhyZWFkc2FmZQoKMjAxMC0wNS0wNSAxNzozOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIGFsbCBjb21tb24gUkdCIGZvcm1hdHMKCjIwMTAtMDUtMDUgMTY6MDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgQVlVVgoKMjAxMC0wNS0wNCAxNjozNDoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBzZXR1cCB1cmwgaW4gYSBzbWFydGVyIHdheQoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlcGFyYXRlIHRoZSBiYXNlIGFuZCBjb250cm9sIHVybCBwYXJ0cyB3aXRoIGEgLyB3aGVuCgkgIGNyZWF0aW5nIHRoZSBzZXR1cCB1cmwuCgoyMDEwLTA1LTA0IDE2OjA0OjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIFNFRUtJTkcgcXVlcmllcy4KCjIwMTAtMDUtMDQgMTE6MTM6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBhZGQgY29uZmlnLWludGVydmFsIHBhcmFtZXRlciB0byByZS1pbnNlcnQgY29uZmlnIGluIHN0cmVhbQoJICBBZGQgYSBuZXcgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSBwYXlsb2FkZXIgdG8gaW5zZXJ0CgkgIGNvbmZpZyAoVk9TSCwgVk9TLCBldGMpIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtCgkgICh3aGVuIGEgR09QIG9yIFZPUC1JIGlzIGVuY291bnRlcmVkKS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYwNzQ1Mi4KCjIwMTAtMDUtMDMgMTM6MjY6MzIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBtb3ZlIHNvbWUgaW5pdGlhbGl6YXRpb24gY29kZSBmcm9tIGNoYW5nZV9zdGF0ZSB0byBfaW5pdC4KCSAgU2V0IC0+YWN0aXZlIHRvIFRSVUUgaW4gX2luaXQgc28gaXQgY2FuIGJlIHNldCB0byBGQUxTRSBhZnRlciBjcmVhdGluZyB0aGUKCSAgaml0dGVyYnVmZmVyIGFuZCBpdCB3b24ndCBiZSBtaXN0YWtlbmx5IHJlc2V0IHRvIFRSVUUgaW4gdGhlIGNoYW5nZV9zdGF0ZQoJICBmdW5jdGlvbi4KCSAgVGhpcyBpcyBuZWVkZWQgdG8gc3RhcnQgdGhlIGppdHRlcmJ1ZmZlciBhcyBpbmFjdGl2ZSB3aGVuIHJ0cGJpbiBpcyBidWZmZXJpbmcuCgoyMDEwLTA1LTAzIDExOjU2OjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IGEgYnVnIGhhbmRsaW5nIEJVRkZFUklORyBtZXNzYWdlcy4KCSAgSWYgYSBzZXNzaW9uIGV4aXN0cyBidXQgaGFzIG5vIHN0cmVhbXMsIHNldCB0aGUgbWluIGJ1ZmZlcmluZyBwZXJjZW50IHRvIDAKCSAgc2luY2UgaXQgbWVhbnMgdGhhdCB3ZSBoYXZlbid0IHJlY2VpdmVkIGFueXRoaW5nIGZvciB0aGF0IHNlc3Npb24geWV0LgoKMjAxMC0wNS0wMyAxMTo1MTozNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHdoZW4gYSBzdHJlYW0gaXMgY3JlYXRlZCwgcGF1c2UgdGhlIGppdHRlcmJ1ZmZlciBpZiBydHBiaW4gaXMgYnVmZmVyaW5nLgoKMjAxMC0wNS0wMyAxMToyMzo1OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBhIGJ1ZyBjYWxjdWxhdGluZyBzdHJlYW0gb2Zmc2V0cy4KCjIwMTAtMDUtMDEgMTQ6MjA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBXcml0ZSBwcmV2aW91cyBjbHVzdGVyJ3Mgc2l6ZQoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgYmFja3dhcmRzIHBsYXliYWNrLCB3aGljaCBzaG91bGQgYmUgaW1wbGVtZW50ZWQKCSAgaW4gbWF0cm9za2FkZW11eCBhdCBzb21lIHBvaW50LgoKMjAxMC0wNS0wMSAxNDoxNTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU2V0IGludGVybGFjZWQgZmxhZyBpbiB0aGUgY2FwcyBpZiB0aGUgZmxhZyBpcyBzZXQgaW4gdGhlIE1hdHJvc2thIGZpbGUKCjIwMTAtMDUtMDEgMTQ6MTI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogV3JpdGUgaW50ZXJsYWNlZCBmbGFnIGlmIHRoZSBpbnB1dCB2aWRlbyBjb250ZW50IGlzIGludGVybGFjZWQKCSAgVW5mb3J0dW5hdGVseSBNYXRyb3NrYSBoYXMgbm8gd2F5IHRvIHNwZWNpZnkgVEZGIGFuZCBmcmllbmRzLi4uCgoyMDEwLTA1LTAxIDExOjI1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHA6IGZpeCBwcmludGYgZm9ybWF0IG9mIHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDUtMDEgMTE6MDY6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBpbml0IHZhcmlhYmxlIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgb24gT1NYCgkgIEZpeGVzIChib2d1cykgIidvZmZzZXQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiIKCSAgd2FybmluZyBvbiBidWlsZCBib3QgKGFsc28gc3BvdHRlZCBieSBwaGlsbikuCgoyMDEwLTA0LTMwIDE3OjE5OjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVVlWWSBpcyA0OjI6Miwgbm90IDQ6MjowCgoyMDEwLTA0LTMwIDIyOjIyOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IERvbid0IGNvbXBhcmUgdmFsdWVzIG9mIHR3byBkaWZmZXJlbnQgZW51bSB0eXBlcwoKMjAxMC0wNC0zMCAyMjoxMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IE1ha2UgYXV0b21hdGljIGRldGVjdGlvbiBvZiBpbnRlcmxhY2luZyB0aGUgZGVmYXVsdAoJICBQcmV2aW91c2x5ICJmb3JjZSBkZWludGVybGFjaW5nIiB3YXMgdGhlIGRlZmF1bHQsIHdoaWNoIGlzIGEgbm90IHZlcnkKCSAgc2Vuc2libGUgZGVmYXVsdCBmb3IgdGhlIG5vcm1hbCB1c2UgY2FzZSB3aGVyZSBkZWludGVybGFjZSBzaG91bGQgYWN0CgkgIGluIHBhc3N0aHJvdWdoIG1vZGUgdW5sZXNzIGludGVybGFjZWQgY29udGVudCBpcyBwcmVzZW50LgoKMjAxMC0wNC0yOSAxNjoyNjo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb3B0aW1pc2UgYnVmZmVyIHNjYW5uaW5nCgkgIFNwZWNpZmljYWxseSwgd2hlbiBuZWVkaW5nIG1vcmUgZGF0YSwgZG8gbm90IHJlc2NhbiBmcm9tIHN0YXJ0IG5leHQgdGltZQoJICBhcm91bmQsIGJ1dCByZXN1bWUgZnJvbSBsYXN0IHBvc2l0aW9uLgoJICBTZWUgYWxzbyAjNTgzMDQ3LgoKMjAxMC0wNC0yOSAxNTozODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRpc3JlZ2FyZCBzdXBlcmZsdW91cyBsaW5lcyB3aGVuIGluZGlyZWN0IGRlY29kaW5nCgoyMDEwLTA0LTI3IDE1OjQ0OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBhZGQgc3VwcG9ydCBmb3IgUkdCIGFuZCBncmF5c2NhbGUgY29sb3Igc3BhY2UKCSAgQWxzbyByZWZhY3RvciBzcmMgY2FwcyBuZWdvdGlhdGlvbiBhbmQgc2V0dGluZy4KCjIwMTAtMDQtMjcgMTI6MTk6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBzdXBwb3J0IG1vcmUgY29sb3VyIHNwYWNlcyBhbmQgc29tZSBjbGVhbnVwcwoKMjAxMC0wNC0zMCAxMjo0NzowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IG1vcmUgZ2VuZXJpYyBzaW5rIGdldGNhcHMKCjIwMTAtMDQtMzAgMTI6NDI6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBtb3JlIHNhbml0eSBjaGVja3Mgb24gaW5wdXQKCSAgU3BlY2lmaWNhbGx5LCB2ZXJpZnkgaW5wdXQgY29tcG9uZW50cyAvIGNvbG91ciBzcGFjZSBpcyBhcyBjb2RlCgkgIHN1YnNlcXVlbnRseSBleHBlY3RzLCB0aGVyZWJ5IGF2b2lkaW5nIGNyYXNoZXMgb3Igb3RoZXJ3aXNlIGJvZ3VzIG91dHB1dC4KCSAgUHJlc2VudGx5LCB0aGF0IG1lYW5zIDMgY29tcG9uZW50cyBZQ2JDciBjb2xvdXIgc3BhY2UsIGFuZCBzb21ld2hhdAoJICBsaW1pdGVkIHNhbXBsaW5nIGZhY3RvcnMuCgkgIEZpeGVzICM2MDA1NTMuCgoyMDEwLTA0LTIyIDEyOjI4OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IGFsc28gYWNjZXB0IGluLWJhbmQgY29uZmlndXJhdGlvbgoJICBGaXhlcyAjNTc0NDE2ICh0aGVvcmEpLgoKMjAxMC0wNC0yMiAxMjoyNzozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiBhbHNvIGFjY2VwdCBpbi1saW5lIGNvbmZpZ3VyYXRpb24KCSAgRml4ZXMgIzU3NDQxNiAodm9yYmlzKS4KCjIwMTAtMDQtMDcgMTc6MjE6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IElnbm9yZSBwYWNrZXRzIHdpdGhvdXQgYSBrbm93biBjb2RlYm9vawoJICBEb24ndCBwcm9kdWNlIGFuIGVycm9yIGlmIGEgcGFja2V0IGlzIHJlY2VpdmVkIHdpdGhvdXQgYSB2YWxpZCBjb2RlYm9vaywKCSAgaXQncyBwb3NzaWJsZSB0aGF0IHRoZSBjb2RlYm9vayB3aWxsIGp1c3QgYmUgY29taW5nIGxhdGVyLgoJICBTZWUgIzU3NDQxNi4KCjIwMTAtMDQtMjAgMTI6MTc6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHk0bWVuYzogYWRqdXN0IHVuaXQgdGVzdCB0byBlbGVtZW50IGJlaGF2aW91cgoKMjAxMC0wMi0yMyAyMjoxNjozOSAtMDUwMCAgQmVuamFtaW4gTS4gU2Nod2FydHogPGJlbnNAYWx1bS5taXQuZWR1PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtZW5jOiBhZGQgNDoyOjIsIDQ6MToxLCBhbmQgNDo0OjQgb3V0cHV0IHN1cHBvcnQKCSAgRml4ZXMgIzYxMDkwMi4KCjIwMTAtMDQtMTUgMTI6MjE6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBERUxUQV9VTklUIG1hcmtpbmcgb2Ygb3V0cHV0IGJ1ZmZlcnMKCSAgLi4uIHdoaWNoIGV2aWRlbnRseSBtYWtlcyAobW9zdCkgc2Vuc2UgaWYgb3V0cHV0IGJ1ZmZlcnMgYXJlCgkgIGFjdHVhbGx5IGZyYW1lcy4KCSAgUGFydGlhbGx5IGJhc2VkIG9uIGEgcGF0Y2ggYnkKCSAgTWlndWVsIEFuZ2VsIENhYnJlcmEgPG1hZF9hbHVjaGUgYXQgaG90bWFpbC5jb20+CgkgIEZpeGVzICM2MDk2NTguCgoyMDEwLTA0LTE2IDE3OjIxOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIHJ0cGgyNjNkZXBheTogZXh0cmEga2V5ZnJhbWUgaW5mbyBmcm9tIFBUWVBFIGhlYWRlcgoJICAuLi4gYXMgb3Bwb3NlZCB0byB0YWtpbmcgaXQgZnJvbSBoMjYzIHBheWxvYWQgaGVhZGVyLCB3aGljaCBuZWVkIG5vdAoJICBiZSBzbyByZWxpYWJsZS4KCSAgRml4ZXMgIzYxMDE3Mi4KCjIwMTAtMDQtMTYgMTc6MDg6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBhbHNvIHVzZSBQaWN0dXJlIFN0YXJ0IENvZGUgdG8gZGV0ZWN0IHBhY2tldCBsb3NzCgkgIFRoaXMgZW5zdXJlcyBhIHdob2xlIGZyYW1lIGlzIGRyb3BwZWQgaWYgYSAoc3RhcnQpIHBhY2tldCBpcyBsb3N0LAoJICByYXRoZXIgdGhhbiByZWx5aW5nIG9ubHkgb24gdGhlIERJU0NPTlQgZmxhZy4KCjIwMTAtMDQtMTYgMTc6MDY6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBkZXRlY3QgZnJhbWUgc3RhcnQgdXNpbmcgUGljdHVyZSBTdGFydCBDb2RlCgkgIFNvIHdlIHN0b3AgZHJvcHBpbmcgZnJhZ21lbnRzIGFzIHNvb24gYXMgdGhlcmUgaXMgYSBwaWN0dXJlIHN0YXJ0IChjb2RlKS4KCSAgSW4gcGFydGljdWxhciwgdGhpcyBwcmV2ZW50cyBkcm9wcGluZyB0aGUgZmlyc3QgZnJhbWUgZm9sbG93aW5nCgkgIGluaXRpYWwgRElTQ09OVC4KCjIwMTAtMDQtMTYgMTY6MzQ6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBoYW5kbGUgYSBmZXcgRklYTUVzCgoyMDEwLTA0LTE2IDE2OjI3OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogc2xpZ2h0bHkgcmVmYWN0b3IgcGF5bG9hZCBkcm9wcGluZwoKMjAxMC0wNC0xNiAxMTo1MzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IHVzZSBmb3VuZCBHT0JzIHRvIGFwcGx5IE1vZGUgQSBwYXlsb2FkaW5nCgkgIC4uLiByYXRoZXIgdGhhbiBmYWxsaW5nIGJhY2sgdG8gc2VuZGluZyB0aGUgd2hvbGUgZnJhbWUgaW4gb25lIHBhY2tldAoJICBpZiBudW1iZXIgb2YgR09CIHN0YXJ0Y29kZXMgPCBtYXhpbXVtLgoJICBPbmUgbWlnaHQgdGFrZSB0aGlzIGZ1cnRoZXIgYW5kIHN0aWxsIHBlcmZvcm0gTW9kZSBCL0MgcGF5bG9hZGluZywKCSAgYnV0IGF0IGxlYXN0IHRoaXMgc2hvdWxkIGNhdGVyIGZvciBkZWNlbnQgZnJhZ21lbnRzIGluIHR5cGljYWwgY2FzZXMuCgkgIEZpeGVzICM1OTk1ODUuCgoyMDEwLTA0LTE0IDExOjUzOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogaW1wbGVtZW50IHB1c2ggbW9kZSBzZWVraW5nCgoyMDEwLTA0LTI5IDIwOjA4OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgdmlkZW9maWx0ZXIgcGx1Z2luIG1lcmdlIGFuZCBhZGQgZ3RrLWRvYyBibHVyYiBmb3IgbmV3IHByb3BlcnR5CgoyMDEwLTA0LTI2IDE4OjEyOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBzZWdtZW50IGhhbmRsaW5nIGEgYml0CgoyMDEwLTA0LTI2IDE4OjA1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogT3JkZXIgY2FwcyBieSBhbW91bnQgb2YgY29udGFpbmVkIGluZm9ybWF0aW9uCgoyMDEwLTA0LTI2IDE3OjI1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUHJvcGVybHkgc2V0IGludGVybGFjZWQgZmllbGQgaW4gZ2V0Y2FwcwoKMjAxMC0wNC0yNCAxNjoyODoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgcGxhbmFyIFlVViBzdXBwb3J0IHRvIGFsbCBvdGhlciBzaW1wbGUgbWV0aG9kcwoKMjAxMC0wNC0yNCAxNjoxMDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBwbGFuYXIgWVVWIHN1cHBvcnQgdG8gZ3JlZWR5aCBtZXRob2QKCjIwMTAtMDQtMjQgMTU6NDI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBwbGFuYXIgWVVWIGZvcm1hdHMgaW4gZ3JlZWR5bCBtZXRob2QKCjIwMTAtMDQtMjQgMTM6NTg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiwgSTQyMCwgWVYxMiBhbmQgWTQxQgoJICBUaGUgdmZpciBtZXRob2Qgc3VwcG9ydHMgdGhlbSBhbmQgd2lsbCBiZSB1c2VkIHVudGlsIHNvbWV0aGluZyBlbHNlCgkgIHN1cHBvcnRzIGl0LgoKMjAxMC0wNC0yNCAwOToxNjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IERlZmluZSBkZWludGVybGFjZSBtZXRob2QgYmFzZSBjbGFzc2VzIGFzIGFic3RyYWN0IHR5cGVzCgoyMDEwLTA0LTIzIDE3OjQwOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IE1vdmUgZGVpbnRlcmxhY2luZyBtZXRob2RzIHRvIHRoZWlyIG93biBmaWxlCgoyMDEwLTA0LTIzIDE3OjI1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IFNpbXBsaWZ5IHBhc3N0aHJvdWdoIG1vZGUgZGV0ZWN0aW9uCgoyMDEwLTA0LTIzIDE0OjM1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdW5pdCB0ZXN0IHRoYXQgY2hlY2tzIGNhcHMgaGFuZGxpbmcKCSAgZGVpbnRlcmxhY2Ugbm93IGFsd2F5cyBhZGRzIHRoZSBpbnRlcmxhY2VkIGZpZWxkIHRvIHRoZSBvdXRwdXQgY2FwcywKCSAgaWYgaXQgd2Fzbid0IHByZXNlbnQgaW4gdGhlIGlucHV0IGNhcHMgdGhlIG91dHB1dCBjYXBzIHdpbGwgc3RpbGwKCSAgY29udGFpbiBpbnRlcmxhY2VkPWZhbHNlLgoKMjAxMC0wNC0yMSAxNzowMDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBSZWZhY3RvciBkZWludGVybGFjaW5nIGFzIHByZXBhcmF0aW9uIGZvciBzdXBwb3J0aW5nIG1vcmUgY29sb3IgZm9ybWF0cwoKMjAxMC0wNC0yMiAxOTowNTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCIGFuZCBZNDFCCgoyMDEwLTA0LTIyIDE1OjU0OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFlWWVUgYW5kIHJlb3JkZXIgdGVtcGxhdGUgY2FwcwoKMjAxMC0wNC0xOCAyMToxMToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFRyYW5zbGF0ZSBuYXZpZ2F0aW9uIGV2ZW50cyB0byBtYWtlIHNlbnNlIGFnYWluIHVwc3RyZWFtCgoyMDEwLTA0LTE4IDIwOjU4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogUHJvcGVybHkgaGFuZGxlIHJhbmdlcy9saXN0cyBvZiB3aWR0aCBvciBoZWlnaHQgd2hlbiB0cmFuc2Zvcm1pbmcgY2FwcwoJICBDb2RlIHBhcnRseSB0YWtlbiBmcm9tIHRoZSB2aWRlb2Nyb3AgZWxlbWVudC4KCjIwMTAtMDQtMjIgMTU6NDU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBGaXggcGxhbmFyIFlVVi0+UkdCIHByb2Nlc3NpbmcKCjIwMTAtMDQtMjIgMTU6NDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBDb3JyZWN0bHkgY2xhbXAgYWZ0ZXIgWVVWLT5SR0IgY29udmVyc2lvbgoKMjAxMC0wNC0yMiAxNToyMDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBZVllVIGFuZCBVWVZZCgoyMDEwLTA0LTE4IDE1OjAyOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGluIGJlZm9yZV90cmFuc2Zvcm0KCjIwMTAtMDQtMTYgMTc6MDA6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgWVVZMiBhbmQgVVlVVgoKMjAxMC0wNC0yMSAxNzo0MTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlZmFjdG9yIHByb2Nlc3NpbmcgYW5kIGFkZCBzdXBwb3J0IGZvciBvdGhlciBwbGFuYXIgWVVWIGZvcm1hdHMKCSAgVGhpcyByZWR1Y2VzIHRoZSBnZW5lcmF0ZWQgY29kZSBzaXplIGJ5IGEgZmFjdG9yIG9mIDIuNS4KCjIwMTAtMDQtMjEgMTc6MTU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgWVYxMiBpbnB1dAoKMjAxMC0wNC0yMiAxMzo1Njo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBZVllVLCBVWVZZCgoyMDEwLTA0LTIwIDEyOjE4OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIFk0NDQsIFk0MkIsIFk0MUIgYW5kIFlWMTIKCjIwMTAtMDQtMjEgMTc6MDc6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZpbHRlcjogT3JkZXIgY29sb3IgZm9ybWF0cyBieSB0aGVpciBjb250YWluZWQgYW1vdW50IG9mIGluZm9ybWF0aW9uCgoyMDEwLTA0LTIwIDE4OjIyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBEcm9wIFk0MUIvWTQyQiBzdXBwb3J0CgkgIFJvdGF0aW5nIDkwwrAvMjcwwrAgd2l0aCBzdWJzYW1wbGVkIFlVViB3aGVyZSBob3Jpem9udGFsCgkgIGFuZCB2ZXJ0aWNhbCBzdWJzYW1wbGluZyBhcmUgZGlmZmVyZW50IGRvZXNuJ3QgcmVhbGx5IHdvcmsuCgoyMDEwLTA0LTE5IDE0OjM3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBbHNvIGZsaXAgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiB3aWR0aC9oZWlnaHQgYXJlIGV4Y2hhbmdlZAoKMjAxMC0wNC0xOCAyMzowODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXI6IEV4dGVuZCB0aGUgdW5pdCB0ZXN0IHRvIHRlc3QgZGlmZmVyZW50IGNvbG9yIGZvcm1hdHMKCjIwMTAtMDQtMTggMjI6NTU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXI6IEFkZCBzb21lIG1vcmUgdGVzdHMKCSAgVGhlc2UgY2hlY2sgZGlmZmVyZW50IHByb3BlcnR5IGNvbWJpbmF0aW9ucwoKMjAxMC0wNC0xOCAyMjo1NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQ2hhbmdlIHRoZSBkZWZhdWx0IG1ldGhvZCB0byBpZGVudGl0eQoKMjAxMC0wNC0xOCAyMjo1MDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgdmlkZW9iYWxhbmNlOiBSZWR1Y2UgbnVtYmVyIG9mIGFsbG9jYXRpb25zIHBlciBpbnN0YW5jZQoKMjAxMC0wNC0xOCAyMjo0NTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmlsdGVyOiBVcGRhdGUgbGFzdC1yZXZpZXdlZCBjb21tZW50cwoKMjAxMC0wNC0xOCAyMjo0MDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIGFsbCBSR0IgZm9ybWF0cwoKMjAxMC0wNC0xOCAyMjoyODoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIFlVWTIsIFVZVlksIEFZVVYgYW5kIFlWWVUKCjIwMTAtMDQtMTggMjI6MjM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMC0wNC0xOCAyMjoxOTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogTWFrZSBwcm9wZXJ0eSBhY2Nlc3MgdGhyZWFkc2FmZQoKMjAxMC0wNC0xOCAyMjoxODoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIFk0MUIsIFk0MkIgYW5kIFk0NDQKCjIwMTAtMDQtMTggMjI6MTc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIHZpZGVvYmFsYW5jZTogVXNlIGxpYmdzdHZpZGVvIGZvciBmb3JtYXQgc3BlY2lmaWMgdGhpbmdzCgoyMDEwLTA0LTE4IDIyOjA5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBNYWtlIHByb3BlcnRpZXMgY29udHJvbGxhYmxlCgoyMDEwLTA0LTE4IDIyOjA2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBFbWl0ICJ2YWx1ZS1jaGFuZ2VkIiBzaWduYWwgb2YgY29sb3IgYmFsYW5jZSBpbnRlcmZhY2Ugd2hlbiB2YWx1ZXMgY2hhbmdlCgoyMDEwLTA0LTE4IDIxOjU4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICB2aWRlb2JhbGFuY2U6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTggMjE6Mzc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IFN0b3AgdXNpbmcgbGlib2lsCgkgIFRoZSB1c2VkIGxpYm9pbCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCBoYXMgbm8gb3B0aW1pemVkCgkgIGltcGxlbWVudGF0aW9uIGFueXdheS4KCjIwMTAtMDQtMTggMjE6MTQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IE1ha2UgcHJvcGVydHkgYWNjZXNzIHRocmVhZHNhZmUKCjIwMTAtMDQtMTggMTU6MDA6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaW4gYmVmb3JlX3RyYW5zZm9ybQoKMjAxMC0wNC0xOCAxNDo0NjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIHN1cHBvcnQgZm9yIGFsbCBSR0IgZm9ybWF0cyBhbmQgQVlVVgoKMjAxMC0wNC0xOCAxNDozMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIHN1cHBvcnQgZm9yIFk0MUIsIFk0MkIgYW5kIFk0NDQKCjIwMTAtMDQtMTggMTQ6Mjk6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvZmxpcDogTWFrZSBwcm9jZXNzaW5nIG1vcmUgZ2VuZXJhbCBhbmQgdXNlIGxpYmdzdHZpZGVvIGZvciBhbGwgZm9ybWF0IHNwZWNpZmljIHRoaW5ncwoKMjAxMC0wNC0xOCAxMzoxMjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogTWFrZSBtZXRob2QgcHJvcGVydHkgY29udHJvbGxhYmxlIGFuZCBpbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMC0wNC0xOCAxMzowMzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE4IDEwOjE3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJICB2aWRlb2ZpbHRlcjogTW92ZSBhbGwgZWxlbWVudHMgaW50byBhIHNpbmdsZSBwbHVnaW4KCSAgSGF2aW5nIGFsbCB0aGVzZSBzbWFsbCBlbGVtZW50cyBpbiBhIHNlcGFyYXRlIHBsdWdpbgoJICBpcyBub3QgdmVyeSBtZW1vcnkgZWZmZWN0aXZlLi4uCgoyMDEwLTA0LTE4IDEwOjA3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSAgZ2FtbWE6IEltcHJvdmUgZG9jcyBhIGJpdAoKMjAxMC0wNC0xOCAwOTo1OTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IEFkZCBzdXBwb3J0IGZvciBhbGwgUkdCIGZvcm1hdHMKCjIwMTAtMDQtMTggMDk6NDY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBBZGQgc3VwcG9ydCBmb3IgbWFueSBwYWNrZWQgWVVWIGZvcm1hdHMKCSAgVGhhdCBpcyBZVVkyLCBVWVZZLCBBWVVWIGFuZCBZVllVLgoKMjAxMC0wNC0xOCAwOTozODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IEFkZCBzdXBwb3J0IGZvciBhbGwgb3RoZXIgcGxhbmFyIFlVViBmb3JtYXRzCgkgIFRoYXQgaXMgWTQxQiwgWTQyQiwgWTQ0NCwgTlYxMiBhbmQgTlYyMS4KCjIwMTAtMDQtMTggMDk6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IFN0b3AgdXNpbmcgbGlib2lsCgkgIFRoZSB1c2VkIGxpYm9pbCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLCBvbmx5IGhhcyBhIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbgoJICBhbmQgaXMgbW9yZSBjb21wbGV4IHRoYW4gd2hhdCdzIG5lZWRlZCBoZXJlLgoKMjAxMC0wNC0xNyAxODoxMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkgIGdhbW1hOiBVc2UgbGliZ3N0dmlkZW8gZm9yIGZvcm1hdCBzcGVjaWZpYyB2YWx1ZXMgYW5kIG1ha2UgZ2FtbWEgcHJvY2Vzc2luZyBtb3JlIGdlbmVyaWMKCSAgQWxsb3dzIHVzIHRvIGVhc2lseSBhZGQgc3VwcG9ydCBmb3IgbmV3IGNvbG9yIGZvcm1hdHMgbGF0ZXIuCgoyMDEwLTA0LTE3IDE4OjAxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBNYWtlIGdhbW1hIHByb3BlcnR5IGNvbnRyb2xsYWJsZQoJICAuLi5hbmQgcHJvcGVybHkgdXNlIGxpYm9pbC4KCjIwMTAtMDQtMTcgMTc6NTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE5IDE0OjQ1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpbiBiZWZvcmVfdHJhbnNmb3JtCgoyMDEwLTA0LTE3IDE3OjQ3OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBZVjEyIChjb252ZXJ0ZWQgdG8gQVlVVikKCjIwMTAtMDQtMTcgMTc6NDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGFsbCA0IEFSR0IgZm9ybWF0cwoJICAuLi53aXRob3V0IGZvcm1hdCBjb252ZXJzaW9uLgoKMjAxMC0wNC0xNiAxNzoyNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZWFscGhhOiBNYWtlIGNvbG9yIGZvcm1hdCBzdXBwb3J0IG1vcmUgZ2VuZXJpYwoJICBUaGlzIGFsbG93cyBlYXNpZXIgYWRkaXRpb24gb2YgbmV3IGZvcm1hdHMgbGF0ZXIuCgoyMDEwLTA0LTE2IDE3OjE4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlYWxwaGE6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTUgMjI6Mjg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdG1hc2suYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZTogQWRkIHByb3BlcnR5IGZvciBpbnZlcnRpbmcgdGhlIHRyYW5zaXRpb24gbWFzawoJICBUaGlzIGNvbnZlcnRzIGEgbGVmdC10by1yaWdodCB0cmFuc2l0aW9uIHRvIHJpZ2h0LXRvLWxlZnQgb3IKCSAgY2xvY2std2lzZSB0byBjb3VudGVyLWNsb2NrLXdpc2UuCgoyMDEwLTA0LTE1IDIyOjI3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IENvcnJlY3RseSBkZXRlY3QgcHJvcGVydHkgY2hhbmdlcyBhbmQgdXBkYXRlIHByb3BlcnRpZXMKCjIwMTAtMDQtMTYgMTk6MzU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkgIHFjZWxwZGVwYXk6IGFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgUUNFTFAgZGVwYXlsb2FkZXIKCjIwMTAtMDQtMjkgMTU6MTg6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQuCgo9PT0gcmVsZWFzZSAwLjEwLjIyID09PQoKMjAxMC0wNC0yOCAwMjo1ODowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMgoKMjAxMC0wNC0yOCAwMjo1NzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTA0LTI1IDIzOjM2OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjMgcHJlLXJlbGVhc2UKCjIwMTAtMDQtMjUgMjE6MTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBoaWRlIGlzLWxpdmUgcHJvcGVydHkgZm9yIHJlbGVhc2UKCSAgQXQgdGhlIHZlcnkgbGVhc3QgaXQgbmVlZHMgYSBiZXR0ZXIvbGVzcyB3cm9uZyBuYW1lLgoJICBTZWUgIzYxMzA2Ni4KCjIwMTAtMDQtMjUgMTU6MTI6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb24ndCBjcmFzaCBpZiBqcGVnIGltYWdlIGNvbnRhaW5zIG1vcmUgdGhhbiB0aHJlZSBjb21wb25lbnRzCgkgIE91ciBjb2RlIGN1cnJlbnRseSBvbmx5IGhhbmRsZXMgYSBtYXhpbXVtIG9mIDMgY29tcG9uZW50cywgc28gZXJyb3IKCSAgb3V0IGZvciBub3cgaWYgdGhlIGltYWdlIGhhcyBtb3JlIGNvbXBvbmVudHMgdGhhbiB0aGF0LgoJICBGaXhlcyAjNjA0MTA2LgoKMjAxMC0wNC0yMCAxNzoyMToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIGRvYXA6IHVwZGF0ZSByZXBvc2l0b3J5IGluZm8gZnJvbSBjdnMtPmdpdCBhbmQgbWFpbnRhaW5lcnMKCjIwMTAtMDQtMjMgMTQ6NDA6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYzg1ODY3IHRvIDRkNjdiZDYKCjIwMTAtMDQtMjIgMTM6MzA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogRml4IGJ5dGUgb3JkZXIgZm9yIE1NWCBBUkdCL0FZVVYgY29sb3IgZmlsbGluZwoJICBGaXhlcyBidWcgIzYxNjQwOS4KCjIwMTAtMDQtMjEgMTc6NTM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogRml4IEFZVVYgY2hlY2tlci9jb2xvciBmaWxsaW5nCgoyMDEwLTA0LTE5IDE2OjQzOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBBZGQgaTM4NyBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgbGlzdAoJICBUaGV5IGFyZSB0aGUgc2FtZSBhcyB0aGUgbW0wLW1tNyBNTVggcmVnaXN0ZXJzIGFuZCB3aWxsIGJlIG92ZXJ3cml0dGVuCgkgIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGlmIGdjYyBkb2Vzbid0IGtub3cgYWJvdXQgdGhlIE1NWCByZWdpc3RlcnMuCgkgIE5vdGU6IFRoZXkncmUgYWxsIGFkZGVkIHRvIHRoZSBsaXN0IG9mIGNsb2JiZXJlZCByZWdpc3RlcnMgaW4gYWxsIGNhc2VzCgkgIGFuZCBub3Qgb25seSB3aGVuIF9fTU1YX18gaXMgbm90IGRlZmluZWQganVzdCB0byBtYWtlIHN1cmUgdGhhdCBubyBvdGhlcgoJICBidWdzIGhhcHBlbiB3aXRoIHRoaXMgY29kZSBqdXN0IGJlY2F1c2Ugc29tZSBjb21waWxlciB2ZXJzaW9uIGdldHMgdGhpbmdzCgkgIHdyb25nLgoJICBGaXhlcyBidWcgIzYxNDQ2Ni4KCjIwMTAtMDQtMTkgMTQ6MDk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBVc2UgbGliZ3N0dmlkZW8gdG8gZ2V0IHRoZSBvcmRlciBvZiBSR0IKCjIwMTAtMDQtMTcgMTA6MDY6NDEgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ab3JhY2xlLmNvbT4KCgkqIGdzdC9nb29tL3htbXguYzoKCSAgZ29vbTogYWRkIGVkeCB0byBjbG9iYmVyIGxpc3QgaW4gaW5saW5lIGFzc2VtYmx5IGNvZGUKCSAgbXVsbCBtb2RpZmllcyAlZWR4LCBzbyBzaG91bGQgYmUgbWVudGlvbmVkIGluIGNsb2JiZXIgbGlzdC4KCSAgRml4ZXMgY3Jhc2ggb24gU29sYXJpcyAoIzYxNTk5OCkuCgoyMDEwLTA0LTE1IDEzOjM5OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZG9uJ3QgdXNlIEdTVF9QTFVHSU5fTERGTEFHUyB3aGVuIGJ1aWxkaW5nIHRlc3QgYmluYXJpZXMKCjIwMTAtMDQtMTYgMTU6Mjc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggSTQyMC0+STQyMCBjb3B5aW5nCgkgIEZpeGVzIGJ1ZyAjNjE1MTQzLgoKMjAxMC0wNC0xMyAxODoxNTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBBWVVWLT5JNDIwIGNvcHlpbmcKCjIwMTAtMDQtMTYgMTI6MTQ6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBwcm9maWxlLWxldmVsLWlkIGlzIGFuIG9wdGlvbmFsIHBhcmFtZXRlcgoJICBTbywgaWYgbmVlZGVkLCBleHRyYWN0IHRoZSBjb3JyZXNwb25kaW5nIGluZm8gZnJvbQoJICBzcHJvcC1wYXJhbWV0ZXItc2V0cy4KCSAgQmFzZWQgb24gcGF0Y2ggcHJvdmlkZWQgYnkgPGR4c3N4IGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYxMjY1Ny4KCjIwMTAtMDQtMTUgMDc6MTM6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERyb3AgLVdjYXN0LWFsaWduCgkgIENvbW1pdCBtZXNzYWdlIGNvcGllZCBmcm9tIGNvcmUncyBjb21taXQgZnJvbSBCZW5qYW1pbiBPdHRlOgoJICAyNDZmNWRiYTk2YTViNTBiYjc0NjIxYWY2N2IzMDk0MmNjYTcyYWY1CgkgIEFwcGFyZW50bHkgZ2NjIHdhcm5zIHRoYXQgR3N0TWluaU9iamVjdCBpcyBub3QgY2FzdGFibGUgdG8KCSAgR3N0RXZlbnQvTWVzc2FnZS9CdWZmZXIgZHVlIHRvIHRoZW0gY29udGFpbmluZyA2NGJpdCB2YXJpYWJsZXMsIGV2ZW4KCSAgdGhvdWdoIEFSTSBoYWNrZXJzIGNsYWltIHRoYXQgdGhvc2Ugb25seSBuZWVkIDRieXRlIGFsaWdubWVudC4gQW5kIGFzCgkgIGxvbmcgYXMgZ2NjIGJlaGF2ZXMgdGhhdCB3YXksIHRoaXMgd2FybmluZyBpcyBub3QgdmVyeSB1c2VmdWwuCgkgIFNvIHdlJ2xsIHJlbW92ZSB0aGUgd2FybmluZyB1bnRpbCB0aGlzIHByb2JsZW0gaXMgZml4ZWQuCgkgIEZpeGVzICM2MTU2OTgKCjIwMTAtMDQtMTQgMjM6NDY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjdGFnOiBmaXggYWRhcHRlciBhc3NlcnRpb24gd2hlbiB1c2VkIGRpcmVjdGx5IGFmdGVyIGZsYWNlbmMKCSAgVW5saWtlIGZpbGVzcmMsIGZsYWNlbmMgb3V0cHV0cyB0aGUgZmxhYyBibG9ja3MgbmVhdGx5IGFsaWduZWQgb25lIGluCgkgIGVhY2ggYnVmZmVyLiBUaGlzIG1lYW5zIHRoYXQgd2hlbiB3ZSBzd2l0Y2ggZnJvbSBtZXRhZGF0YSBtb2RlIHRvCgkgIGF1ZGlvIGRhdGEgcGFzc3Rocm91Z2ggbW9kZSwgdGhlcmUncyBubyBkYXRhIGxlZnQgaW4gdGhlIGFkYXB0ZXIgdG8KCSAgcHVzaCBvdXQgYXQgdGhpcyBwb2ludCwgc28gY2hlY2sgaWYgdGhlcmUncyBkYXRhIGluIHRoZSBhZGFwdGVyCgkgIGJlZm9yZSByZXF1ZXN0aW5nIGJ1ZmZlcnMgZnJvbSBpdCAoYWxzbyBuZWVkZWQgaW4gY2FzZSB3ZSBnZXQgaW5wdXQKCSAgYnVmZmVycyBvZiAwIHNpemUpLgoJICBGaXhlcyAjNjE1NzkzLgoKMjAxMC0wNC0xNCAyMzoxODoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS4yIHByZS1yZWxlYXNlCgoyMDEwLTA0LTE0IDIwOjMxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUKCjIwMTAtMDQtMTQgMjA6MDY6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHVzZSBMREFERCBmb3IgbGlicyB0byBsaW5rIHRvIGluc3RlYWQgb2YgTERGTEFHUwoJICBVc2UgZm9vX0xEQUREIGluc3RlYWQgb2YgZm9vX0xERkxBR1MgdG8gc3BlY2lmeSB0aGUgbGlicmFyaWVzIHRvIGxpbmsgdG8uCgkgIFRoaXMgc2hvdWxkIG1ha2Ugc3VyZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgbGlua2VyIGluIHRoZSByaWdodAoJICBvcmRlciwgYW5kIG1ha2VzIExERkxBR1MgdXNhYmxlIGFnYWluLgoJICBCYXNlZCBvbiBwYXRjaCBieSBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgkgIEZpeGVzICM2MTU2OTcuCgoyMDEwLTA0LTE0IDE4OjEzOjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiB0cmFuc2Zvcm1fY2FwcyA6IFdlIGNhbiBvbmx5IGNvbnZlcnQgQVlVViB0byB4UkdCCgkgIFdlIHdlcmUgcHJldmlvdXNseSBzdGF0aW5nIHRoYXQgd2UgY291bGQgY29udmVydCBBWVVWL0k0MjAvWVYxMiB0byB4UkdCLgoKMjAxMC0wNC0xMyAwMDoxNDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyByZW1vdmUgLVdhZ2dyZWdhdGUtcmV0dXJuIGZyb20gd2FybmluZyBmbGFncwoJICBJdCBjYXVzZXMgcHJvYmxlbXMgd2l0aCBPYmplY3RpdmUtQyBjb2RlIGxpa2UgaW4gb3N4dmlkZW9zaW5rLgoJICBGaXhlcyAjNjEzNjYzLgoKMjAxMC0wNC0xMiAxODoyMjozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogSWdub3JlIG9zeCBhdWRpby92aWRlbyBzcmMvc2lua3MgaW4gc3RhdGUgY2hhbmdlIHRlc3RzCgkgIEFuZCBtYWtlIHRoZSBsaW5lIHJlYWRhYmxlIGZvciB0aG9zZSBtZXJlIG1vcnRhbHMgdGhhdCBkb24ndCBvd24gYSAzMCIgc2NyZWVuCgoyMDEwLTA0LTEyIDE4OjAzOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIGNoZWNrOiBEb24ndCByZS1kZWNsYXJlICdHTGlzdCAqYnVmZmVycycgaW4gdGhlIHRlc3RzCgkgIEl0J3MgYW4gZXh0ZXJuYWwgd2hpY2ggbGl2ZXMgaW4gZ3N0Y2hlY2suYy4gUmVkZWNsYXJpbmcgaXQgbWFrZXMgc29tZQoJICBjb21waWxlcnMvYXJjaGl0ZWN0dXJlcyB0aGluayB0aGUgJ2J1ZmZlcnMnIGluIHRoZSBpbmRpdmlkdWFsIHRlc3RzIGFyZQoJICBhIGRpZmZlcmVudCBzeW1ib2wuLi4gYW5kIHRoZXJlZm9yZSB3ZSBlbmQgdXAgY29tcGFyaW5nIGhvbG9kZWNrcyB3aXRoCgkgIG9yYW5nZXMuCgoyMDEwLTA0LTEyIDE0OjUwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXgsIHF0ZGVtdXg6IG1pbm9yIGNvZGUgY2xlYW51cCBpbiBhdmNfbGV2ZWxfaWRjX3RvX3N0cmluZygpCgkgIERvIHRoZSBzYW1lIHdpdGggc2xpZ2h0bHkgZmV3ZXIgTE9DLgoKMjAxMC0wNC0xMiAxMjo0MDoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgLVd1bmRlZiBmbGFnCgkgIEZpeGVzICM2MTUxNjEKCjIwMTAtMDQtMTIgMTE6NDM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggSTQyMC0+QVlVViBjb3B5aW5nCgoyMDEwLTA0LTEyIDExOjI1OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQ29ycmVjdGx5IGNsYW1wIGZyYW1lL2JhY2tncm91bmQgYWxwaGFzIHRvIFswLDI1NV0gYmVmb3JlIHdyaXRpbmcgdGhlbQoKMjAxMC0wNC0xMiAxMToxNjo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrOiBJZ25vcmUganBlZ2VuYyB0ZXN0CgoyMDEwLTA0LTExIDEzOjE0OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IE9ubHkgY2hlY2sgaW50ZXJsYWNlZCBmbGFnIGluIHNpbmsgY2FwcwoJICBGaXhlcyAjNjE1NDYwLgoKMjAxMC0wNC0wOSAxMToyMTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJhMzNkMWYgdG8gZmM4NTg2NwoKMjAxMC0wNC0wOCAxODowNTo0NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBkb2NzOiBkbyBwcm9wZXIgZXNjYXBpbmcgZm9yICIlIgoKMjAxMC0wNC0wOCAxNzo1MDo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmg6CgkgIHJ0c3A6IHJlbW92ZSBvYnNvbGV0ZSBnb29nbGUgZXh0ZW5zaW9uCgkgIFRoaXMgd2FzIG5vdCBidWlsZCBmb3IgYSB3aGlsZSBhbmQgY2FuIGJlIHJlbW92ZWQuCgoyMDEwLTA0LTA4IDE3OjQyOjUyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogbW92ZSB0d28gc3ltYm9scyB0byBwcml2YXRlIHNlY3Rpb24KCjIwMTAtMDQtMDggMTc6MzY6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZmx4ZGVjIGRvY3MKCjIwMTAtMDQtMDggMTc6MTc6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgZG9jczogZW5hYmxlIHRoZSAyIG9mIDY1IHJ0cCBlbGVtZW50cyBpbiB0aGUgZG9jcwoKMjAxMC0wNC0wOCAxMTo1NDoxOSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBEb24ndCB3YWl0IGlmIHdlJ3JlIGxhdGUKCSAgSW4gZmFjdCwgZHVlIHRvIHNpZ25lZG5lc3MgaXNzdWVzLCBhIG5lZ2F0aXZlIGRlbGF5IHdvdWxkIGJlIGNoYW5nZWQgdG8KCSAgYW4gYWxtb3N0IGluZmluaXRlIHdhaXQgY2F1c2luZyBzaG91dDJzZW5kIHRvICJsb2NrIHVwIi4KCSAgUmVwb3J0ZWQgYnkgQ2hyaXN0b3BoZXIgTW9udGdvbWVyeS4KCjIwMTAtMDQtMDggMTY6NTY6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIGRvY3M6IHVwZCAtPiB1ZHAgYW5kIHZvaWxhIGl0IHNob3dzIHVwIGluIHRoZSBkb2NzCgoyMDEwLTA0LTA4IDE2OjUxOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgZG9jczogZml4IGRvYyBibG9iIHN5bnRheAoKMjAxMC0wNC0wOCAxNjo1MTowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCAoc3BhcnNlKSBkb2NzIGZvciBhdXBhcnNlIGVsZW1lbnQKCjIwMTAtMDQtMDggMTQ6NDA6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgdmlkZW9ib3ggc3ltYm9scwoKMjAxMC0wNC0wOCAxNDo0MDoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgZHludWRwc2luayB1bnRpbCBzb21lb25lIGRvY3VtZW50cyBpdAoKMjAxMC0wNC0wOCAxNDozNDo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogbWFrZSBkZWJ1ZyBjYXRlZ29yeSBzdGF0aWMKCjIwMTAtMDQtMDggMTQ6Mjk6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx4ZGVtdXg6IHJlbmFtZSBHc3RGTFZEZW11eCBmb3IgR3N0Rmx2RGVtdXgKCjIwMTAtMDQtMDggMTQ6MjM6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIGZsdmRlbXV4OiBtZXJnZSBmbHZwYXJzZSBpbnRvIHRoZSBkZW11eGVyIGFuZCBtYWtlIGZ1bmN0aW9uIHN0YXRpYwoJICBObyBuZWVkIHRvIGhpZGUgY2VydGFpbiBmdW5jdGlvbiBpbiB0aGUgZG9jcy4gQWxsb3dzIHRvIGRvIG1vcmUgY2xlYW51cHMuCgoyMDEwLTA0LTA4IDEzOjEzOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogQWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDQtMDggMTQ6MDA6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiB2NGwyYnVmZmVyIHBvb2wgaXMgbm93IGEgc2VwYXJhdGUgb2JqZWN0LCByZW1vdmUgdGhlbSBmcm9tIHY0bDJzcmMgZG9jcwoKMjAxMC0wNC0wOCAxMzo1ODoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHJlbW92ZSBub24gZXhpc3RpbmcgZmxhZ3MgYW5kIGFkZCB0d28gaW50ZXJuYWwgbWV0aG9kcwoJICBJZiBzb21lb25lIGNhcmVzIGZsdnBhcnNlIGNvdWxkIGJlIG1lcmdlZCBpbnRvIGZsdmRlbXV4LgoKMjAxMC0wNC0wOCAxMzo1NzowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiByZW1vdmUgcHJvdG90eXBlIGZvciBub24gZXhpc3RpbmcgZnVuY3Rpb24KCSAgVGhlcmUgaXMgbm8gZnVuY3Rpb24gYnkgdGhhdCBuYW1lIGFueXdoZXJlLgoKMjAxMC0wNC0wOCAxMjo1Njo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgIGRvY3M6IFVwZGF0ZSBpbnNwZWN0ZWQgcGx1Z2luIGluZm9ybWF0aW9uCgoyMDEwLTA0LTA4IDEyOjU2OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEltcHJvdmUgZG9jcyBhIGJpdAoKMjAxMC0wNC0wOCAxMzo0Nzo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBlZmZlY3R0diBkZWZpbmVzIGFuZCByZW9yZGVyIGxpc3QKCjIwMTAtMDQtMDggMTM6NDE6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiByZW1vdmUgdGhyZWUgZW50cmllcyB0aGF0IGFyZSBub3QgZXhwb3J0ZWQgZnJvbSB0aGUgaGVhZGVycyBhbnltb3JlCgoyMDEwLTA0LTA4IDEzOjQwOjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogbW92ZSBtYWNybyB0byBjIHNvdXJjZQoJICBPbmUgbGVzcyBzZW1pIHB1YmxpYyBzeW1ib2wgd2l0aG91dCBuYW1lc3BhY2UgcHJlZml4IGluIHRoZSBoZWFkZXJzLgoKMjAxMC0wNC0wOCAxMzo0MDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiByZW1vdmUgdW51c2VkIGRlZmluZXMKCjIwMTAtMDQtMDggMTM6MjM6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBmaXggbGFzdCBjb21taXQKCSAgVXNlIGEgbG9jYWwgZGVmaW5lIGZvciBXQVZFRk9STUFUX0VYIGJhc2VkIG9uIHRoZSBzaXplIG9mIHRoZSBzdHJ1Y3QgKyAyIGJ5dGVzCgkgIGZvciB0aGUgZXh0ZW5zaW9uIHNpemUuCgoyMDEwLTA0LTA4IDEzOjE2OjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXg6IHJlbW92ZSB1bnVzZWQgZGVmaW5lCgoyMDEwLTA0LTA4IDEzOjAzOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL3JpZmYuaDoKCSAgd2F2ZW5jOiByZW1vdmUgaW50ZXJuYWwgY29weSBvZiByaWZmLmggYW5kIHVzZSByaWZmLWxpYnJhcnkgaW5zdGVhZC4KCSAgV2UgZG9uJ3QgdXNlIGFueSBmdW5jdGlvbiB5ZXQsIGp1c3QgdGhlIHN0cnVjdHVyZXMgYW5kIGRlZmluZXMuCgoyMDEwLTA0LTA4IDEyOjU2OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHVzZSByaWZmIGxpYiBtb3JlCgkgIFJlbW92ZSBCSVRNQVBJTkZPSEVBREVSIGFuZCB1c2UgdGhlIG9uZSBmcm9tIHJpZmYtbGliLiBBbHNvIHJlbW92ZSB0aGUKCSAgV0FWRUZPUk1BVEVYX1NJWkUgZGVmaW5lIGFuZCB1c2UgYSBzaXplb2YgdG9nZXRoZXIgd2l0aCB0aGUgcmVzcGVjdGl2ZSBzdHJ1Y3QuCgkgIEJlc2lkZXMgYmV0dGVyIGNvZGUgcmV1c2UgdGhpcyBsZXNzZW5zIHRoZSB1bnVuc2VkIHN5bWJvbHMgaW4gdGhlIGRvY3MuCgoyMDEwLTA0LTA4IDEyOjE0OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZG9jczogdHJpbSBzZWN0aW9ucyBmaWxlIG1vcmUKCSAgUmVuYW1lIHNvbWUgZGVmaW5lcyBhbmQgbW92ZSBzb21lIGl0ZXNtIHRvICouYyBmaWxlcy4gQWRkIG1vcmUgaXRlbXMgdG8gaW50ZXJuYWwKCSAgc3Vic2VjdGlvbi4KCjIwMTAtMDQtMDggMTE6MTk6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzdzogdHJpbSB0aGUgc2VjdGlvbiBmaWxlCgoyMDEwLTA0LTA4IDEwOjI2OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIHY0bDJzaW5rIHRvIGRvY3MKCjIwMTAtMDQtMDggMTA6MTU6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgZG9jczogZml4IHhtbAoJICBUaGUgdGl0bGUgdGFnIGJlbG9uZ3MgaW50byB0aGUgcmVmc2VjdDIuCgoyMDEwLTA0LTA3IDE3OjQzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFlWMTIsIGluY2x1ZGluZyBjb252ZXJzaW9uIHN1cHBvcnQgZm9yIEk0MjAvQVlVVgoKMjAxMC0wNC0wNyAxNzoyNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBncmF5c2NhbGUgaW5wdXQvb3V0cHV0CgkgIFRoaXMgZG9lc24ndCBkbyBhbnkgY29udmVyc2lvbiBhbmQgaXMgdGhlIG5leHQgc3RlcCB0bwoJICByZXBsYWNpbmcgdmlkZW9jcm9wIGJ5IHN1cHBvcnRpbmcgYWxsIHJlbWFpbmluZyBmb3JtYXRzCgkgIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDEwLTA0LTA3IDE2OjI0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBmaWxsaW5nIHRoZSBiYWNrZ3JvdW5kIHdpdGggcmVkLCB5ZWxsb3cgYW5kIHdoaXRlCgoyMDEwLTA0LTA3IDE2OjExOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGRpcmVjdCBSR0I8LT5BWVVWIGNvbnZlcnNpb24KCjIwMTAtMDQtMDcgMTY6MTE6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggUkdCMjQgZmlsbGluZwoKMjAxMC0wNC0wNyAxNjowNjo1NCArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogaGFuZGxlIHByb3Blcmx5IFNUQVBzCgkgIGluIHJ0cGgyNjRkZXBheS5jLCBsaW5lcyA1NzctNTc2LCBOQUxVLXR5cGUgMjQgKFNpbmdsZS1UaW1lIEFnZ3JlZ2F0aW9uCgkgIFBhY2tldCkgaXMgaGFuZGxlZCBpbiBmYWxsLXRocm91Z2ggYXMgTkFMVS10eXBlIDI2ICh1bmhhbmRsZWQpLgoJICBUaGlzIGxlYWRzIGhpZ2ggcXVhbGl0eSBoMjY0IHN0cmVhbXMgc3VjaCBhczoKCSAgcnRzcDovL3N0cmVhbS55bGUubW9iaS95bGUvYXJlZW5hL01FRElBX0UwMzQyNjU3X3AzLm1wNAoJICB0byBmYWlsIHdpdGggIk5BTCB1bml0IHR5cGUgMjQgbm90IHN1cHBvcnRlZCB5ZXQiIChidXQgaXQncyBhY3R1YWxseQoJICBzdXBwb3J0ZWQpLCBhbmQgdGh1cyB0byBjbG9zZSBhbnkgc3RyZWFtIHdoaWNoIGNvbnRhaW5zIFNUQVBzLgoJICBUaGUgcHJvcG9zZWQgb25lLWxpbmVyIHBhdGNoIGZpeGVzIHRoZSBpc3N1ZS4KCSAgRml4ZXMgIzYxNTA1MS4KCjIwMTAtMDQtMDcgMTM6NDc6MDIgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgIGJ1aWxkOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZml4IHdhcm5pbmdzIGZvciBhbGwgcGx1Z2lucyB0aGF0IHVzZTogc2V0bG9jYWxlIChMQ19BTEwuLi4KCjIwMTAtMDQtMDcgMTM6MzE6MTMgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJICBhdmk6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTMxIDE3OjU0OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZXN0cmljdCByZXN5bmNpbmcgdG8gc3VidGl0bGUgdHJhY2tzCgkgIFRoaXMgc2hvdWxkIHByZXZlbnQgc2tpcHBpbmcgYXVkaW8gb3IgdmlkZW8gaW4gbm90IHNvIHdlbGwgaW50ZXJsZWF2ZWQKCSAgY2FzZXMuCgkgIEZpeGVzICM2MTQ0NjAuCgoyMDEwLTA0LTA2IDEzOjIxOjUxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogUG9zdCBhdmcuL21heC4gYml0cmF0ZSB0YWdzIGZvciBILjI2NAoJICBUaGlzIHJlYWRzIHRoZSBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGVzIGZyb20gdGhlICdidHJ0JyBhdG9tIGlmCgkgIGF2YWlsYWJsZSwgYW5kIHB1c2hlcyB0aGVzZSBhcyB0YWdzLAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTI3CgoyMDEwLTA0LTAzIDIzOjM5OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHJhY3kgc2h1dGRvd24KCSAgS2VlcCBhIHJlZiBvZiBwdWxzZXNpbmsgZm9yIGRlZmVycmVkIG1haW5sb29wIGludm9jYXRpb24uIEZpeGVzICM2MTQ3NjUKCjIwMTAtMDQtMDUgMTU6NDg6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAgdGVzdHM6IGpwZWdlbmM6IEFkZHMgc29tZSBnZXRjYXBzIHRlc3QKCSAgQWRkcyB0ZXN0cyBmb3IgdGhlIGpwZWdlbmMgZ2V0Y2FwcyBmdW5jdGlvbiwgdG8gYXZvaWQKCSAgaGF2aW5nIGl0IHJldHVybmluZyBub24tc3Vic2V0IGNhcHMKCjIwMTAtMDQtMDUgMTQ6NTE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBGaXggZ2V0Y2FwcyBmdW5jdGlvbgoJICBXaGVuIGNyZWF0aW5nIHRoZSBjYXBzIGFsbG93ZWQgdG8gdXBzdHJlYW0gdXNpbmcgZG93bnN0cmVhbQoJICByZXN0cmljdGlvbnMsIHVzZSBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMgYXMgdGhhdCBoYXMgdGhlCgkgIHVzYWJsZSBmb3JtYXRzIGFuZCBwdXRzIGludG8gaXQgdGhlIHdpZHRoLCBoZWlnaHQgYW5kIGZyYW1lcmF0ZQoJICBmaWVsZHMuIFRoaXMgYXZvaWRzIGdldHRpbmcgZXJyb3JzIGFib3V0IGdldGNhcHMgcmV0dXJuaW5nCgkgIG5vbiBzdWJzZXQgY2FwcyBvZiBpdHMgcGFkIHRlbXBsYXRlLgoJICBUaGlzIGVycm9yIHNob3dlZCB1cCBvbiB0aGUgbWV0YWRhdGEgcGx1Z2luIHVuaXQgdGVzdCBpbiAtYmFkLgoKMjAxMC0wNC0wNSAxNzozMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBjb252ZXJzaW9uIGZyb20gMyBieXRlIFJHQiB0byBBUkdCCgoyMDEwLTA0LTA1IDE3OjA4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIDMgYnl0ZSBSR0IgZm9ybWF0cyBhbmQgcmVmYWN0b3IgUkdCIGNvZGUgYSBiaXQKCjIwMTAtMDQtMDUgMTU6NTE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGFsbCAzMiBiaXQgUkdCIGZvcm1hdHMKCSAgLi4uaW5jbHVkaW5nIGNvbnZlcnNpb24gYmV0d2VlbiB0aGVtLgoKMjAxMC0wNC0wNSAxNToyNjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcHJvcGVydHkgdG8gY29udHJvbCB0aGUgYnVmZmVyaW5nIG1ldGhvZAoJICBBZGQgYSBwcm9wZXJ0eSB0byBjb250cm9sIGhvdyB0aGUgaml0dGVyYnVmZmVyIHBlcmZvcm1zIHRpbWVzdGFtcGluZyBhbmQKCSAgYnVmZmVyaW5nLgoKMjAxMC0wNC0wNCAxOTowMjo0MSAtMDMwMCAgQW5kcsOpIERpZWIgTWFydGlucyA8YW5kcmUuZGllYkBnbWFpbC5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBSZW1vdmluZyB1bnVzZWQgdmFyaWFibGUKCSAgRml4ZXMgYnVnICM2MTQ4NDMuCgoyMDEwLTA0LTA0IDIwOjMxOjM4IC0wMzAwICBBbmRyw6kgRGllYiBNYXJ0aW5zIDxhbmRyZS5kaWViQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogc2hvdWxkIG5vdCByZXR1cm4gY2FwcyBBTlkgYmFzZWQgb24gZG93bnN0cmVhbQoJICBXaGVuIGRvd25zdHJlYW0gaGFzIGEgc2luayBwYWQgd2l0aCBBTlkgY2FwcywganBlZ2VuYyBzaG91bGQKCSAgdHJlYXQgaXQgdGhlIHNhbWUgYXMgTlVMTCBhbmQgcmV0dXJuIGl0cyB0ZW1wbGF0ZSBjYXBzLgoJICBGaXhlcyAjNjE0ODQyCgoyMDEwLTA0LTA0IDIyOjI4OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3M6IGFkZCBmaXhtZSBjb21tZW50CgoyMDEwLTA0LTA0IDIyOjI2OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHVzZSAkKGJ1aWxkZGlyKSBmb3IgaW5zdGFsbGluZyBnZW5lcmF0ZWQgZmlsZXMKCjIwMTAtMDQtMDQgMjI6MDc6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJjb25maWd1cmU6IGZpeCBvdXQgb2Ygc291cmNlIGRpciBidWlsZHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2EwYmQzYThjZWEzMWY5ZWEwZGY3OThhODNkMzAwN2U2OTY5NThiYS4KCjIwMTAtMDQtMDQgMjE6MzY6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggb3V0IG9mIHNvdXJjZSBkaXIgYnVpbGRzCgkgIFJlbW92ZSBub24tZXhpc3RpbmcgZ3N0LWxpYnMgZnJvbSBpbmNsdWRlIGFuZCBsaWJyYXJ5LXBhdGhzJy4KCSAgRml4ZXMgIzYxNDM1NCBldmVuIG1vcmUuCgoyMDEwLTA0LTAxIDEwOjE5OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogUmVhZCByZXBsYXlnYWluIHBlYWsvZ2FpbiB0YWdzCgkgIE1ha2UgcXRkZW11eCByZWFkIHRhZ3MgcmVwbGF5Z2FpbiB0YWdzIHRoYXQgYXJlIHdpdGhpbiAnLS0tLScgYXRvbXMuCgkgIEZpeGVzICM2MTQ0NzEKCjIwMTAtMDQtMDEgMTg6NDg6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgbWF0cm9za2E6IEV4cG9ydCBoLjI2NCBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgcmVwbGljYXRlcyB0aGUgY29kZSBpbiBxdGRlbXV4IHRvIGV4cG9ydCB0aGUgaC4yNjQgcHJvZmlsZSBhbmQKCSAgbGV2ZWwgaW4gdGhlIHN0cmVhbSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTA0LTAyIDE4OjUwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9mZi1ieS1vbmUgaW50cm9kdWNlZCBpbiBsYXN0IGNvbW1pdAoKMjAxMC0wNC0wMSAxODozODozOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1pbm9yIHJlZmFjdG9yIG9mIHRoZSBjb2RlCgkgIFRoaXMgd2lsbCBtYWtlIGl0IGVhc2llciB0byBjbHVtcCB0b2dldGhlciBjb21tb24gY29kZSB3aGVuIGNvcHlpbmcgdG8KCSAgbWFzdHJvc2thZGVtdXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDQtMDEgMTg6MTc6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgaC4yNjQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIGguMjY0IGxldmVsIGluIHRoZSBzdHJlYW0gY2FwcyAoYXMgYSBzdHJpbmcpIHdoaWNoIGNhbgoJICBiZSB1c2VkIHRvIG1hdGNoIGEgZGVjb2Rlciwgb3IgYXMgbWV0YWRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDQtMDEgMTY6NTg6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgaC4yNjQgcHJvZmlsZSBpbiBjYXBzCgkgIFRoaXMgYWRkcyB0aGUgaC4yNjQgcHJvZmlsZSBmb3IgYSBnaXZlbiBzdHJlYW0gaW50byBjYXBzLiBUaGlzIGNhbgoJICAoZXZlbnR1YWxseSkgYmUgdXNlZCB0byBzZWxlY3QgYW4gYXBwcm9wcmlhdGUgZGVjb2RlciBhbmQgYXMgbWV0YWRhdGEKCSAgZm9yIGNlcnRhaW4gYXBwbGljYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTAzLTMxIDE0OjQzOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSByZXZlcnNlIHBsYXliYWNrIGNvZGUgcGF0aAoKMjAxMC0wMy0zMSAxNDo0MDo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogc3VwcG9ydCAocHVsbCBtb2RlKSBuZWdhdGl2ZSBzZWVrIHJhdGUKCjIwMTAtMDMtMjkgMTU6Mjc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogYWxzbyBjaGVjayBmb3Igc2VnbWVudCBzdG9wIGZvciBub24tc2VnbWVudC1zZWVrCgoyMDEwLTAzLTMwIDE2OjUwOjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwdXNoIGNvcnJlY3RseSBzaXplZCBmbGFjIGhlYWRlciBidWZmZXJzCgkgIEZpeGVzICM2MTQzNTMuCgoyMDEwLTAzLTMwIDA3OjM0OjA3IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBmaXggY29tcGlsZXIgd2FybmluZyB3aGVuIHNyY2RpciAhPSBidWlsZGRpcgoJICBGaXhlcyAnLi4vLi4vZ3N0LWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknIHdhcm5pbmcvZXJyb3Igd2hlbgoJICB0aGUgYnVpbGQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgc291cmNlIGRpcmVjdG9yeS4KCSAgRml4ZXMgIzYxNDM1NC4KCjIwMTAtMDMtMzAgMDE6NTA6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBmaXggcGFyc2luZyBvZiB1bnN5bmNlZCBmcmFtZXMgd2l0aCBkYXRhIGxlbmd0aCBpbmRpY2F0b3IKCSAgRml4ZXMgYnVnICM2MTQxNTguCgoyMDEwLTAzLTI5IDExOjAwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QvTWFrZWZpbGUuYW06CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBidWlsZCBwbHVnaW5zIGFuZCBleGFtcGxlcyBpbiBwYXJhbGxlbCB3aGVyZSBwb3NzaWJsZQoKMjAxMC0wMy0xOCAxODo0OToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IHJlZHVuZGFudCBmdW5jdGlvbiByZWRlY2xhcmF0aW9uIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFJlLWFwcGx5IHRoaXMgYWdhaW4gYXMgd2VsbCwgYXMgaXQgd2FzIHVuZG9uZSBieSB0aGUgcHJldmlvdXMgY29tbWl0Li4KCjIwMTAtMDMtMTggMTQ6MzE6MzUgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgkgIEFwcGx5IHRoaXMgYWdhaW4sIGFzIGl0IHdhcyBvdmVyd3JpdHRlbiBieSB0aGUgcHJldmlvdXMgY29tbWl0LiBNZXJnaW5nCgkgIGlzIGhhcmQsIGFwcGFyZW50bHkuCgoyMDEwLTAzLTI2IDIzOjIwOjEwICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBJbXBsZW1lbnQgU1BESUYgc3VwcG9ydCBmb3IgQUMzLgoJICBEZXRlY3QgaWYgdGhlIHNvdW5kIGNhcmQgc3VwcG9ydHMgU1BESUYgcGFzc3RocnUgb2YgQUMzIGFuZCBhZGQKCSAgbmVjZXNzYXJ5IGNvZGUgdG8gc3VwcG9ydCB0aGF0IGxpa2UgYWxzYXNpbmsuCgoyMDEwLTAzLTI2IDE3OjA2OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIGNydWZ0IGFsZXJ0IGZvciBjb21tb24vc2hhdmUqCgoyMDEwLTAzLTI2IDE2OjUwOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2xhbmcuaDoKCSAgcXRkZW11eDogZXh0cmFjdCBzdHJlYW0gbGFuZ3VhZ2UgaW4gbW9yZSBjYXNlcwoJICBUaGUgMTYtYml0IGxhbmd1YWdlIGNvZGUgY2FuIGJlIGVpdGhlciBhIHBhY2tlZCBJU08tNjM5LTJUIGNvZGUKCSAgb3IgYSAnTWFjaW50b3NoIGxhbmd1YWdlIGNvZGUnLiBIYW5kbGUgdGhlIGxhdHRlciB0eXBlIG9mIGxhbmd1YWdlCgkgIGNvZGVzIGFzIHdlbGwsIGFuZCBtYXAgdG8gdGhlIG1hdGNoaW5nIElTTyBjb2RlLiBMYXN0bHksIGZpeAoJICBsYW5ndWFnZSBjb2RlIHBvc3RpbmcgZm9yIGxhbmd1YWdlICMwLCB3aGljaCBpcyB2YWxpZCBhbmQgc3RhbmRzCgkgIGZvciAnRW5nbGlzaCcuCgkgIEZpeGVzICM2MTQwMDEuCgoyMDEwLTAzLTI2IDE0OjU1OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGFkZCBzb21lIEZJWE1FcwoKMjAxMC0wMy0yNiAxNDo0MjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IFNhbXBsZSByYXRlIG1hcmtlcnMgMHgwMSwgMHgwMiBhbmQgMHgwMyBhcmUgdmFsaWQKCSAgVGhleSBhcmUgZm9yIDg4LjJrSHosIDE3Ni40a0h6IGFuZCAxOTJrSHouCgoyMDEwLTAzLTI2IDE0OjE2OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogVGFrZSBzYW1wbGVyYXRlLCB3aWR0aCBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzIGZyb20gdGhlIFNUUkVBTUlORk8KCSAgLi4uYW5kIHVwZGF0ZSBpdCBmcm9tIHRoZSBmcmFtZSBoZWFkZXJzIGlmIGl0IHNob3VsZCBjaGFuZ2UgZm9yIHNvbWUgcmVhc29uLgoJICBUaGlzIGFsbG93cyBwbGF5YmFjayBvZiBmaWxlcyB3aXRoIG9kZCBzYW1wbGUgcmF0ZXMuCgoyMDEwLTAzLTI2IDEzOjQ1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEFZVVYtPkk0MjAgZnJhbWUgY29weWluZwoKMjAxMC0wMy0yNiAxMzozNDoxNyArMDEwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IFNldCBjb3JyZWN0IGdldGNhcHMvc2V0Y2FwcyBmdW5jdGlvbnMgb24gc3JjcGFkcyBhbmQgc2ltcGxpZnkgdGhlbQoJICBUaGlzIGZpeGVzIGRvd25zdHJlYW0gbmVnb3RpYXRpb24sIHVwc3RyZWFtIG5lZ290aWF0aW9uIGlzbid0IHJlYWxseQoJICBzdXBwb3J0ZWQgYnkganBlZ2VuYyB5ZXQuCgkgIEZpeGVzIGJ1ZyAjNjEzNzg5LgoKMjAxMC0wMy0yNiAxMDozMToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBBbHdheXMgZmlsbCB0aGUgY29tcGxldGUgZnJhbWUgaWYgYm9yZGVycyBzaG91bGQgYmUgYWRkZWQKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgZG9uJ3QgZ2V0IGFueSBnYXBzIGJldHdlZW4gcmVjdGFuZ2xlcyBiZWNhdXNlCgkgIG9mIGNocm9tYSBzdWJzYW1wbGluZyBmb3IgZXhhbXBsZS4KCjIwMTAtMDMtMTggMjI6MTI6NDAgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBpbnRlbC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBEb24ndCBjYWxsIGNvbmZpZ3VyZSB3aXRoIC0tZW5hYmxlLXBsdWdpbi1kb2NzCgkgIGNvbmZpZ3VyZSBnaXZlcyBhIG5pY2Ugd2FybmluZzoKCSAgY29uZmlndXJlOiBXQVJOSU5HOiB1bnJlY29nbml6ZWQgb3B0aW9uczogLS1lbmFibGUtcGx1Z2luLWRvY3MKCSAgYW5kIGluZGVlZCwgSSBjb3VsZCBub3QgZmluZCBhbnl0aGluZyBpbiB0aGUgY29uZmlndXJlLmFjIG9yIHRoZSBtNAoJICBtYWNyb3MgdGhhdCB3b3VsZCBhbGxvdyBlbmFibGluZyB0aGF0IG9wdGlvbi4gUmVtb3ZlIGl0IHRoZW4uCgoyMDEwLTAzLTIyIDE2OjU4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IFJlZmFjdG9yIGJveGluZyB0byByZWR1Y2UgY29kZSBkdXBsaWNhdGlvbgoKMjAxMC0wMy0yMiAxMzoxMzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFNpbXBsaWZ5IGNhcHMgdHJhbnNmb3JtYXRpb24KCjIwMTAtMDMtMjEgMjA6MTQ6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgY29uc3QgcXVhbGlmaWVyIHRvIHRoZSBzb3VyY2UgZnJhbWUgZGF0YQoKMjAxMC0wMy0yMyAxNzo0Nzo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSBzZWVrIHdoZW4gaW4gcHJvcGVyIHN0YXRlCgkgIC4uLiBhbmQgZGF0YSBzdHJ1Y3R1cmVzIGNhbiBiZSB0aHJlYWQtc2FmZWx5IGFjY2Vzc2VkLgoJICBTZWUgIzYwMTYxNy4KCjIwMTAtMDMtMjMgMTc6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IHN1cHBvcnQgKHB1bGwgbW9kZSkgbmVnYXRpdmUgc2VlayByYXRlCgoyMDEwLTAzLTE4IDE1OjI5OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogdHJhY2sgY2xpcCBkdXJhdGlvbiBpbiBzZWdtZW50CgoyMDEwLTAzLTE4IDEzOjM5OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcmVmZXIgaW5kZXggb2YgdmlkZW8gdHJhY2sgdG8gcGVyZm9ybSBzZWVraW5nCgoyMDEwLTAzLTI0IDE2OjE5OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB0eXBvIGluIGhlYWRlciB2YWxpZGF0aW9uIGNoZWNrCgoyMDEwLTAzLTI0IDE4OjUzOjIwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1NWNkNTE0IHRvIGMxZDA3ZGQKCjIwMTAtMDMtMjMgMTk6NDY6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgIGljeWRlbXV4OiBIYW5kbGUgdXBzdHJlYW0gQ29udGVudC1UeXBlLgoJICBBbGxvd3MgdXMgdG8gaGFuZGxlIFNob3V0Q2FzdCBUViAoTlNWKSBzdHJlYW1zLgoJICBJZiB0aGUgdXBzdHJlYW0gY2FwcyBoYXZlIHRoZSAnY29udGVudC10eXBlJyBmaWVsZCBzZXQgdG8gdmlkZW8vbnN2LCB0aGVuCgkgIHdlIHNob3J0Y3V0IHRoZSB0eXBlZmluZGluZyBhbmQgc2V0IHZpZGVvL3gtbnN2IGRpcmVjdGx5LgoKMjAxMC0wMy0yMyAxOTozMDo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBTZXQgdGhlIENvbnRlbnQtVHlwZSBIVFRQIGhlYWRlciBvbiB0aGUgY2Fwcy4KCSAgRmlyc3Qgc3RlcCB0byBmaXhpbmcgU2hvdXRDYXN0IChOU1YpIHN0cmVhbWluZy4KCjIwMTAtMDMtMjMgMDI6Mzg6NDMgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeDogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIEFkZGVkIHZvaWQgcGFyYW1ldGVyIHRvIGF2b2lkIG9sZC1zdHlsZSBkZWZpbml0aW9uIHdhcm5pbmcuCgkgIEFkZGVkIC1Xbm8tYWdncmVnYXRlLXJldHVybiBmbGFnIHRvIGF2b2lkIGVycm9uZW91cyBhZ2dyZWdhdGUgcmV0dXJuIHdhcm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM2NjMKCjIwMTAtMDMtMjMgMDA6MTU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiB1c2UgbG9vcCB0ZXN0IGZvciBsb25nLXJ1bm5pbmcgdmlkZW9jcm9wIGNoZWNrCgkgIFRoaXMgc2hvdWxkIGF2b2lkIHRpbWVvdXRzIG9uIHNsb3cgbWFjaGluZXMuCgkgIEZpeGVzICM1OTc3MzkuCgoyMDEwLTAzLTIyIDE3OjI2OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgaTE4bjogYnVpbGQgZml4ZXM6ICNpZiAtPiAjaWZkZWYgZm9yIEVOQUJMRV9OTFMKCjIwMTAtMDMtMjIgMTc6MjU6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgaTE4bjogZml4IHRoZSBidWlsZAoJICBEb24ndCBpbmxjdWRlIGxvY2FsZS5oIHdoaWNoIHdlIGluY2x1ZGUgaW4gZ2V0dGV4dC5oIGlmIG5lZWRlZC4gR3VhcmQgdGhlCgkgIGlubGN1ZGUgbGlrZSB3ZSBkbyBpbiB0aGUgc2ltaWxsYXIgaGVhZGVycyBpbiBjb3JlLgoKMjAxMC0wMy0yMSAxNzo0NjowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICAtV29sZC1zdHlsZS1kZWZpbml0aW9uIGlzIG5vdCB2YWxpZCBmb3IgQysrCgoyMDEwLTAzLTIxIDE3OjM2OjI4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IEluY2x1ZGUgaGVhZGVycyBpbnN0ZWFkIGZvIGRlZmluaW5nIGZ1bmN0aW9ucwoKMjAxMC0wMy0yMSAxNzoyNDoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgYSBsYXJnZSBzZXQgb2Ygd2FybmluZyBmbGFncy4KCSAgTm9uZSBvZiB0aGVtIHRyaWdnZXIgd2FybmluZ3MgYW55bW9yZSwgc28gbm90aGluZyBuZWVkZWQgdG8gYmUgZml4ZWQuCgoyMDEwLTAzLTIxIDE3OjIzOjQzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tL2lmcy5jOgoJKiBnc3QvZ29vbS9pZnMuaDoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmg6CgkgIE1ha2UgZ29vbSBub3QgdXNlIGFnZ3JlZ2F0ZSByZXR1cm5zCgoyMDEwLTAzLTIxIDE1OjE3OjQ2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uIGZsYWcKCSAgQW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjAgMDA6NTQ6MTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hhbC9oYWwuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MgdG8gdGhlIGNvbmZpZ3VyZSBmbGFncwoJICAuLi4gYW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMjEgMTE6MTQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlbWFpbmluZyBBUkdCIGZvcm1hdHMKCSAgQW5kIGhhbmRsZSBBWVVWIGxpa2UgQVJHQiwgd2UgbmVlZCBubyBZVVYgc3BlY2lmaWMgaGFuZGxpbmcuCgoyMDEwLTAzLTIwIDIxOjMwOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFJHQiBhbmQgeFJHQiBpbnB1dAoKMjAxMC0wMy0yMCAyMToxMzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBBUkdCIGlucHV0CgoyMDEwLTAzLTIwIDIwOjQ2OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgQVJHQiBvdXRwdXQKCjIwMTAtMDMtMjAgMTA6NDc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIEFCR1IgYW5kIFJHQkEKCSAgTm93IGFsbCA0IEFSR0IgdmFyaWFudHMgYXJlIHN1cHBvcnRlZCBieSB2aWRlb21peGVyLgoKMjAxMC0wMy0yMCAxMDoyNDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IE1vdmUgY2hyb21hIGtleWluZyBwYXJhbWV0ZXJzIGludG8gc3RhY2sgdmFyaWFibGVzIHRvIHByZXZlbnQgbXVsdGlwbGUgcG9pbnRlciBkZXJlZmVyZW5jZXMgcGVyIHBpeGVsCgoyMDEwLTAzLTIwIDEwOjIwOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogTW92ZSBjb2xvciBjb252ZXJzaW9uIG1hdHJpeGVzIGludG8gc3RhY2sgdmFyaWFibGVzIHRvIHNwZWVkIHVwIHByb2Nlc3NpbmcKCjIwMTAtMDMtMjAgMTA6MTg6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBVc2UgY29ycmVjdCBtYXRyaXhlcyB0byBjb252ZXJ0IGNocm9tYSBrZXlpbmcgY29sb3IgdG8gWVVWCgoyMDEwLTAzLTE5IDE4OjUxOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBjb2xvciBtYXRyaXhlcwoKMjAxMC0wMy0xOSAxODoyMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlbmFtZSBhbmQgbW92ZSBmdW5jdGlvbnMgYXMgZnVydGhlciBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBtb3JlIGNvbG9yIGZvcm1hdHMKCjIwMTAtMDMtMTkgMTg6MTg6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogUmVtb3ZlIHNvbWUgdW5uZWVkZWQgY2FsY3VsYXRpb25zIGFuZCBpbnN0YW5jZSBzdHJ1Y3QgZmllbGRzCgkgIEFuZCBkb2N1bWVudCB0aGUgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcyBhIGJpdCBiZXR0ZXIKCjIwMTAtMDMtMTkgMTg6MTE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogU29tZSBwcmVwYXJhdGlvbnMgZm9yIHN1cHBvcnRpbmcgbW9yZSBjb2xvciBmb3JtYXRzCgoyMDEwLTAzLTE5IDE3OjA5OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IGZpeCBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkKCSAgVXNlIHRoZSBzYW1lIHVuaXRzIGZvciBjb21wYXJpbmcgdGhlIGVsYXBzZWQgdGltZSBhZ2FpbnN0IHRoZSBpbnRlcnZhbC4KCSAgRml4ZXMgIzYxMzAxMwoKMjAxMC0wMy0xOSAxNjo0NDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBJbXBsZW1lbnQgY29sb3ItbWF0cml4IHN1cHBvcnQgYW5kIHVzZSBpbnRlZ2VyIGFyaXRobWV0aWMgb25seQoJICBBbHBoYWNvbG9yIG5vdyB1c2VzIHRoZSBjb3JyZWN0IG1hdHJpeGVzIGZvciBTRFRWIGFuZCBIRFRWIGFuZCBjYW4KCSAgY29udmVydCBiZXR3ZWVuIHRoZW0uCgoyMDEwLTAzLTE5IDE1OjAzOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHVzZSBHVHlwZSBmcm9tIC1iYXNlIGFuZCBidW1wIHJlcXVpcmVkIHZlcnNpb24KCSAgVXNlIHRoZSB0cmFuc3BvcnQgZmxhZ3MgR1R5cGUgZnJvbSAtYmFzZSBhbmQgYnVtcCB0aGUgcmVxdWlyZWQgdmVyc2lvbiBvZiAtYmFzZQoJICBiZWNhdXNlIG9mIHRoaXMuCgoyMDEwLTAzLTE5IDAwOjA1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgIGFwZXRhZzogbWlub3IgTWFrZWZpbGUuYW0gc3VyZ2VyeQoJICAtSSQodG9wX3NyY2RpcikvZ3N0LWxpYnMvIGlzIGFscmVhZHkgaW4gJChHU1RfQ0ZMQUdTKQoKMjAxMC0wMy0wNCAyMjoxMjozNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICBkdjEzOTRzcmM6IEZpeCBpbnRlcm5hbCBjbG9jawoJICBGaXhlcyAjNTkzOTEwLgoKMjAxMC0wMy0xOCAyMToxNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlZmlsZS5hbSBjbGVhbnVwcwoJICBNb3N0bHkgYWRkICQoR1NUX0JBU0VfQ0ZMQUdTKSB3aGVyZSBpdCB3YXMgbWlzc2luZywgYnV0IGFsc28gZml4IHVwCgkgIG9yZGVyIG9mIGZsYWdzIGFuZCBsaWJzIGlmIG5lZWRlZCAoc2VlIGRvY3MvcmFuZG9tL21vdmluZy1wbHVnaW5zKS4KCjIwMTAtMDMtMTggMTg6NDk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCByZWR1bmRhbnQgZnVuY3Rpb24gcmVkZWNsYXJhdGlvbiBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxOTowMDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBSZW1vdmUgcmVtYWluaW5nIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgd2hlbiBwcm9jZXNzaW5nIGEgcGl4ZWwKCjIwMTAtMDMtMTggMTg6NTU6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZWZhY3RvciBjaHJvbWEga2V5aW5nIGludG8gYSBzaW5nbGUgZnVuY3Rpb24KCSAgVGhpcyByZWR1Y2VzIGNvZGUgZHVwbGljYXRpb24gb25jZSB3ZSBhZGQgc3VwcG9ydCBmb3IgbW9yZSBjb2xvciBmb3JtYXRzLgoKMjAxMC0wMy0xOCAxNDozMTozNSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMTggMTQ6MDI6MzAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L29sZGNvcmUvZ3N0ZWxlbWVudHMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGZkc2luay5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuaDoKCSAgUmVtb3ZlIG9sZGNvcmUgZGlyZWN0b3J5CgkgIFRoZSBlbGVtZW50cyBoYXZlIGJlZW4gdW51c2VkIGZvciBhZ2VzIGFuZCBhbGwgaW1wb3J0YW50IG9uZXMgaGF2ZSBiZWVuCgkgIHJlcGxhY2VkIG9yIGNvcGllZCBlbHNld2hlcmUuCgoyMDEwLTAzLTE4IDEzOjQ1OjA4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlY29kZXIuYzoKCSAgYXZpOiBSZW1vdmUgb2xkIGZpbGUKCSAgU2VlbXMgdG8gYmUgbGVmdG92ZXIgZnJvbSB0aGUgMC40IGRheXMgb3Igc28uCgoyMDEwLTAzLTE4IDEyOjQ0OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHVzZSAjaWZkZWYgcmF0aGVyIHRoYW4gI2lmIGNvbmRpdGlvbmFscwoKMjAxMC0wMy0xOCAxMjoyMDoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGRvIG5vdCBjYWxsIF9wdXNoX3RzIHdpdGggdW5uZWVkZWQgKGFuZCB3cm9uZykgdGltZSBwYXJhbWV0ZXIKCSAgRml4ZXMgIzYxMzIwNi4KCjIwMTAtMDMtMTggMTE6MzM6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHR5cG8gaW4gaGVhZGVyIHZhbGlkYXRpb24gY2hlY2sKCjIwMTAtMDMtMTggMDE6NTE6MTkgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHB1dCBtb3JlIGluZm9ybWF0aW9uIGluIHRoZSBtZXRhZGF0YQoJICBBZGRpdGlvbmFsIHRhZ3MgYXJlOiBhdWRpb2NvZGVjaWQsIHZpZGVvY29kZWNpZCBmcmFtZXJhdGUgYW5kIChpbiB0aGUKCSAgbm9uLWxpdmUgY2FzZSkgZmlsZXNpemUuCgkgIFdoaWxlIGF0IGl0LCBmaXggaW5kZXggcmV3cml0aW5nIHRvIHVwZGF0ZSBkdXJhdGlvbiBhbmQgZmlsZXNpemUKCSAgdmFsdWVzIGV2ZW4gaWYgdGhlIGluZGV4IGlzIGVtcHR5LgoJICBGaXhlcyAjNjEzMDk0LgoKMjAxMC0wMy0xNyAyMTozMzoyOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJKiBnc3QvZ29vbS9tYXRodG9vbHMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQWRkIC1XdW5kZWYgdG8gY29uZmlndXJlIGZsYWdzCgkgIGFuZCBmaXggdGhlIHJlc3VsdGluZyB3YXJuaW5ncwoKMjAxMC0wMy0xNyAyMDowMjoxNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICAtV21pc3NpbmctcHJvdG90eXBlcyBpcyBub3QgdmFsaWQgZm9yIEMrKwoKMjAxMC0wMy0xNyAxOTozNToxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgQWRkIC1XcmVkdW5kYW50LWRlY2xzIHdhcm5pbmcgZmxhZwoJICBBbHNvIGZpeCBjb21waWxlIGlzc3VlcwoKMjAxMC0wMy0xNyAxODo0OToxMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSAgRml4IHdhcm5pbmdzIGluIGV4cGVyaW1lbnRhbCBwbHVnaW5zLCB0b28KCjIwMTAtMDMtMTcgMTg6MjM6MDAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9tbXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5oOgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZm52MWhhc2guYzoKCSogZ3N0L3J0cC9mbnYxaGFzaC5oOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB3YXJuaW5nIGZsYWdzCgkgIEFuZCBmaXggYWxsIHRoZSB3YXJuaW5ncy4KCjIwMTAtMDMtMTcgMTY6MjM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IGltcHJvdmUgY29uc3RhbnREdXJhdGlvbiBndWVzc2luZwoJICBXaGVuIG5vIGNvbnN0YW50RHVyYXRpb24gaGFzIGJlZW4gZ2l2ZW4gaW4gdGhlIGNhcHMsIHRyeSB0byBkZXJpdmUgb25lIGZyb20gdGhlCgkgIHRpbWVzdGFtcCBkaWZmZXJlbmNlIGJldHdlZW4gcGFja2V0cy4gQWxzbyBrZWVwIGRvaW5nIHRoaXMgZm9yIGVhY2ggcGFja2V0CgkgIGJlY2F1c2Ugc29tZSBicm9rZW4gc3RyZWFtcyBtaWdodCBzaW1wbHkgcHJvdmlkZSB3cm9uZyB0aW1lc3RhbXBzLgoKMjAxMC0wMy0xNiAyMzo0MzozOSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogUHV0IHdpZHRoIGFuZCBoZWlnaHQgaW4gdGhlIG1ldGFkYXRhCgkgIFNvbWUgcGxheWVycyB1c2UgdGhhdCBpbmZvIHRvIHNjYWxlIHRoZWlyIGRpc3BsYXkuCgkgIFNlZSAjNjEzMDk0LgoKMjAxMC0wMy0xNiAyMzozMjo0NSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3QgcHV0IHRpbWVzdGFtcHMgbGFyZ2VyIHRoYW4gR19NQVhJTlQzMiBpbiB0aGUgRkxWIHRhZ3MKCSAgRm9yIG5vbi1saXZlIGlucHV0IHJlc3BvbmQgYnkgcHVzaGluZyBFT1MsIGZvciBsaXZlIHdyYXAgdGhlCgkgIHRpbWVzdGFtcHMgZXZlcnkgR19NQVhJTlQzMiBtaWxpc2Vjb25kcy4KCSAgRml4ZXMgIzYxMzAwMy4KCjIwMTAtMDMtMTYgMjM6NDA6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGFsc28gdXNlIGdfdmFsdWVfc2V0X3N0YXRpY19zdHJpbmcoKSBoZXJlIGZvciBzdGF0aWMgc3RyaW5ncwoKMjAxMC0wMy0xNiAyMToyMzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBGaXggUkdCQTwtPkFZVVYgY29udmVyc2lvbgoKMjAxMC0wMy0xNiAyMToxNjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBSZW1vdmUgcmVkdW5kYW50IGluc3RhbmNlIGZpZWxkCgoyMDEwLTAzLTE2IDIxOjEwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUHJvdGVjdCBwcm9wZXJ0eSB2YWx1ZXMgZnJvbSBjaGFuZ2VzIGR1cmluZyBmcmFtZSBwcm9jZXNzaW5nCgoyMDEwLTAzLTE1IDIzOjI5OjU1ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2VuYzogVXNlIHBuZ19nZXRfaW9fcHRyKCkgaW5zdGVhZCBvZiBhY2Nlc3NpbmcgaW9fcHRyIGRpcmVjdGx5CgkgIEZpeGVzICM2MTI3MDAgKGZvciB0aGUgbGFzdCB0aW1lISkKCjIwMTAtMDMtMTUgMjM6Mjk6MDYgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBwbmc6IENoZWNrIGZvciBsaWJwbmcgPj0gMS4yIGluc3RlYWQgb2YgbGlicG5nMTIKCjIwMTAtMDMtMTYgMDE6Mjk6MzYgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFsd2F5cyBwdXQgYSBkdXJhdGlvbiB0YWcgaW4gdGhlIG1ldGFkYXRhCgkgIFNvbWUgRmxhc2ggcGxheWVycyAoZm9yIGluc3RhbmNlIEpXIFBsYXllcikgYWx3YXlzIGV4cGVjdCBhIGR1cmF0aW9uCgkgIHRhZywgb3RoZXJ3aXNlIHRoZXkgZG9uJ3Qgc3RhcnQgcGxheWJhY2suCgkgIElmIGR1cmF0aW9uIGNhbiBiZSBxdWVyaWVkIGZyb20gdGhlIHNpbmsgcGFkcyBvciBpcyBwcm92aWRlZCBhcyBhIHRhZywKCSAgdXNlIGl0LiBPdGhlcndpc2UgdHJ5IHRvIGRldGVybWluZSBpdCBmcm9tIHRoZSBsYXN0IHNlZW4gdGltZXN0YW1wIG9mCgkgIHRoZSBzaW5rIHBhZHMgYWZ0ZXIgRU9TIGFuZCByZXdyaXRlIGl0IGluIHRoZSBoZWFkZXIgYmVmb3JlIHdyaXRpbmcKCSAgdGhlIGluZGV4LgoKMjAxMC0wMy0xNiAwMDozNTo0NiArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogUmVtb3ZlIHRoZSBzZW5kX2NvZGVjX2RhdGEgZmllbGQgZnJvbSBHc3RGbHZQYWQKCSAgVGhhdCBmaWVsZCBpcyBub3QgdXNlZCBhbnltb3JlIGFmdGVyIHRoZSBjaGFuZ2VzIGluCgkgIDlmZGVjYmMxYzExZjRlNWFmNjU3OGJiYTMyYTliMzI3NzEwMjlkMzMuCgoyMDEwLTAzLTE2IDEzOjUzOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBnZXQgZmFtaWx5IG9mIGV4dGVybmFsIHNvY2tldHMgdG9vCgkgIEdldCB0aGUgZmFtaWx5IG9mIGV4dGVybmFsbHkgY29uZmlndXJlZCBzb2NrZXRzIHNvIHRoYXQgd2UgY2FuIGNvbmZpZ3VyZSBpdAoJICBjb3JyZWN0bHkuCgoyMDEwLTAzLTE1IDIwOjM3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEFkZCBzdXBwb3J0IGZvciB0aGUgcmVtYWluaW5nIEFSR0IgZm9ybWF0cwoKMjAxMC0wMy0xNSAxOToxNjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBTaW1wbGlmeSBBUkdCPC0+QVlVViBjb252ZXJzaW9ucyBieSBjb2RlIGdlbmVyYXRpb24gbWFjcm9zCgoyMDEwLTAzLTE1IDE5OjA3OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBNaW5vciBjbGVhbnVwcyBhbmQgbW92ZSBkZWNsYXJhdGlvbnMgaW50byBhIHNlcGFyYXRlIGhlYWRlciBmaWxlCgoyMDEwLTAzLTE1IDE4OjU4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBVc2UgR3N0VmlkZW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBmb3IgYXV0b21hdGljIFFvUyBzdXBwb3J0CgoyMDEwLTAzLTE1IDE4OjUwOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IEFkZCBzdXBwb3J0IGZvciBpbnBsYWNlIGNvbnZlcnNpb25zIGZyb20gQVlVViB0byBBUkdCCgoyMDEwLTAzLTE1IDE4OjE0OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IFVzZSBsaWJnc3R2aWRlbyBmb3IgY2FwcyBwYXJzaW5nCgoyMDEwLTAzLTE1IDE4OjA5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGFjb2xvcjogVXNlIEdzdFZpZGVvRmlsdGVyIGFzIGJhc2UgY2xhc3MgZm9yIGF1dG9tYXRpYyBRb1Mgc3VwcG9ydAoKMjAxMC0wMy0xNSAxODowNzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTAtMDMtMTUgMTQ6MTY6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleGRlYzogVXNlIHNwZWV4X3N0ZXJlb19zdGF0ZV9pbml0KCkgaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBpbml0aWFsaXphdGlvbiBtYWNybwoJICBGaXhlcyBidWcgIzYxMjc3Ny4KCjIwMTAtMDMtMTUgMDE6MDk6NDkgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IENvcnJlY3RseSBtYXJrIGJ1ZmZlcnMgYXMgZGVsdGEgdW5pdHMKCSAgTWFyayB2aWRlbyBpbnRlcmZyYW1lcywgdmlkZW8gY29kZWMgZGF0YSBidWZmZXJzIGFuZCBhdWRpbyBidWZmZXJzIChpZgoJICBpdCdzIG5vdCBhbiBhdWRpby1vbmx5IHN0cmVhbSkgYXMgZGVsdGEgdW5pdHMuCgoyMDEwLTAzLTE0IDE5OjMyOjIwICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBTdXBwb3J0IHN0cmVhbWhlYWRlcnMKCSAgUHV0IHRoZSBGTFYgaGVhZGVyLCB0aGUgbWV0YWRhdGEgdGFnIGFuZCAoaWYgcHJlc2VudCkgY29kZWMKCSAgaW5mb3JtYXRpb24gaW4gdGhlIHN0cmVhbWhlYWRlciB0byBhbGxvdyB0aGUgbXV4ZXIgdG8gYmUgdXNlZCBmb3IKCSAgc3RyZWFtaW5nLgoKMjAxMC0wMy0xNCAwMTozODoyMSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogUHJlYWxsb2NhdGUgaW5kZXggc3BhY2UgYW5kIGZpbGwgaXQgYWZ0ZXIgZmluaXNoaW5nIG91dHB1dAoJICBNYWtlIHRoZSBpbmRleCBhcHBlYXIgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSwgd2hpY2ggaXMgd2hhdCBtb3N0CgkgIHBsYXllcnMgYXJlIGV4cGVjdGluZy4KCSAgRml4ZXMgIzYwMTIzNi4KCjIwMTAtMDMtMTUgMTM6NDc6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBNaW5vciBjb2Rpbmcgc3R5bGUgZml4ZXMgYW5kIGNsZWFudXAKCjIwMTAtMDMtMTQgMDE6MzQ6MDIgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBhIGlzLWxpdmUgcHJvcGVydHkKCSAgSWYgaXQgaXMgc2V0LCB0aGUgbXV4ZXIgd2lsbCBub3Qgd3JpdGUgdGhlIGluZGV4LiBEZWZhdWx0cyB0byBmYWxzZS4KCjIwMTAtMDMtMTQgMDE6MjU6NDIgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IE9ubHkgcHV0IHZhbGlkIHNlZWsgcG9pbnRzIGluIHRoZSBpbmRleAoJICBGb3IgZmlsZXMgY29udGFpbmluZyB2aWRlbyBvbmx5IHZpZGVvIGtleWZyYW1lcyBhcmUgdmFsaWQgcG9pbnRzIHRvCgkgIHdoaWNoIGEgcGxheWVyIGNhbiBzZWVrLiBGb3IgYXVkaW8tb25seSBmaWxlcyBhbnkgdGFnIHN0YXJ0IGlzIGEgdmFsaWQKCSAgc2VlayBwb2ludC4KCSAgU2VlICM2MDEyMzYuCgoyMDEwLTAzLTE0IDAxOjA5OjM3ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggaW5kZXggYnVpbGRpbmcgdG8gbWFrZSBlbnRyaWVzIHBvaW50IHRvIHRhZydzIHN0YXJ0IG9mZnNldAoJICBQcmV2aW91cyBjb2Rpbmcgd2FzIHdyb25nbHkgaW5jcmVtZW50aW5nIHRoZSB0b3RhbCBieXRlIGNvdW50IGJlZm9yZQoJICBhZGRpbmcgYW4gaW5kZXggZW50cnkuCgoyMDEwLTAzLTE1IDEzOjQwOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBjYWlyb3RleHRvdmVybGF5OiBEb24ndCByZW5kZXIgdGV4dCBvdXRzaWRlIHRoZSBmcmFtZSBib3VuZGFyaWVzCgkgIEZpeGVzIGJ1ZyAjNjExOTg2LgoKMjAxMC0wMy0xNSAxMTozODoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgZm9yZ2V0IHRvIHNlbmQga2VlcGFsaXZlIG1lc3NhZ2VzCgkgIFdoZW4gd2Ugb3BlcmF0ZSBpbiBUQ1AgbW9kZSwgc3RpbGwgc2VuZCBrZWVwYWxpdmUgbWVzc2FnZXMgd2hlbiB3ZQoJICBuZWVkIHRvLgoJICBGaXhlcyAjNjEyNjk2CgoyMDEwLTAzLTEzIDIzOjE5OjM1ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogQ2FsbCBwbmdfam1wYnVmKCkgaW5zdGVhZCBvZiBhY2Nlc3NpbmcgcG5nX3N0cnVjdF9wdHIgZGlyZWN0bHkKCSAgRml4ZXMgIzYxMjcwMCAoYWdhaW4pCgoyMDEwLTAzLTEyIDE2OjQ0OjMwICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogQ2FsbCBwbmdfZXJyb3IoKSBpbnN0ZWFkIG9mIHVzaW5nIGxvbmdqbXAoKSBkaXJlY3RseS4KCSAgRml4ZXMgIzYxMjcwMAoKMjAxMC0wMy0xMiAxMzo1NzoyOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTI3MmY3MSB0byA1NWNkNTE0CgoyMDEwLTAzLTA1IDExOjA2OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIFhNUCBwYXJzaW5nIHN1cHBvcnQKCSAgVXNlIHhtcCBoZWxwZXJzIHRvIHBhcnNlIFhNUCBtZXRhZGF0YSBpbiB1ZHRhIGF0b20uCgkgIEZpeGVzICM2MDk1MzkKCjIwMTAtMDMtMTEgMTI6MzI6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogZml4IGNvbXBpbGF0aW9uIGVycm9ycyBvbiBub24td2luZG93cy4KCjIwMTAtMDMtMTAgMjI6MjM6NDMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhdm9pZCBnZXR0aW5nIHRoZSBzb2NrZXQgZmFtaWx5IHVzaW5nIGdldHNvY2tuYW1lKCkKCjIwMTAtMDMtMTEgMTc6Mjg6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBwcmludCBzdGF0ZW1lbnRzIGZvciBwb2ludGVyIGRpZmZlcmVuY2VzLgoJICBUaGlzIGZpeGVzIGl0IGZvciBib3RoIDMyIGFuZCA2NCBiaXQKCjIwMTAtMDMtMTEgMTc6Mjg6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDMtMTEgMTc6MDM6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggcHJpbnRmIGZvcm1hdHRpbmcgZm9yIG1hY29zeAoKMjAxMC0wMy0xMSAxNzowMzowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDMtMTEgMTc6MDI6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDEwLTAyLTE5IDEzOjM5OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZwYXJzZTogTWFrZSBzY3JpcHQgdGFnIHBhcnNpbmcgbW9yZSBmbGV4aWJsZS4KCSAgKiBUaGUgbmJfZWxlbWVudHMgZm9yIGFycmF5cyBpcyBqdXN0IGFuIGluZGljYXRpb24sIHdlIGNhbiB0aGVyZWZvcmUgaWdub3JlCgkgIGl0IGFuZCBjYXJyeSBvbiBwYXJzaW5nIG1ldGFkYXRhIGl0ZW1zIHVudGlsIHdlIHJlYWNoIHRoZSBlbmQgbWFya2VyLgoJICAqIElmIHR5cGUgPT0gMywgdGhlbiB0aGUgc2NyaXB0IHRhZyBjb250YWlucyBhIGxpc3Qgb2Ygb2JqZWN0IGZvbGxvd2VkCgkgIGJ5IHRoZSBlbmQgbWFya2VyLgoJICBSZWZhY3RvciBjb2RlIHNsaWdodGx5IHRvIGhhbmRsZSBib3RoIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTA0NDcKCjIwMTAtMDMtMTEgMTU6NTE6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IGZpeCBtZXRhZGF0YSBub3Qgd3JpdGFibGUgd2FybmluZ3MgaW4gaW50ZXJsZWF2ZSBhbmQgZGVpbnRlcmxlYXZlIHRlc3RzCgoyMDEwLTAzLTExIDE1OjM4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIHRlc3RzOiBmaXggbWV0YWRhdGEgbm90IHdyaXRhYmxlIHdhcm5pbmdzIHdpdGggYXBldjJtdXggYW5kIGlkM3YybXV4IHRlc3RzCgoyMDEwLTAzLTExIDE1OjI0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggbWV0YWRhdGEgd3JpdGFibGUgd2FybmluZ3MKCSAgU2V0IG1ldGFkYXRhIG9uIGJ1ZmZlciBmaXJzdCwgd2hlbiB0aGUgcmVmY291bnQgaXMgc3RpbGwgMSwgYW5kIG9ubHkKCSAgcmVmIGFnYWluIGFmdGVyd2FyZHMuCgoyMDEwLTAzLTExIDE1OjAyOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGlnbm9yZSBzdHJlYW0gd2l0aCBpbnZhbGlkIGhlYWRlciB0aW1lIG1ldGFkYXRhCgoyMDEwLTAzLTA4IDE0OjU3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2V0IHN0cmVhbS1mb3JtYXQ9cmF3IG9uIEFBQyBjYXBzCgkgIFNldCBzdHJlYW0tZm9ybWF0PXJhdyBmb3IgQUFDIGNhcHMsIGFzIHRoYXQgaXMgdGhlCgkgIGV4cGVjdGVkIEFBQyBmb3JtYXQgdG8gYmUgaW4gdGhpcyBjb250YWluZXIgZmFtaWx5LgoJICBGaXhlcyAjNTY2MjUwCgoyMDEwLTAzLTExIDEyOjU2OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjaGVjayBmb3IgTlVMTCBiZWZvcmUgZG9pbmcgc3RyY21wCgkgIENoZWNrIHRoZSBjb25uZWN0aW9uIGFuZCBhZGRyZXNzIHR5cGUgZm9yIE5VTEwgYmVmb3JlIGRvaW5nIHN0cmNtcCBhbmQKCSAgY3Jhc2hpbmcuCgkgIEZpeGVzICM2MTI1NTMKCjIwMTAtMDMtMTEgMTE6MjA6NTkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGY4YTdjOCB0byBlMjcyZjcxCgoyMDEwLTAzLTExIDExOjA5OjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIGJ1aWxkOiBpbmNsdWRlIHN0ZGxpYi5oIGZvciBhdG9pKCkKCjIwMTAtMDMtMTEgMTA6MzM6MDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogbW92ZSBpbnZhcmlhbnQgY2hlY2sgb3V0IG9mIHRoZSBpbm5lciBsb29wCgkgIEltcHJvdmVzIHBlcmZvcm1hbmNlIGZvciBzaW1wbGUgbWV0aG9kLgoKMjAxMC0wMy0xMCAyMjoxNTowNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgQ1hYRkxBR1MsIHRvbywganVzdCBsaWtlIENGTEFHUwoKMjAxMC0wMy0xMCAyMTowMToyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBmb3IgcmVjZW50IGNoYW5nZXMgdG8gY29tbW9uIHN1Ym1vZHVsZQoJICBUaGlzIGp1c3QgcmVwbGFjZXMgZXZlcnkgIiRFUlJPUl9DRkxBR1MiIHVzYWdlIHdpdGggYSB1c2FnZSBvZgoJICAiJFdBUk5JTkdfQ0ZMQUdTICRFUlJPUl9DRkxBR1MiIHRvIGdldCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzCgkgIHByZXZpb3VzbHkuCgkgIEFjdHVhbGx5IHVzaW5nIHRoYXQgc2VwYXJhdGlvbiB3aWxsIGhhcHBlbiBsYXRlci4KCjIwMTAtMDMtMTAgMjE6NTI6MDkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTcyMGE3ZCB0byBkZjhhN2M4CgoyMDEwLTAzLTEwIDIwOjQzOjU3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDBiNmUwNzIgdG8gOTcyMGE3ZAoKMjAxMC0wMy0xMCAxMDo1MToyOCAtMDgwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBSZXNldCB3aW5kb3dzIGVycm9yIGNvZGUgYWZ0ZXIgZ2V0dGluZyBjb3JyZXNwb25kaW5nIGVycm9yIG1lc3NhZ2UuCgoyMDEwLTAzLTA5IDE3OjMyOjI3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogcHV0IHRoZSBjb2RlY19kYXRhIGJsb2IgaW50byB0aGUgYWN0dWFsIGRhdGEgZm9yIE1QRUc0IHZpZGVvLCB0byBtYXRjaCBvdGhlciBpbXBsZW1lbnRhdGlvbnMgaW4gdGhlIHdpbGQuCgoyMDEwLTAzLTEwIDE2OjA5OjU2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdjYzVlYjQgdG8gMGI2ZTA3MgoKMjAxMC0wMi0yMyAyMTowNjo1NSAtMDMwMCAgVGhhZGV1IExpbWEgZGUgU291emEgQ2FzY2FyZG8gPGNhc2NhcmRvQGhvbG9zY29waW8uY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBzZW5kIG5ld19zZWdtZW50IHdpdGggR1NUX0ZPUk1BVF9USU1FIGZvcm1hdAoJICBJbnN0ZWFkIG9mIHVzaW5nIEJhc2VTcmMgZGVmYXVsdCBmb3JtYXQgR1NUX0ZPUk1BVF9CWVRFUywgc2VuZCBpdCBpbgoJICBHU1RfRk9STUFUX1RJTUUuCgkgIFNpZ25lZC1vZmYtYnk6IFRoYWRldSBMaW1hIGRlIFNvdXphIENhc2NhcmRvIDxjYXNjYXJkb0Bob2xvc2NvcGlvLmNvbT4KCSAgRml4ZXMgIzYxMTY1OQoKMjAxMC0wMy0xMCAxMTo0NjowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGFsc28gcmVwb3J0IHNlZWthYmxlIHdpdGhvdXQgYW4gZWxlbWVudCBpbmRleAoJICAuLi4gc2luY2UgcmVjZW50IGNvZGUgYWxzbyBzZWVrcyBhcm91bmQgdG8gb2J0YWluIHJlcXVpcmVkIGRhdGEKCSAgZnJvbSBhdmkgaW5kZXguCgoyMDEwLTAzLTA5IDE4OjA2OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCBzb21lIGNoZWNrIGFuZCBzdGFuZGFyZGl6ZWQgc2VlayBldmVudCBoYW5kbGluZyBpbiBwdXNoIG1vZGUKCjIwMTAtMDMtMDkgMTg6MDU6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IG9mZnNldCBoYW5kbGluZyBpbiBwdXNoIG1vZGUgc2Vla2luZwoJICBQdXNoIG1vZGUgc2Vla2luZyB1c2VzIHNhbWUgaW5kZXggZGF0YSBhcyBwdWxsIG1vZGUsIGFuZCBzdG9yZXMKCSAgb2Zmc2V0IHRvIGRhdGEgaW4gY2h1bmssIHdoZXJlYXMgcHVzaCBtb2RlIG9wZXJhdGVzIGluIGNodW5rcywKCSAgYW5kIGFzIHN1Y2ggbmVlZHMgb2Zmc2V0IGNvbnNpc3RlbnRseSBjb3JyZXNwb25kaW5nIHRvIGNodW5rIGhlYWRlcnMuCgkgIEFsc28gZml4IGRldGVybWluaW5nIGJlc3QgbWF0Y2hpbmcgc3RyZWFtIGZvciBpbmNvbWluZyBuZXdzZWdtZW50IGV2ZW50LAoJICBhcyB3ZWxsIGFzIHNldHRpbmcgc29tZSBzdHJlYW0gc3RhdGUgYWNjb3JkaW5nbHkuCgoyMDEwLTAyLTI2IDIxOjI5OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogY29uZHVjdCBpbmRleCBzY2FuIGluIHRhc2sgdGhyZWFkCgkgIC4uLiByYXRoZXIgdGhhbiBpbiBzZWVraW5nIHRocmVhZCwgd2hpY2ggbWlnaHQgdGhlbiBvY2N1cHkgbWFpbmxvb3AKCSAgZm9yIHNvbWUgdGltZSB3aXRoIHBvc3NpYmxlIHVucmVzcG9uc2l2ZSBzaWRlLWVmZmVjdHMuCgoyMDEwLTAyLTI2IDIxOjI3OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IGF2b2lkIGluZGVmaW5pdGUgaW5kZXggZ3Jvd3RoCgkgIFRoYXQgaXMsIGNoZWNrIGZvciBhbmQgZG8gbm90IGFkZCBhbiBpbmRleCBlbnRyeSB0aGF0IGhhcyBhbHJlYWR5CgkgIGJlZW4gYWRkZWQuCgoyMDEwLTAyLTE4IDE0OjU3OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IGFsc28gY29sbGVjdCBpbmRleCBpbmZvIG9uLXRoZS1mbHkgaW4gcHVsbCBtb2RlCgoyMDEwLTAyLTE4IDEyOjQyOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgZmx2ZGVtdXg6IGluY3JlbWVudGFsbHkgYnVpbGQgaW5kZXggaW4gcHVsbCBtb2RlCgkgIFNjYW4gZm9yIG5lZWRlZCBwYXJ0IHVwb24gYSBzZWVrIGFzIG9wcG9zZWQgdG8gZG9pbmcgYSBjb21wbGV0ZSBzY2FuCgkgIGF0IHN0YXJ0dXAsIHdoaWNoIG1heSB0YWtlIHNvbWUgdGltZSBkZXBlbmRpbmcgb24gZmlsZSBhbmQvb3IgcGxhdGZvcm0uCgkgIEFsc28gYWNjZXB0IGluZGV4IG1ldGFkYXRhIGluIHB1bGwgbW9kZSBhbmQgcGVlayBmb3Igc29tZSBtZXRhZGF0YQoJICBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlIHdoZW4gZGVlbWVkIGFwcHJvcHJpYXRlLgoKMjAxMC0wMi0xOCAxMjoyNjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzb21lIG1vcmUgdmFyaWFibGUgY2xlYW51cAoKMjAxMC0wMy0wOSAxODoyNToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiByZWZhY3RvciBhZGRpbmcgaW5kZXggZW50cnkKCjIwMTAtMDItMTcgMTE6MzY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogZml4IHNldHRpbmcgREVMVEFfVU5JVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgLi4uIHdoaWNoIHNob3VsZCBub3QgZGVwZW5kIG9uIGhhdmluZyBpbmRleCBhdmFpbGFibGUgb3Igbm90LgoJICBBbHNvIHJlZmFjdG9yIHJlc3VsdGluZyBjb2xsYXBzZWQgY29kZS4KCjIwMTAtMDItMTEgMTk6NDM6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBlcnJvbmVvdXMgY29kZWMtZGF0YSBvdmVycmlkaW5nIG9mIHN0c2QgaW5mb3JtYXRpb24KCjIwMTAtMDItMDEgMjI6Mzc6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBhZGFwdCB0byBuZXcgb2dnZGVtdXgKCSAgUmVtb3ZlIGFsbCBncmFudWxlcG9zIGhhY2tzIGFuZCBzaW1wbHkgdXNlIHVwc3RyZWFtIHRpbWVzdGFtcHMuCgoyMDEwLTAyLTAxIDIyOjM2OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IHJlZmFjdG9yIGdyYW51bGVwb3MgaGFja3MKCjIwMTAtMDMtMTAgMTE6MTk6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBhcnNlIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24KCSAgUGFyc2UgdGhlIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgU0RQIGFuZCB1c2UgaXQgdG8gZmlndXJlIG91dCBpZiB3ZSBhcmUKCSAgZGVhbGluZyB3aXRoIGlwdjQgb3IgaXB2NiBjb25uZWN0aW9ucy4KCjIwMTAtMDMtMDkgMTc6NTM6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlcXVpcmUgYSBkZXN0aW5hdGlvbiBmb3IgbXVsdGljYXN0CgkgIFdoZW4gc2V0dGluZyB1cCB0aGUgbXVsdGljYXN0IHNvY2tldHMsIHdlIG5lZWQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzIHRvIGxpc3RlbgoJICBvbiBvciBlbHNlIHdlIGVycm9yLgoKMjAxMC0wMy0wOSAxNzo1MjozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBoYW5kbGUgaXB2NiBsaXN0ZW5pbmcgcG9ydHMgd2hlbiBuZWVkZWQKCSAgQWRkIHNvbWUgY29kZSB0byBtYWtlIHVkcHNyYyBsaXN0ZW4gb24gYW4gaXB2NiBhZGRyZXNzIHdoZW4gbmVlZGVkLiBUaGUKCSAgZGV0ZWN0aW9uIG9mIElQVjYgaXMgbm90IHlldCBpbXBsZW1lbnRlZC4KCjIwMTAtMDMtMDkgMTc6MTU6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcDogdXNlIHVyaSBwYXJzaW5nIGNvZGUKCSAgVXNlIHRoZSB1cmkgcGFyc2luZyBoZWxwZXIgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUgaG9zdCBhbmQgcG9ydCBwYWlycy4gVGhpcwoJICBhZGRzIHN1cHBvcnQgZm9yIElQVjYuCgoyMDEwLTAzLTA5IDE3OjEzOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcG5ldHV0aWxzOiBhZGQgaGVscGVyIGZ1bmN0aW9ucyBmb3IgdWRwIHVyaSBoYW5kbGluZwoJICBBZGQgc29tZSBoZWxwZXJzIHRvIHBhcnNlIHVkcCB1cmlzLiBNYWtlIHN1cmUgSVBWNiBpcyBzdXBwb3J0ZWQgdG9vLgoKMjAxMC0wMy0wNSAxNjowODo0NSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogTWFrZSBpdCBwb3NzaWJsZSB0byBmYXZvciBuZXcgc291cmNlcyBpbiBjYXNlIG9mIFNTUkMgY29uZmxpY3QKCSAgQWRkIGEgImZhdm9yLW5ldyIgcHJvcGVydHkgdGhhdCB0ZWxscyB0aGUgc2Vzc2lvbiB0byBmYXZvciBuZXcgc291cmNlcyB3aGVuCgkgIHRoZXJlIGlzIGEgU1NSQyBjb25mbGljdC4gVGhpcyBpcyB1c2VmdWwgZm9yIFNJUCBjYWxscyBhbmQgb3RoZXIgc3VjaCBjYXNlcwoJICB3aGVyZSBhIHJlbW90ZSBsb29wIGlzIGV4dHJlbWVseSB1bmxpa2VseS4KCSAgRml4ZXMgIzYwNzYxNQoKMjAxMC0wMy0wNSAxNTo0Njo0OCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogTW92ZSBTU1JDIGNvbmZsaWN0cyBsaXN0cyBpbnRvIFJUUFNvdXJjZQoJICBXZSB3aWxsIGFsc28gbmVlZCB0byB0cmFjayBTU1JDIGNvbmZsaWN0cyBpbiByZW1vdGUgc291cmNlcy4KCSAgU2VlICM2MDc2MTUKCjIwMTAtMDItMjYgMTc6MTM6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNlbmQga2VlcCBhbGl2ZSB3aGVuIHBhdXNlZAoJICBXaGVuIHdlIGFyZSBwYXVzZWQsIHNlbmQga2VlcCBhbGl2ZSBtZXNzYWdlcyB0byB0aGUgc2VydmVyIHNvIHRoYXQgb3VyIHNlc3Npb24KCSAgZG9lc24ndCB0aW1lIG91dCB3aGVuIHdlIGdvIGJhY2sgdG8gcGxheWluZyBsYXRlci4KCjIwMTAtMDMtMTAgMDE6MTA6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YWE2NWI1IHRvIDdjYzVlYjQKCjIwMTAtMDItMjMgMTk6NDg6MTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBBZGQga2V5LWZyYW1lIG9wdGlvbiB0byBuZXh0LWZpbGUKCSAgVGhpcyBhbGxvd3Mgc2VnbWVudGluZyBvZiBNUEVHLVRTIGZpbGVzIGF0IGtleSBmcmFtZXMsIHdoaWNoIGlzCgkgIGV4YWN0bHkgd2hhdCBpcyBuZWVkZWQgZm9yIEFwcGxlJ3MgSFRUUCBzdHJlYW1pbmcuCgoyMDEwLTAzLTA5IDIxOjMyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDRlY2NlNyB0byA3YWE2NWI1CgoyMDEwLTAzLTA4IDIwOjE3OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IGF1dG9jcm9wcGluZyBmb3Igb2RkIHdpZHRoL2hlaWdodCBkaWZmZXJlbmNlcwoKMjAxMC0wMy0wOCAyMDowMjoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZm9ybWF0IHNwZWNpZmljIHN0dWZmCgoyMDEwLTAzLTA4IDE5OjI4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvZng6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgc3RyZWFtIHRpbWUKCjIwMTAtMDMtMDggMTk6MjA6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IE1ha2UgcHJvcGVydGllcyBjb250cm9sbGFibGUKCjIwMTAtMDMtMDggMTk6MDk6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBTb21lIGNsZWFudXAKCjIwMTAtMDItMjggMTU6NDc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogVXNlIGNvbnRyb2xsZXIgd2hlcmUgcG9zc2libGUsIG9wdGltaXplIGEgYml0IGFuZCBtYWtlIHByb3BlcnRpZXMgdGhyZWFkc2FmZQoKMjAxMC0wMi0yNiAxNjozNToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlIHNvbWUgbW9yZSBydWxlcyBzaWxlbnQgaWYgcmVxdWVzdGVkCgoyMDEwLTAyLTI2IDE1OjQxOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgYXV0b21ha2UgMS4xMSBzaWxlbnQgcnVsZXMgaW5zdGVhZCBvZiBzaGF2ZSBpZiBhdmFpbGFibGUKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgdXNlIHNvbWV0aGluZyB0aGF0IGlzIHN0aWxsIG1haW50YWluZWQgYW5kCgkgIGFsc28gYnJpbmdzIGJhY2sgbGlidG9vbCAxLjUgc3VwcG9ydC4KCjIwMTAtMDMtMDggMjI6NTc6MzQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZzogZnJhY3Rpb25zIGRvbid0IGFsbG93IGRvdWJsZXMKCjIwMTAtMDMtMDEgMTI6MDM6NTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseDogZml4IGRlc2NyaXB0aW9uCgkgIEl0J3MgdmlkZW8sIG5vdCBhdWRpbwoKMjAxMC0wMy0wOSAxNzo0NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjEgPT09CgoyMDEwLTAzLTA5IDAwOjI4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMQoKMjAxMC0wMy0wOSAwMDoyNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTA5IDAwOjA5OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFJldmVydCAiQWRkIDQ6MjoyLCA0OjE6MSwgYW5kIDQ6NDo0IG91dHB1dCBzdXBwb3J0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYzN2MyNmY2MWEyYmQ4ZDdiMDFmOGI2ZDA4MWQ5NGRhNjVmNzQ1NTcuCgo9PT0gcmVsZWFzZSAwLjEwLjIwID09PQoKMjAxMC0wMy0wOCAyMzo0Mjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjAKCjIwMTAtMDMtMDggMjM6NDI6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wOCAxNjo0NzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGRvbid0IHNlbmQgc2Vjb25kIG5ld3NlZ21lbnQgZXZlbnQgaW4gZnJhbWVkIG1vZGUsIGZpeGVzIGxvbmcgcGxheWJhY2sgZGVsYXkKCSAgRG9uJ3Qgc2VuZCBhbm90aGVyIG5ld3NlZ21lbnQgZXZlbnQgaWYgdGhlIHVwc3RyZWFtIG11eGVyL3BhcnNlciBoYXMgYWxyZWFkeQoJICBzZW50IG9uZSAob3RoZXJ3aXNlIHRoZSBzaW5rIHdpbGwgd2FpdCBmb3IgJGR1cmF0aW9uIGJlZm9yZSBzdGFydGluZyBwbGF5YmFjaykuCgkgIEZpeGVzIGxvbmcgZGVsYXkgdW50aWwgcGxheWJhY2sgc3RhcnRzIHdpdGggZmxhYy1pbi1vZ2cgZmlsZXMuCgkgIEZpeGVzICM2MTA5NTkuCgoyMDEwLTAzLTA1IDEzOjQ5OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjb25maWd1cmUgbXVsdGljYXN0IGNvcnJlY3RseQoJICBUYWtlIHRoZSB0cmFuc3BvcnQgZGVzdGluYXRpb24gZm9yIG11bHRpY2FzdC4KCSAgRGlzYWJsZSBsb29wIGFuZCBhdXRvam9pbiBmb3IgbXVsdGljYXN0IG9uIHRoZSB1ZHBzaW5rcy4KCjIwMTAtMDMtMDUgMTM6NDc6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aWNhc3Q6IGFsd2F5cyBjb25maWd1cmUgbG9vcCBhbmQgdHRsCgkgIEFsc28gY29uZmlndXJlIFRUTCBhbmQgbG9vcCBwYXJhbWV0ZXJzIHdoZW4gd2UgYWRkIGEgY2xpZW50IGFmdGVyIGluaXRpYWxpemluZwoJICB0aGUgc2VuZGVyLgoKMjAxMC0wMy0wOCAxMjoxMzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIFJldmVydCAicnRwaDI2M2RlcGF5OiBiYXNlY2xhc3MgaGFuZGxlcyB0aW1lc3RhbXBzIGZvciB1cyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1NjQ1ODFlMWI4OGVjZDVlYzVkYTgyYzNjYWZiMGU3YTJkNThiMzAyLgoJICBJZiB3ZSBkb24ndCBjYWxsIHB1c2hfdHMsIHRoZXJlIHdpbGwgYmUgbm8gdGltZXN0YW1wIGF0IGFsbCBvbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVyLgoJICBGaXhlcyAjNjEyMTU0CgoyMDEwLTAyLTIzIDIyOjE2OjM5IC0wNTAwICBCZW5qYW1pbiBNLiBTY2h3YXJ0eiA8YmVuc0BhbHVtLm1pdC5lZHU+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBBZGQgNDoyOjIsIDQ6MToxLCBhbmQgNDo0OjQgb3V0cHV0IHN1cHBvcnQKCjIwMTAtMDMtMDIgMTM6MjE6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB1c2UgcGF5bG9hZCBzaXplIHRvIGVzdGltYXRlIGJpdHJhdGUKCSAgVXNlIHRoZSBsZW5ndGggb2YgdGhlIHBheWxvYWQgZm9yIGVzdGltYXRpbmcgdGhlIHJlY2VpdmVyIGJpdHJhdGUgc28gdGhhdCBpdAoJICBtYXRjaGVzIHRoZSBjYWxjdWxhdGlvbnMgZG9uZSBvbiB0aGUgc2VuZGVyIHNpZGUuIFRvZ2V0aGVyIHdpdGggdGhlIG51bWJlciBvZgoJICBwYWNrZXRzIG9uZSBjYW4gc2NhbGUgdGhlIGJpdHJhdGUgd2l0aCB0aGUgaGVhZGVyIG92ZXJoZWFkIG9mIHRoZSBsb3dlcgoJICB0cmFuc3BvcnQuCgoyMDEwLTAzLTAyIDEyOjM5OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzb3VyY2U6IHJlZmFjdG9yIGJpdHJhdGUgZXN0aW1hdGlvbgoJICBEb24ndCByZXVzZSB0aGUgc2FtZSB2YXJpYWJsZSB3ZSBuZWVkIGZvciBzdGF0cyBmb3IgdGhlIGJpdHJhdGUgZXN0aW1hdGlvbgoJICBiZWNhdXNlIHdlJ3JlIHVwZGF0aW5nIGl0LgoJICBSZWZhY3RvciB0aGUgYml0cmF0ZSBlc3RpbWF0aW9uIGNvZGUgc28gdGhhdCBib3RoIHNlbmRlciBhbmQgcmVjZWl2ZXJzIHVzZSB0aGUKCSAgc2FtZSBjb2RlIHBhdGguCgoyMDEwLTAzLTAxIDE2OjQwOjI3IC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBhZGRlZCBiaXRyYXRlIGVzdGltYXRpb24gdG8gcmVjZWl2ZXItc2lkZSBzdGF0cywgZml4ZXMgIzYxMTIxMwoKMjAxMC0wMy0wMSAxNjowMToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBoMjYzcGF5OiBmaXggdHlwbyBpbiBkZWJ1ZwoKPT09IHJlbGVhc2UgMC4xMC4xOSA9PT0KCjIwMTAtMDMtMDYgMDA6NDM6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE5CgoyMDEwLTAzLTA2IDAwOjQyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDMtMDMgMjA6Mjk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTguNCBwcmUtcmVsZWFzZQoKMjAxMC0wMy0wMiAxODoyOTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBNYWtlIHN1cmUgd2UgZG9uJ3Qgc2VuZCBpbnZhbGlkIG5ld3NlZ21lbnRzCgkgIEZpeGVzICM2MTE1MDEKCjIwMTAtMDMtMDIgMTQ6MDk6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBNYXJrIHN0cmVhbXMgYXMgYmVpbmcgRU9TIGF0IHRoZSByaWdodCB0aW1lLgoJICBUaGlzIGFsbG93cyB1cyB0byBzdG9wIHN0cmVhbWluZyBvbmx5IHdoZW4gYWxsIHN0cmVhbXMgaGF2ZSBnb25lIHBhc3QgdGhlCgkgIHNlZ21lbnQuc3RvcCBhbmQgbm90IGJlZm9yZS4KCSAgRml4ZXMgIzYxMTUwMQoKMjAxMC0wMi0yNiAxODoxMDozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWR2YW5jZSBzcGFyc2Ugc3RyZWFtcyBvbmx5IGFzIG11Y2ggYXMgcmVxdWlyZWQgdG8ga2VlcCB0aGUgZ2FwIHNtYWxsZXIgdGhhbiA1MDBtcwoJICBDaGFuZ2luZyBpdCB0byB0aGUgbmV3ZXN0IHRpbWVzdGFtcCB0aGF0IHdhcyBldmVyIHB1c2hlZCB3aWxsCgkgIGluY3JlYXNlIHRoZSBzZWdtZW50IHN0YXJ0IGluIDUwMG1zIGp1bXBzLCB3aGljaCBjb3VsZCBiZSBqdXN0CgkgIGFmdGVyIHRoZSBuZXh0IHNwYXJzZSBzdHJlYW0gYnVmZmVyLiBFLmcuCgkgIFZpZGVvIGF0IDEuMHMsIHNwYXJzZSBzdHJlYW0gYXQgMC41cyB3b3VsZCBqdW1wIHRoZQoJICBzcGFyc2Ugc3RyZWFtIHRvIDEuMHMuIE5vdyBhIG5ldyBzcGFyc2Ugc3RyZWFtIGJ1ZmZlciBjb3VsZAoJICBhcHBlYXIgdGhhdCBoYXMgYSB0aW1lc3RhbXAgb2YgMC45cyBhbmQgdGhpcyB3b3VsZCBiZQoJICBkcm9wcGVkIGZvciBubyBnb29kIHJlYXNvbiBiZWNhdXNlIG9mIGJhZCBsdWNrLgoKMjAxMC0wMi0yNCAwMTozNjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2VzLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMyBwcmUtcmVsZWFzZQoKMjAxMC0wMi0yNCAwMjowNTo0OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBNYWtlIHN1cmUgRkxVU0hfU1RPUCBpcyBzZW50IHNvIG5vdCB0byBsZWF2ZSBkb3duc3RyZWFtIGZsdXNoaW5nLgoKMjAxMC0wMi0yMyAxNzoyNTo1NCArMDEwMCAgVm9sa2VyIEdyYWJzY2ggPGJ1Z3ppbGxhLmdub21lLm9yZ0B2Lm5vdGp1c3Rob3N0aW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgJFBLR19DT05GSUcgaW5zdGVhZCBvZiBwa2ctY29uZmlnIHRvIGZpeCBjcm9zcyBjb21waWxhdGlvbgoJICBGaXhlcyBidWcgIzYxMDgzOS4KCjIwMTAtMDItMjMgMTc6MjQ6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogUmVzZXQgc2tldyBkZXRlY3Rpb24gYWZ0ZXIgaW5zdGFudGlhdGluZyB0aGUgaml0dGVyYnVmZmVyCgkgIC4uLm5vdCBvbmx5IHdoZW4gZ29pbmcgdG8gUkVBRFkuIFRoaXMgc2V0cyBoaWdoX2xldmVsIGFuZCBmcmllbmRzIHRvCgkgIGEgbW9yZSB1c2VmdWwgdmFsdWUuCgoyMDEwLTAyLTIzIDE3OjE5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFJldHVybiAxMDAgaWYgaGlnaC1sZXZlbCBpcyAwIGluc3RlYWQgb2YgZGl2aWRpbmcgYnkgemVybwoKMjAxMC0wMi0yMiAxMjoyNDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogYXZvaWQgZGl2aXNpb24gYnkgMAoJICBBdm9pZCBhIGRpdmlzaW9uIGJ5IDAgd2hlbiBubyBjb25zdGFudER1cmF0aW9uIHdhcyBzcGVjaWZpZWQgYW5kIHdoZW4gb3V0IHR3bwoJICB0aW1lc3RhbXBzIGFyZSBlcXVhbC4KCSAgRml4ZXMgIzYxMDI2NQoKMjAxMC0wMi0yMiAxODoyMDo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSAgZHZkZXBheTogZG9uJ3Qgb3V0cHV0IGZyYW1lcyB1bnRpbCB3ZSBoYXZlIGEgaGVhZGVyCgkgIFdhaXQgZm9yIHRoZSBjb21wbGV0ZSBmaXJzdCA2IGhlYWRlciBESUYgcGFja2V0cyBiZWZvcmUgb3V0cHV0dGluZyBhIGZyYW1lLgoJICBEZWNvZGVycyBuZWVkIHRoaXMgaW5mbyB0byBjb3JyZWN0bHkgZGVjb2RlIHRoZSBkYXRhLgoJICBGaXhlcyAjNjEwNTU2CgoyMDEwLTAyLTIyIDIwOjU1OjI5ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBieSBmaXJzdCBjaGVja2luZyBhbmQgdGhlbiByZWFkaW5nCgkgIEZpeGVzIGJ1ZyAjNjEwNDgzLgoKMjAxMC0wMi0xOCAwOTowNTo1MCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZ3N0X3B1bHNlc2lua19nZXRfbXV0ZTogc2V0IHJlc3VsdCBlYXJsaWVyLgoJICBJbiB0aGUgY2FzZXMgd2hlcmUgbm8gYnVmZmVyIHdhcyBwcm9jZXNzIHlldCBvciB0aGUgaW5kZXggaXMgbm90CgkgIGF2YWlsYWJsZSwgZ2V0X3B1bHNlc2lua19nZXRfbXV0ZSgpIHdvdWxkIHVuY29uZGl0aW9uYWxseSByZXR1cm4KCSAgRkFMU0UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAzMzcKCjIwMTAtMDItMTkgMTI6MzU6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogZml4IGdzdHJlYW1lci1wbHVnaW5zLWdvb2QgdW5pbnN0YWxsZWQgLnBjIGZpbGUKCSAgRml4IGdzdC1wbHVnaW5zLWJhc2UgcmVmZXJlbmNlL3JlcXVpcmVtZW50LiBUaGlzIGNhdXNlZCBzcHVyaW91cwoJICBwcm9ibGVtcyB3aXRoIHVuaW5zdGFsbGVkIC11Z2x5Ly1iYWQgbm90IGZpbmRpbmcgLWdvb2QgcGx1Z2lucyBpbgoJICB0aGVpciB1bml0IHRlc3RzICh3aGVuIGRpc3RjaGVja2luZykuCgoyMDEwLTAyLTE5IDAxOjAzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vbHYucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4yIHByZS1yZWxlYXNlCgoyMDEwLTAyLTE5IDAwOjU0OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS8uZ2l0aWdub3JlOgoJICBNYWtlIGdpdCBpZ25vcmUgc2hhcGV3aXBlIGV4YW1wbGVzIGFuZCB0ZXN0cwoKMjAxMC0wMi0xOSAwMDo0Njo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBtaW5vciBtaWNyby1vcHRpbWlzYXRpb24KCSAgV2Uga25vdyB0aGVzZSB2YWx1ZXMgZG9uJ3QgY2hhbmdlIGR1cmluZyB0aGUgbG9vcCwgYnV0IHRoZSBjb21waWxlcgoJICBkb2Vzbid0IGFuZCBoYXMgdG8gcmUtY2hlY2sgdGhlbSBmb3IgZXZlcnkgaXRlcmF0aW9uLgoKMjAxMC0wMi0xOSAwMDozOTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiByZW1vdmUgc3RhdGljIGtleXdvcmQgZnJvbSB2YXJpYWJsZXMgdGhhdCBzaG91bGRuJ3QgYmUgc3RhdGljCgkgIE11bHRpcGxlIGZsdnBhcnNlL2ZsdmRlbXV4IGluc3RhbmNlcyBzaG91bGQgYmUgYWJsZSB0byBvcGVyYXRlIHdpdGhvdXQKCSAgdHJhbXBsaW5nIG92ZXIgZWFjaCBvdGhlciBieSBhY2NpZGVudGFsbHkgcmUtdXNpbmcgdGhlIHNhbWUgKHN0YXRpYykKCSAgdmFyaWFibGVzLiAoU3BvdHRlZCBieSBNYXJrIE5hdXdlbGFlcnRzKQoKMjAxMC0wMi0xNiAwMjowNzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgZG9jczogYWRkIFNpbmNlOiBtYXJrZXJzIGZvciBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnRpZXMKCjIwMTAtMDItMTggMTg6MjA6MjQgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9mZi1ieS1vbmUgbG9naWMgZXJyb3IgaW4gZnJhbWUgcmF0ZSBjYXAgcmVncmVzc2lvbiBjb21taXQKCjIwMTAtMDItMTcgMTY6Mjc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdGhlIGNvcnJlY3QgZHVyYXRpb24gd2hlbiBjb21wYXJpbmcgc2VnbWVudHMKCSAgRG8gbm90IGNvbmZ1c2UgUXREZW11eFNlZ21lbnRzIHdpdGggR3N0U2VnbWVudHMgd2hlbgoJICBjb21wYXJpbmcgdGhlIHRvdGFsIGZpbGUgZHVyYXRpb24gd2l0aCB0aGUgc2VnbWVudCBkdXJhdGlvbgoJICBGaXhlcyAjNjEwMjk2CgoyMDEwLTAyLTE3IDE4OjA2OjI5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBkdXJhdGlvbnMgbW9kdWxvIDE8PDMyCgkgIEZvciBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb25zIG9mIGVhY2ggc2FtcGxlLCB3ZSBhcmUgc3VwcG9zZWQgdG8gYWRkIGVhY2gKCSAgZHVyYXRpb24gbW9kdWxvIDE8PDMyIHNvIG1ha2UgdGhlIGVsYXBzZWQgdGltZSBjb3VudGVyIGEgdWludDMyLgoJICBGaXhlcyAjNjEwMjgwCgoyMDEwLTAyLTE2IDIxOjA1OjI0ICswMTAwICBBbmRlcnMgU2thcmdyZW4gPGFuZGVycy5za2FyZ3JlbiBhdCBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGltcHJvdmUgaGVhZGVyIG1pbWUtdHlwZSBwYXJzaW5nCgkgIE1ha2UgdGhlIGhhbmRpbmcgb2YgdGhlIG1pbWUgdHlwZSB3aXRoaW4gdGhlICJib3VuZGFyeSIgYSBiaXQgbGVzcyBuYWl2ZS4KCSAgVGhlIHN0YW5kYXJkIGZvciBNSU1FIGFsbG93cyBwYXJhbWV0ZXJzIHRvIGZvbGxvdyB0aGUgInR5cGUiIC8gInN1YnR5cGUiCgkgIGNsYXVzZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbWltZSB0eXBlIGJ5ICc7Jy4KCSAgTW9kaWZpZXMgdGhlIG11bHRpcGFydGRlbXV4ZXIncyBoZWFkZXIgcGFyc2luZyBzbyBpdCBkb2VzbnQgYXNzdW1lCgkgIHRoZSB3aG9sZSBsaW5lIGFmdGVyICJjb250ZW50LXR5cGU6IiBpcyB0aGUgbWltZSB0eXBlIGFuZCB0aHVzIG1ha2VzIGl0IGEgYml0CgkgIG1vcmUgcmVzaWxpZW50IHRvIGZpbmRpbmcgYWJzdXJkIG1pbWUgdHlwZXMgaW4gdGhlIGNhc2Ugd2hlcmUgcGFyYW1ldGVycyBhcmUKCSAgYWRkZWQuCgkgIEZpeGVzICM2MDQ3MTEKCjIwMTAtMDItMTYgMTk6NTM6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIHN0b3BwaW5nIE5VTEwgdGFza3MKCSAgQ2hlY2sgdGhlIHRhc2sgZm9yIE5VTEwsIGl0IGNvdWxkIGJlIHBhdXNlZCBhbmQgc2V0IHRvIE5VTEwgYmVmb3JlLgoKMjAxMC0wMi0xNiAxNjoyMjoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBBTEFDIGNvZGVjLWRhdGEgaGFuZGxpbmcKCSAgQUxBQyBjb2RlYy1kYXRhIGFwcGFyZW50bHkgY29tZXMgaW4gKGF0IGxlYXN0KSB0d28gZmxhdm91cnMgKG1vdiwgbXA0KSwKCSAgc28gdXNlIGF0b20gYmFzZWQgcGFyc2luZyB0byByZXRyaWV2ZSByZXF1aXJlZCBkYXRhLCByYXRoZXIgdGhhbgoJICBhaW1pbmcgZm9yIGEgc3BlY2lmaWMgb2Zmc2V0LgoJICBTZWUgYWxzbyAjNTgwNzMxLgoKMjAxMC0wMi0xNiAxNTo1MDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTAyLTExIDE5OjM5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBoYW5kbGUgc2lnbmVkIHZhbHVlcyBpbiAzR1BQIGxvY2F0aW9uIHRhZwoKMjAxMC0wMi0wOCAyMTozNTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCB0eXBvIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDItMTYgMTU6MDA6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVzZXQgc29tZSBtb3JlIHN0cmVhbSBzdGF0ZSBhZnRlciBzZWVrCgkgIEluIHBhcnRpY3VsYXIsIGZpeGVzIG5vbi1mbHVzaGluZyBzZWVrLgoKMjAxMC0wMi0xNiAxNDo0NDoxMSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggZnJhbWUgcmF0ZSBjYXAgcmVncmVzc2lvbgoJICBMb29rIGZvciBhIG5vbi16ZXJvIG1pbl9kdXJhdGlvbiBkdXJpbmcgaW5pdGlhbGlzYXRpb24gdG8gYXZvaWQKCSAgaW5jb3JyZWN0IGZyYW1lIHJhdGUgY2Fwcy4KCjIwMTAtMDItMTYgMTA6MTM6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGxvZyBtb3JlIGRldGFpbHMgaW4gYnVmZmVyIHBvb2wgZmluYWxpemUKCSAgSGVscHMgdG8gYWxpZ24gd2l0aCB0aGUgbG9nZ2luIGZyb20gbGlidjRsLgoKMjAxMC0wMi0xNiAxMDoxMTo0MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBpbml0IGRhdGFzdHJ1Y3R1cmVzIGFmdGVyIHByZS1jb25kaXRpb25zIGNoZWNrcwoKMjAxMC0wMi0xNiAxMDoxMDo0NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBhZGQgYSBmaXhtZSBmb3IgaGFuZGxpbmcgb3RoZXIgWVVWIHZhcmlhbnRzCgoyMDEwLTAyLTE2IDAxOjQwOjE5ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZQoJICBGaXhlcyAjNjEwMDUzLgoKMjAxMC0wMi0xNiAwMDo1MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVwIEdTVF9DWFhGTEFHUyBwcm9wZXJseQoJICBXZSBkb24ndCB3YW50IEMgc3BlY2lmaWMgZmxhZ3MgaW4gR1NUX0NYWEZMQUdTLCBzbyBiYXNlIGl0IG9uIHRoZQoJICBHU1RfQ0ZMQUdTIHRoYXQgb25seSBjb250YWlucyB0aGUgcGtnLWNvbmZpZyBDRkxBR1MgYnV0IG5vbmUgb2YKCSAgdGhlIEdTVF9PUFRJT05fQ0ZMQUdTLiBBbHNvLCB3ZSBvbmx5IG5lZWQgdGhlIGxvY2FsIGluY2x1ZGVzIG9uY2UuCgkgIEZpeCB0eXBvIGFzIHdlbGwgKEdTVF9GTEFHUyAtPiBHU1RfQ0ZMQUdTKS4KCjIwMTAtMDItMTUgMjM6MTM6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBiYXNlIEdTVF9DWFhGTEFHUyBvbiAtLWNmbGFncyBmcm9tIHBrZy1jb25maWcKCSAgcGtnLWNvbmZpZyBzZXRzIEdTVF9DRkxBR1MgYW5kIEdTVF9MSUJTLiBXZSBuZWVkIHRvIHVzZSBDRkxBR1MgYXMgYSBzdGFydGluZwoJICBwb2ludCBmb3IgZm9yIGJvdGggQyBhbmQgQ1hYIHNldHRpbmdzLgoKMjAxMC0wMS0yMCAxODo1Mjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogcmVtb3ZlIHVzZSBvZiBudHBfbnNfYmFzZQoKMjAxMC0wMS0yMCAxODoyMjoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogcmVtb3ZlIG1vcmUgbnRwbnN0aW1lIGFuZCBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSBjb2RlIHdoZXJlIHdlIHBhc3MgbnRwbnN0aW1lIGFyb3VuZCwgd2UgY2FuIGRvIG1vc3QgdGhpbmdzIHdpdGggdGhlCgkgIHJ1bm5pbmdfdGltZSBqdXN0IGZpbmUuCgkgIFJlbmFtZSBhIHZhcmlhYmxlIGluIHRoZSBBcnJpdmFsU3RhdHMgc3RydWN0IHNvIHRoYXQgaXQncyBjbGVhciB0aGF0IHRoaXMgaXMgdGhlCgkgIGN1cnJlbnQgc3lzdGVtIHRpbWUuCgoyMDEwLTAxLTIwIDE4OjE5OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXNlIHJ1bm5pbmdfdGltZSBmb3Igaml0dGVyCgkgIFVzZSB0aGUgcnVubmluZ190aW1lIHRvIGNhbGN1bGF0ZSB0aGUgaml0dGVyIGluc3RlYWQgb2YgdGhlIG50cCB0aW1lLiBQYXJ0IG9mCgkgIHRoZSBwbGFuIHRvIGdldCByaWQgb2YgbnRwbnNiYXNlLgoKMjAxMC0wMS0yMCAxNzowNDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBjaGFuZ2UgaG93IE5UUCB0aW1lIGlzIGNhbGN1bGF0ZWQgaW4gUlRDUAoJICBEb24ndCBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lIGJhc2VkIG9uIHRoZSBydW5uaW5nX3RpbWUgb2YgdGhlIHBpcGVsaW5lIGJ1dCBmcm9tCgkgIHRoZSBzeXN0ZW1jbG9jay4gVGhpcyBhbGxvd3MgdXMgdG8gZ2VuZXJhdGUgbW9yZSBhY2N1cmF0ZSBOVFAgdGltZXN0YW1wcyBpbiBjYXNlCgkgIHRoZSBzeXN0ZW1jbG9jayBpcyBzeW5jaHJvbml6ZWQgd2l0aCBOVFAgb3Igc2ltaWxhci4KCjIwMTAtMDItMTUgMTI6MTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBwcmludGYgZm9ybWF0IHN0cmluZyBmaXgKCSAgVGhlIGNvbXBpbGVyIHdhbnRzIGEgY2FzdCBoZXJlIGV2ZW4gdGhvdWdoIHRoZSB0eXBlIGlzIGFscmVhZHkKCSAgdHlwZWRlZmVkIGFzIDY0LWJpdCBpbnRlZ2VyIChwcmVzdW1hYmx5IGJlY2F1c2UgZ2xpYiBoYXMgdHlwZWRlZmVkCgkgIGd1aW50NjQgdG8gdW5zaWduZWQgbG9uZyBoZXJlKS4KCjIwMTAtMDItMTUgMTA6MzM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggcHJpbnRmIGZvcm1hdCBzdHJpbmcKCjIwMTAtMDItMTUgMDA6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICByYXcxMzk0LCBtYXRyb3NrYSwgcnRwbWFuYWdlcjogcmVtb3ZlIHBhZGRpbmcgZnJvbSBzdHJ1Y3R1cmVzCgkgIE5vbmUgb2YgdGhlc2UgZWxlbWVudCBhbmQgY2xhc3Mgc3RydWN0dXJlcyBhcmUgaW4gcHVibGljIGhlYWRlcnMsCgkgIHNvIGRvbid0IG5lZWQgcGFkZGluZy4KCjIwMTAtMDItMTUgMDA6NDc6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSBmb3IgbmV3IHRyYW5zbGF0b3IgY29tbWVudAoKMjAxMC0wMi0xNSAwMDo0NTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGNvbW1lbnQgZm9yIHRyYW5zbGF0b3JzIGZvciAneCBieSB5JyBtZXNzYWdlCgkgIEZpeGVzICM2MDk3MjQuCgoyMDEwLTAyLTE1IDAxOjI4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogRml4IGxlYWtpbmcgb2YgcGFkIHRlbXBsYXRlcwoKMjAxMC0wMi0xNSAwMDo1MDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGaXggdW5pdCB0ZXN0IGZvciBsYXRlc3QgY2hhbmdlcwoJICBOb3cgdGhlIGFscGhhIGlzIG11bHRpcGxpZWQgd2l0aCB0aGUgYWxyZWFkeSBleGlzdGluZyBhbHBoYQoJICB2YWx1ZSBpbnN0ZWFkIG9mIHNpbXBseSBpZ25vcmluZyBpdCBhbmQgdGhlIGx1bWEvY2hyb21hIHZhbHVlcwoJICBhcmUga2VwdCwgZXZlbiBpZiB0aGUgb3V0cHV0IGlzIDEwMCUgdHJhbnNwYXJlbnQuCgoyMDEwLTAyLTE1IDAwOjQ3OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEltcHJvdmUgdW5pdCB0ZXN0IG91dHB1dCBvbiBlcnJvcnMKCjIwMTAtMDItMTQgMjM6MTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NmRjNzkzIHRvIDQ0ZWNjZTcKCjIwMTAtMDItMTMgMjM6Mjg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgLWJhc2UgcmVxdWlyZW1lbnQgdG8gZ2l0CgkgIEZvciBHU1RfUklGRl9UQUdfSlVOUS4KCjIwMTAtMDItMTIgMTY6MTE6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyc2luazogY2hhbmdlIHJhbmsgdG8gTk9ORSBzbyBpdCBpcyBuZXZlciBhdXRvcGx1Z2dlZAoKMjAxMC0wMi0xMyAxODoxODo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IEF1ZGlvIHRhZ3Mgd2l0aG91dCBhbnkgY29udGVudCBhcmUgdmFsaWQuCgkgIFdlIHNpbGVudGx5IGlnbm9yZSB0aGVtIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LgoKMjAxMC0wMi0xMyAxODowNzo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IEZpeCBHU1RfQ0xPQ0tfRElGRiB1c2FnZS4KCSAgSXQgd2FzIHByZXZpb3VzbHkgY2hlY2tpbmcgZm9yIERJRkYoYSwgYiA+IDYgKiBHU1RfU0VDT05EKSBpbnN0ZWFkIG9mCgkgIHRoZSBwcm9wZXIgRElGRihhLGIpID4gNiAqIEdTVF9TRUNPTkQKCjIwMTAtMDItMTMgMTY6Mjc6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBmb3JnZXQgdG8gcmVzZXQgdGhlIGluZGV4ZWQgdmFyaWFibGUgd2hlbiBjbGVhbmluZyB1cAoKMjAxMC0wMi0xMyAxMTowMTo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IFNwZWVkdXAgR3N0SW5kZXggdXNhZ2UKCSAgVXNlZCB0aGUgX2FkZF9hc3NvY2lhdGlvbnYgdmFyaWFudCBvZiBHc3RJbmRleCBzaW5jZSB3ZSBrbm93IGhvdyBtYW55CgkgIGFzc29jaWF0aW9ucyB3ZSdyZSBhZGRpbmcuIFRyaW1zIHVwIHRvIDUwJSBmcm9tIGluZGV4IGdlbmVyYXRpb24gdGltZS4KCSAgTm90ZSA6IEl0IHdvdWxkIGJlIGdyZWF0IGlmIHRoZSBpbmRleCBjb3VsZCBiZSBnZW5lcmF0ZWQgb24gdGhlIGZseSBvcgoJICBvbiByZXF1ZXN0IGFzIG9wcG9zZWQgdG8gYmVpbmcgZnVsbHkgY3JlYXRlZCBhdCBzdGFydHVwLgoKMjAxMC0wMi0xMiAxOTozMjoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGRvbid0IHJlc3luYyB0byBpbnZhbGlkIHRpbWVzdGFtcHMKCSAgSWYgd2UgZGV0ZWN0IGJhY2t3YXJkIHRpbWVzdGFtcHMgb24gdGhlIHNlcnZlciwgZG9uJ3QgdHJ5IHRvIHJlc3luYyB3aGVuIHdlCgkgIGRvbid0IGhhdmUgYW4gaW5wdXQgdGltZXN0YW1wIChzdWNoIGFzIHdoZW4gdXNpbmcgUlRTUCBvdmVyIFRDUCkgaW5zdGVhZCwgZG8KCSAgbm90aGluZyBidXQgYXNzdW1lIHRoZSB0aW1lc3RhbXAgd2FzIG9rLCBpdCB3aWxsIGNvcnJlY3QgaXRzZWxmIHdoZW4gdGltZSBnb2VzCgkgIGZvcndhcmRzLgoKMjAxMC0wMi0xMiAxNzoyMTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCB0eXBvCgoyMDEwLTAyLTEyIDE2OjQ3OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc3RhcnQgb3V0IGFjdGl2ZSBhbmQgbm90IGJ1ZmZlcmluZwoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHNldCB0aGUgbGF0ZW5jeSBpbiB0aGUgaml0dGVidWZmZXIgaW4gX2luaXQsIHdlIHdpbGwgc2V0CgkgIHRoYXQgbGF0ZXIgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIFNldCB0aGUgaml0dGVyYnVmZmVyIGFjdGl2ZSBhbmQgbm90IGJ1ZmZlcmluZyB3aGVuIHN0YXJ0aW5nLgoKMjAxMC0wMS0yNyAxNzo1Nzo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IG1vcmUgYnVmZmVyaW5nIHdvcmsKCSAgV2hlbiBkZWFjdGl2YXRpbmcgaml0dGVyYnVmZmVycyB3aGVuIHRoZSBidWZmZXJpbmcgc3RhcnRzLCBrZWVwIHRoZSBjdXJyZW50CgkgIHBlcmNlbnQgb2YgdGhlIGppdHRlcmJ1ZmZlciBhbmQgYWxzbyBzZXQgdGhlIGppdHRlcmJ1ZmZlciBpbiB0aGUgYnVmZmVyaW5nIHN0YXRlCgkgIHNvIHRoYXQgd2Uga25vdyB3aGVuIGl0J3MgZmlsbGVkIGFnYWluLgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHRoZSBidWZmZXJpbmcgcGVyY2VudGFnZSBvZiB0aGUgaml0dGVyYnVmZmVyLgoKMjAwOS0xMC0xNCAxNjoyOTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkanVzdCBsYXRlbmN5IGluIGJ1ZmZlciBtb2RlCgkgIFdoZW4gd2UgYXJlIGluIGJ1ZmZlciBtb2RlLCBhZGp1c3QgdGhlIGJ1ZmZlcmluZyBsb3cvaGlnaCB0aHJlc2hvbGRzIGJhc2VkIG9uCgkgIHRoZSB0b3RhbCBjb25maWd1cmVkIGxhdGVuY3kuIElmIHdlIGRvbid0IGFuZCB0aGVyZSBpcyBhIGh1Z2UgcXVldWUgb3IgZWxlbWVudAoJICB3aXRoIGEgYmlnIGxhdGVuY3kgZG93bnN0cmVhbSB3ZSBtaWdodCBkcmFpbiB0aGUgY29tcGxldGUgcXVldWUgaW1tZWRpYXRlbHkgYW5kCgkgIHN0YXJ0IGJ1ZmZlcmluZyBhZ2Fpbi4KCjIwMDktMTAtMTIgMTE6NTQ6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgdHMtb2Zmc2V0IHRvIHRpbWVzdGFtcAoJICBBZGQgdGhlIHRzLW9mZnNldCB0byB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBnZXQgdGhlIGZpbmFsIG91dHB1dCB0aW1lc3RhbXAgb2YKCSAgdGhlIGJ1ZmZlci4KCjIwMDktMTAtMDggMTk6MjM6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwYmluOiBkbyBtb3JlIGFjY3VyYXRlIGJ1ZmZlciBvZmZzZXRzCgkgIFJldHVybiB0aGUgbmV4dCB0aW1lc3RhbXAgaW4gdGhlIGppdHRlcmJ1ZmZlci4KCSAgVXNlIHRoZSBtaW4tdGltZXN0YW1wIG9mIHRoZSBqaXR0ZXJidWZmZXJzIHRvIGNhbGN1bGF0ZSBhbiBvZmZzZXQgc28gdGhhdCB0aGUKCSAgbmV4dCB0aW1lc3RhbXAgaXMgcHVzaGVkIHdpdGggYSB0aW1lc3RhbXAgZXF1YWwgdG8gcnVubmluZ190aW1lLgoJICBTdGFydCBwcm9kdWNpbmcgdGltZXN0YW1wcyBmcm9tIDAgaW4gdGhlIGJ1ZmZlcmluZyBjYXNlIHRvby4KCjIwMDktMTAtMDggMTg6NDI6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBvbmx5IHN0YXJ0IGJ1ZmZlcmluZyB3aGVuIDwgMTAwJQoJICBPbmx5IHN0YXJ0IGJ1ZmZlcmluZyB3aGVuIHRoZSBwZXJjZW50YWdlIG1lc3NhZ2UgaXMgPCAxMDAgJS4KCjIwMDktMTAtMDYgMTM6MzQ6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjoga2VlcCB0cmFjayBvZiBlbGFwc2VkIHBhdXNlIHRpbWUKCSAgS2VlcCB0cmFjayBvZiB0aGUgdGltZSB3ZSBzcGVuZCBwYXVzaW5nIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4gdGhleSB3ZXJlCgkgIGJ1ZmZlcmluZyBhbmQgZGlzdHJpYnV0ZSB0aGlzIGVsYXBzZWQgdGltZSB0byB0aGUgaml0dGVyYnVmZmVycy4KCSAgQWxzbyBrZWVwIHRoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmQgcHJlY2lzaW9uLgoKMjAwOS0xMC0wNiAxMzozMzoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIG9mZnNldAoJICBLZWVwIHRyYWNrIG9mIGFuIG91dGdvaW5nIG9mZnNldCB0aGF0IHdlIGFkZCB0byBlYWNoIG91dGdvaW5nIGJ1ZmZlciB0bwoJICBjb21wZW5zYXRlIGZvciBQQVVTRSB3aGVuIGJ1ZmZlcmluZy4KCSAgQWRqdXN0IHRoZSBvZmZzZXQgd2hlbiBhY3RpdmF0aW5nLgoKMjAwOS0xMC0wNiAxMzozMDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlcG9ydCBsZXZlbCB1c2luZyBoaWdoIHdhdGVybWFyawoKMjAwOS0xMC0wNSAyMTozMTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRwYmluOiBwYXNzIHJ1bm5pbmdfdGltZSB0byBqaXR0ZXJidWZmZXIgcGF1c2UKCSAgUGFzcyB0aGUgY3VycmVudCBydW5uaW5nIHRpbWUgdG8gdGhlIGppdHRlcmJ1ZmZlciB3aGVuIHBhdXNpbmcgb3IgcmVzdW1pbmcgc28KCSAgdGhhdCBpdCBjYWxjdWxhdGUgdGhlIHJpZ2h0IG9mZnNldHMuCgkgIFNtYWxsIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCSAgU2V0IHRoZSBkZWZhdWx0IHJ0c3BzcmMgbGF0ZW5jeSB0byAyIHNlY29uZHMuCgoyMDA5LTEwLTA1IDIwOjA5OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBiaW46IGFkZCBzb21lIGNvbW1lbnRzCgoyMDA5LTEwLTA1IDE5OjQ1OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBtb3JlIGJ1ZmZlcmluZyB1cGRhdGVzCgkgIEFkZCBzaWduYWwgdG8gcGF1c2UgdGhlIGppdHRlcmJ1ZmZlci4gVGhpcyB3aWxsIGJlIGVtaXR0ZWQgZnJvbSBnc3RydHBiaW4gd2hlbgoJICBvbmUgb2YgdGhlIGppdHRlcmJ1ZmZlcnMgaXMgYnVmZmVyaW5nLgoJICBNYWtlIHJ0cGJpbiBjb2xsZWN0IHRoZSBidWZmZXJpbmcgbWVzc2FnZXMgYW5kIHBvc3QgYSBuZXcgYnVmZmVyaW5nIG1lc3NhZ2Ugd2l0aAoJICB0aGUgbWluIHZhbHVlLgoJICBSZW1vdmUgdGhlIHN0YXRzIGNhbGxiYWNrIGZyb20gaml0dGVyYnVmZmVyIGJ1dCBwYXNzIGEgcGVyY2VudCBpbnRlZ2VyIHRvCgkgIGZ1bmN0aW9ucyB0aGF0IGFmZmVjdCB0aGUgYnVmZmVyaW5nIHN0YXRlIG9mIHRoZSBqaXR0ZXJidWZmZXIuIFRoaXMgYWxsb3dzIHVzCgkgIHRoZW4gdG8gcG9zdCBidWZmZXJpbmcgbWVzc2FnZXMgZnJvbSBvdXRzaWRlIG9mIHRoZSBqaXR0ZXJidWZmZXIgbG9jay4KCjIwMDktMTAtMDUgMTM6MzI6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogcHJvcGFnYXRlIGJ1ZmZlci1tb2RlIHByb3BlcnR5CgkgIFByb3BhZ2F0ZSBidWZmZXItbW9kZSBwcm9wZXJ0eSB0byB0aGUgaml0dGVyYnVmZmVycy4KCSAgSW50ZXJjZXB0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBydHBiaW4KCjIwMDktMTAtMDEgMTc6MTQ6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGRvIG1vcmUgYnVmZmVyaW5nIGltcGxlbWVudGF0aW9uCgkgIEFkZCBjYWxsYmFjayBmb3IgYnVmZmVyaW5nIHN0YXRzLgoJICBDb25maWd1cmUgdGhlIGxhdGVuY3kgaW4gdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIHBhc3NpbmcgaXQgd2l0aCBfaW5zZXJ0LgoJICBDYWxjdWxhdGUgYnVmZmVyaW5nIGxldmVscyB3aGVuIHB1c2hpbmcgYW5kIHBvcHBpbmcKCSAgUG9zdCBidWZmZXJpbmcgbWVzc2FnZXMuCgoyMDA5LTEwLTAxIDEyOjQ2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBmbGVzaCBvdXQgYnVmZmVyaW5nIG1vZGUgc29tZSBtb3JlCgkgIEFkZCBhIGJ1ZmZlcmluZyBzdGF0ZSB0byB0aGUgaml0dGVyYnVmZmVyIGFuZCB3YWl0IHVudGlsIGJ1ZmZlcmluZyBlbmRzIGJlZm9yZQoJICBwdXNoaW5nIG91dCBwYWNrZXRzLgoKMjAwOS0xMC0wMSAxMjowOTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBob29rIHVwIHRoZSBtb2RlIHByb3BlcnR5CgkgIEV4cG9zZSBhIG1vZGUgcHJvcGVydHkgb24gdGhlIGppdHRlcmJ1ZmZlci4KCSAgRml4IHRoZSBjYXNlIHdoZXJlIHRpbWVzdGFtcHMgYXJlIC0xIGluIHRoZSBjaGVjayBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcy4KCjIwMDktMTAtMDEgMTE6MjA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIGJ1ZmZlcmluZyBtb2RlIG9wdGlvbnMKCSAgQWRkIGdldHRlcnMgYW5kIHNldHRlcnMgZm9yIGRpZmZlcmVudCBidWZmZXJpbmcgbW9kZXMgdGhhdCB0aGUgaml0dGVyYnVmZmVyIHdpbGwKCSAgc3VwcG9ydC4gRGVmYXVsdCB0byB0aGUgY3VycmVudCBzbGF2ZSBtb2RlLgoKMjAxMC0wMi0xMiAxNTo1NDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bHNpbms6IGxvd2VyIHJhbmsgdG8gTUFSR0lOQUwKCjIwMTAtMDItMTIgMTY6MDY6NDUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBPYnRhaW4gdGhlIGluZGV4IGZyb20gdGhlIGVuZCBvZiBhbiBmbHYgZmlsZSBpbiBwdXNoIG1vZGUKCSAgQWxsb3dzIGZvciBiZXR0ZXIgc3VwcG9ydCBvZiBzZWVraW5nIGluIGZsdiBmaWxlcyB3aGVuIGluIHB1c2ggbW9kZQoKMjAxMC0wMS0yMSAxMTo1NToxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBEcm9wIHZpZGVvIGZyYW1lcyB1cCB0byB0aGUgZGVzaXJlZCBrZXlmcmFtZSBhZnRlciBhIHNlZWsKCSAgVGhlIGF1ZGlvIHBhY2tldHMgaW4gQVZJIGFyZSBnZW5lcmFsbHkgbXV4ZWQgfjAuNXMgYmVmb3JlIHRoZQoJICBjb3JyZXNwb25kaW5nIHZpZGVvIHBhY2tldC4gVGhpcyBjaGFuZ2VzIGNhdXNlcyBkb3duc3RyZWFtIHRvIG9ubHkKCSAgcmVjZWl2ZSBwYWNrZXRzIHdpdGggcm91Z2hseSBjb3JyZXNwb25kaW5nIHRpbWVzdGFtcHMuCgoyMDEwLTAxLTE5IDE4OjM1OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogbW9yZSBESVNDT05UIGhhbmRsaW5nCgkgIEFkZCBzb21lIGRlYnVnIGluIHRoZSBESVNDT05UIGhhbmRsaW5nIGNvZGUuCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIERJU0NPTlQgaW4gcHVzaCBtb2RlLCBtYXJrIGFsbCBzdHJlYW1zIGFzIERJU0NPTlQuCgoyMDEwLTAxLTE5IDEwOjUxOjA4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggX2hhbmRsZV9zZWVrX3B1c2ggKCkgYW5kIG5ldyBzZWdlbWVudCBiZWhhdmlvdXIKCjIwMTAtMDEtMTggMTc6MTM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjbGVhbnVwcwoJICBNYWtlIHN1cmUgd2UgcmVzZXQgdGhlIGRlbXV4ZXIgY29ycmVjdGx5IHdydCBwYXJzaW5nIHRoZSBpbmRleC4KCSAgRG9uJ3QgbGVhayBwZW5kaW5nIHNlZWsgZXZlbnRzLgoJICBSZW5hbWUgc29tZSBtZXRob2RzIHRvIHJlZmxlY3Qgd2hhdCB0aGV5IGRvIGFuZCB0byBhdm9pZCBjb25mdXNpb24gd2l0aCBzaW1pbGFyCgkgIG1ldGhvZCBuYW1lcy4KCSAgVHJ5IHRvIG1ha2UgdGhlIHNlZWtpbmcgdGhyZWFkc2FmZSBieSBwcm90ZWN0aW5nIHRoZSBzZXR1cCBjb2RlIHdpdGggYSBsb2NrLgoJICBNYWtlIHN1cmUgd2UgcG9zdCBlcnJvcnMgd2hlbiBhIHNlZWsgZmFpbHMuCgoyMDEwLTAxLTE4IDExOjQ1OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiByZW5hbWUgc29tZSB2YXJpYWJsZXMKCSAgc2Vla19ldmVudCAtPiBzZWdfZXZlbnQKCSAgZXZlbnRfc2VlayAtPiBzZWVrX2V2ZW50CgoyMDEwLTAxLTE1IDE4OjAwOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdGFrZSBmYWxsYmFjayBkdXJhdGlvbiBmcm9tIGF2aWgKCSAgV2hlbiB3ZSBoYXZlIG5vdCBwYXJzZWQgYW55IGluZGV4ZXMgeWV0LCB3ZSBkb24ndCBrbm93IHRoZSBsZW5ndGggb2YgdGhlIHN0cmVhbXMKCSAgYW5kIHdlIG11c3QgdGFrZSB0aGUgbGVuZ3RoIGdpdmVuIGluIHRoZSBhdmloIGFzIGEgZmFsbGJhY2suCgkgIEF2b2lkIHNvbWUgdHlwZWNoZWNraW5nLgoKMjAwOS0xMi0wNCAxNToxMzoxMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBQdXNoIG1vZGUgc2Vla2luZyBzdXBwb3J0CgoyMDEwLTAyLTAxIDE2OjA0OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjbGVhbnVwIHByb3BlcnRpZXMKCSAgVXNlIG1vcmUgZGVmYXVsdCBjb25zdGFudHMuCgkgIFVzZSBzdGF0aWMgc3RyaW5ncyBwYXJhbSBmbGFnLgoJICBJbml0IHByb3BlcnRpZXMgZXhwbGljaXRseSBpbnN0ZWFkIG9mIGxldHRpbmcgZ29iamVjdCBkbyB0aGlzLgoKMjAxMC0wMi0xMiAxNTozNDozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4OiBhZGQgbWlzc2luZyBpbmNsdWRlCgoyMDEwLTAyLTA1IDEzOjI4OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiBmaXggbXVsdGktdmFsdWUgdGFnIGV4YW1wbGUKCSAgV2UgbmVlZCB0byB1c2Uge30gdG8gc3BlY2lmeSBhIGxpc3QuCgoyMDEwLTAyLTAxIDE0OjQzOjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmksd2F2OiBhbHNvIGhhbmRsZSBKVU5RIGNodW5rIGluIGFkZGl0aW9uIHRvIEpVTksKCjIwMTAtMDItMDQgMTU6NTk6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cHBheTogZG9uJ3QgaWdub3JlIHJlc3VsdCBmcm9tIHNldF9vdXRjYXBzCgkgIHNldF9vdXRjYXBzIGNhbiBmYWlsIGFuZCB3ZSBuZWVkIHRvIHByb3BhZ2F0ZSB0aGUgcmVzdWx0IHVwc3RyZWFtLgoKMjAxMC0wMi0wNCAxNTozNjoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2cGFyc2U6IGZpeCBjb25mdXNpbmcgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDEtMjcgMTM6Mjg6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm8KCjIwMTAtMDEtMjcgMTM6MjY6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYXZvaWQgc2VnZmF1bHQgd2hlbiBzaHV0dGluZyBkb3duCgkgIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24sIHdlIG1pZ2h0IHN0aWxsIHJlY2VpdmUgc3RhdGUgdXBkYXRlcyBmcm9tIHB1bHNlYXVkaW8KCSAgYnV0IHNpbmNlIHdlIGFyZSB1bnBhcmVudGVkIHdlIHNob3VsZCBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgTlVMTCBwYXJlbnQKCSAgYW55bW9yZS4KCjIwMTAtMDEtMjYgMTg6MzM6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogZml4IHRpbWVzdGFtcCBwcm9ibGVtcwoJICBXaGVuIHRoZSBwYWQgd2l0aCB0aGUgaGlnaGVzdCBmcmFtZXJhdGUgZ29lcyBFT1MsIGluc3RlYWQgb2Ygbm90IHRpbWVzdGFtcGluZwoJICBvdXRwdXQgYnVmZmVycywgaW50ZXBvbGxhdGUgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIGZyb20gdGhlIGxhc3Qgc2VlbiBvbmVzLgoJICBGaXhlcyAjNjA4MDI2CgoyMDEwLTAyLTEyIDExOjMyOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDItMTIgMTE6MTg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgTW92ZWQgJ3NoYXBld2lwZScgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEZpeGVzIGJ1ZyAjNTg0NTM2LgoKMjAxMC0wMi0xMCAxMDo1Mjo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjkvMjldIHNoYXBld2lwZTogUHJlc2VydmUgdGhlIGlucHV0IGNvbG9yIHZhbHVlcyBpbiBhbGwgY2FzZXMKCjIwMTAtMDItMTAgMTA6NTA6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI4LzI5XSBzaGFwZXdpcGU6IFNjYWxlIG1hc2sgYWxwaGEgdmFsdWVzIGJ5IHRoZSBzb3VyY2UgYWxwaGEgdmFsdWVzCgoyMDEwLTAyLTEwIDEwOjQyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNy8yOV0gc2hhcGV3aXBlOiBGaXggQVJHQiBwcm9jZXNzaW5nCgoyMDEwLTAyLTEwIDEwOjM0OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjYvMjldIHNoYXBld2lwZTogUHJpbnQgc29tZSBtb3JlIGRldGFpbHMgb24gZXJyb3Ivd2FybmluZyBtZXNzYWdlcwoKMjAxMC0wMi0wOCAwODoyNjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjUvMjldIHNoYXBld2lwZTogSW1wcm92ZS9hZGQgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjIwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNC8yOV0gc2hhcGV3aXBlOiBBbHdheXMgaG9sZCB0aGUgbWFzayBtdXRleCBiZWZvcmUgc2lnbmFsbGluZyB0aGUgR0NvbmQKCjIwMTAtMDItMDggMDg6MTk6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDIzLzI5XSBzaGFwZXdpcGU6IE1vdmUgY2hhaW4gZnVuY3Rpb24gZXJyb3IgY2FzZXMgYXQgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24gYW5kIGFkZCB1c2VmdWwgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjEyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyMi8yOV0gc2hhcGV3aXBlOiBGaXggcmFjZSBjb25kaXRpb24gZHVyaW5nIHNodXRkb3duIHRoYXQgY2FuIGxlYWQgdG8gYSBkZWFkbG9jawoKMjAxMC0wMi0wOCAwODoxMTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjEvMjldIHNoYXBld2lwZTogRHJvcCBtYXNrIGJ1ZmZlciBvbiBGTFVTSCBldmVudHMKCjIwMTAtMDItMDggMDg6MDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDIwLzI5XSBzaGFwZXdpcGU6IFVwZGF0ZSBjb3B5cmlnaHQgeWVhcgoKMjAxMC0wMi0wOCAwODowODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTkvMjldIHNoYXBld2lwZTogRG9uJ3QgcmVzZXQgcHJvcGVydGllcyB3aGVuIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgQWxzbyB1c2UgZGVmaW5lcyBmb3IgdGhlIGRlZmF1bHQgdmFsdWVzIG9mIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMC0wMS0xNiAxNjo1MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTgvMjldIHNoYXBld2lwZTogUmVwbGFjZSBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGluIHRoZSBpbm5lciBwcm9jZXNzaW5nIGxvb3BzIGJ5IGludGVnZXIgYXJpdGhtZXRpYwoKMjAwOS0xMi0xMCAxMDo0MDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTcvMjldIHNoYXBld2lwZTogRG9uJ3QgZG8gcG9pbnRlciBkZXJlZmVyZW5jZXMgaW4gdGhlIHByb2Nlc3NpbmcgbG9vcAoJICBMb3dlcnMgdGhlIHRpbWUgdGFrZW4gdGhlcmUgaW4gbXkgdGVzdGNhc2UgZnJvbSA2LjkxJSB0byA2LjIwJQoJICBhcyBtZWFzdXJlZCBieSBjYWxsZ3JpbmQuCgoyMDA5LTA3LTA4IDE3OjU5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxNi8yOV0gc2hhcGV3aXBlOiBBZGQgQkdSQSBzdXBwb3J0IGZvciB2aWRlbyBpbi9vdXRwdXQKCjIwMDktMDctMDIgMTE6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDE1LzI5XSBzaGFwZXdpcGU6IEFkZCBzdXBwb3J0IGZvciBBUkdCIHZpZGVvIGlucHV0L291dHB1dAoKMjAwOS0wNi0yMyAxODoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTQvMjldIHNoYXBld2lwZTogQ29ycmVjdGx5IGhhbmRsZSAwLzEgZnBzCgoyMDA5LTA2LTA5IDE5OjE0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMy8yOV0gc2hhcGV3aXBlOiBJbXBsZW1lbnQgYmFzaWMgUW9TCgkgIFRoaXMgY2hhbmdlIGlzIGJhc2VkIG9uIFRpbSdzIFFvUyBpbXBsZW1lbnRhdGlvbgoJICBmb3IganBlZ2RlYy4KCjIwMDktMDYtMDkgMTg6NDU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyLzI5XSBzaGFwZXdpcGU6IFByb3h5IHF1ZXJpZXMgb24gdGhlIHZpZGVvIHBhZHMgdG8gdGhlIGNvcnJlY3QgcGVlcnMKCjIwMDktMDYtMDkgMTg6Mzc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDExLzI5XSBzaGFwZXdpcGU6IFByb3h5IGJ1ZmZlcmFsbG9jIG9uIHRoZSB2aWRlbyBzaW5rcGFkCgoyMDA5LTA2LTA5IDE4OjI1OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMC8yOV0gc2hhcGV3aXBlOiBUcnkgdG8gd29yayBpbnBsYWNlIGlmIHBvc3NpYmxlCgkgIFRoaXMgc2F2ZXMgb25lIG5ldywgbGFyZ2UgYWxsb2NhdGlvbiBwZXIgZnJhbWUgZm9yIHRoZQoJICBtb3N0IGNhc2VzLgoKMjAwOS0wNi0wNCAwODo1NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5LzI5XSBzaGFwZXdpcGU6IEluY3JlYXNlIHRpbWVvdXQgb2YgdGhlIHVuaXQgdGVzdAoKMjAwOS0wNi0wMSAyMToyNDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgvMjldIHNoYXBld2lwZTogRml4IHNvbWUgaXNzdWVzIHRoYXQgd2VyZSBleHBvc2VkIGJ5IHRoZSBuZXcgdW5pdCB0ZXN0CgoyMDA5LTA2LTAxIDIxOjI0OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDcvMjldIHNoYXBld2lwZTogQWRkIHVuaXQgdGVzdCBmb3Igc2hhcGV3aXBlCgoyMDA5LTA1LTMxIDIxOjMzOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNi8yOV0gc2hhcGV3aXBlOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNS0yOSAyMTowNzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUvMjldIHNoYXBld2lwZTogQWRqdXN0IGJvcmRlciB0byBzdGlsbCBoYXZlIGV2ZXJ5dGhpbmcgdHJhbnNwYXJlbnQgYXQgMS4wIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZAoKMjAwOS0wNS0yOSAxNjo1NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0LzI5XSBzaGFwZXdpcGU6IERpdmlkZSB0aGUgYm9yZGVyIHZhbHVlIGJ5IHR3bywgb3RoZXJ3aXNlIHdlIHVzZSBhIHR3aWNlIGEgd2lkZSBib3JkZXIKCjIwMDktMDUtMjkgMTY6NTE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMy8yOV0gc2hhcGV3aXBlOiBBZGQgYm9yZGVyIHByb3BlcnR5IHRvIGFsbG93IHNtb290aCBib3JkZXJzCgkgIC4uLmFuZCB1c2UgYSBib3JkZXIgb2YgMC4wMSBpbiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4KCjIwMDktMDUtMjkgMTY6MDA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIvMjldIHNoYXBld2lwZTogRml4IE1ha2VmaWxlIG9mIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDA5LTA1LTI5IDE1OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMS8yOV0gc2hhcGV3aXBlOiBBZGQgYSBzaW1wbGUgc2hhcGV3aXBlIHRyYW5zaXRpb24gZmlsdGVyICYgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAxMC0wMi0wNiAxODoxOToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IE9ubHkgZmx1c2ggdGhlIEZMQUMgZGVjb2RlciBpZiBpdCB3YXNuJ3QgY3JlYXRlZCByaWdodCBiZWZvcmUKCSAgSWYgdGhlIEZMQUMgZGVjb2RlciBpcyBmbHVzaGVkLCBpdHMgc3RhdGUgd2lsbCBiZSBzZXQgdG8gZnJhbWUtc3luYyBtb2RlLAoJICB3aGljaCB3aWxsIHN5bmMgdG8gdGhlIG5leHQgKmF1ZGlvKiBmcmFtZSBhbmQgbWFrZXMgaXQgaWdub3JlIGFsbCBoZWFkZXJzLgoJICBUaGlzIHByZXZlbnRlZCB0YWdzIGFuZCBldmVyeXRoaW5nIGVsc2UgdG8gc2hvdyB1cCB3aGVuIHVzaW5nIGZsYWNkZWMKCSAgaW4gcHVzaCBtb2RlLgoJICBGaXhlcyBidWcgIzYwODg0My4KCjIwMTAtMDItMTEgMDE6MTI6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTUFJTlRBSU5FUlM6CgkgIFVwZGF0ZSBNQUlOVEFJTkVSUwoKMjAxMC0wMi0xMiAwMDowMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYmFjayB0byBkZXZlbG9wbWVudAoJICBTbHVzaHkgZnJlZXplIHJlbWFpbnMgaW4gZWZmZWN0LgoKPT09IHJlbGVhc2UgMC4xMC4xOCA9PT0KCjIwMTAtMDItMTAgMjM6MTg6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOAoKMjAxMC0wMi0xMCAyMzoxNzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAyLTEwIDIwOjM2OjU2ICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHRlbXBvcmFyeSBzYWZldHkgY2hlY2sgdG8gYXZvaWQgY3Jhc2hlcyB3aXRoIGEgY2VydGFpbiBmaWxlCgkgIEFkZCB0ZW1wb3JhcnkgY2hlY2sgdG8gYXZvaWQgY3Jhc2hlcyB3aXRoIGEgY2VydGFpbiBmaWxlIHdoZW4gc2Vla2luZwoJICB1bnRpbCB0aGUgcmVhbCBjYXVzZSBvZiB0aGlzIGlzIGZpZ3VyZWQgb3V0LiBTZWUgIzYwOTQwNS4KCjIwMTAtMDItMDUgMTg6MDU6MzkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBza2lwIHVua25vd24gYXRvbXMgd2hlbiBsb29raW5nIGZvciBtb292CgkgIEZpeGVzIGJ1ZyAjNjA5MTA3CgoyMDEwLTAyLTA1IDAyOjEzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDItMDQgMTk6MTA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2h1LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wMi0wNCAxNDo0Njo1NiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFNldCB0aGUgc2VnbWVudCBzdGFydCB0aW1lIHRvIHRoZSByZXF1ZXN0ZWQgc2VlayB0aW1lIGZvciBub24ta2V5ZnJhbWUgc2Vla3MKCjIwMTAtMDItMDQgMTI6MDA6MDMgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHRpbWUgcmV0dXJuZWQgZm9yIGluZGV4IGF0IGEgYnl0ZSBvZmZzZXQKCSAgVGhlIGxvZ2ljIGZvciBzZWFyY2hpbmcgZm9yd2FyZHMvYmFja3dhcmRzIHdhcyBzd2FwcGVkCgoyMDEwLTAyLTAxIDE5OjIyOjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogaW5pdGlhbGl6ZSBzdGVyZW8gZGVjb2Rpbmcgc3RhdGUKCjIwMTAtMDEtMjggMTg6NTg6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgc3RyZWFtIHN5bmNocm9uaXphdGlvbgoJICBJbiBwYXJ0aWN1bGFyLCBkbyBub3QgbWFrZSBpdCBzZW5kIG5ld3NlZ21lbnQgdXBkYXRlcyB0aGF0CgkgIHNvcnQtb2YgY29udHJhZGljdCB0aGUgaW5kZW50ZWQgcGxheWJhY2sgc2VnbWVudCAoZS5nLiBzdGFydCB0aW1lKS4KCjIwMTAtMDEtMjggMTg6NTM6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBicmlkZ2luZyAodGltZSkgZ2FwcyBpbiBzdHJlYW1zCgkgIEFzIGEgc2lkZSBlZmZlY3QsIGF2b2lkIHNlbmRpbmcgbmV3c2VnbWVudCB1cGRhdGVzIHdpdGggc3RhcnQgdGltZXMKCSAgdGhhdCBnbyBiYWNrIGFuZCBmb3J0aCwgd2hpY2ggbGVhZHMgdG8gYm9ndXMgZG93bnN0cmVhbSBydW5uaW5nX3RpbWUuCgkgIEFsc28gZml4ZXMgc2Vla2luZyBpbiBidWcgIzYwNjc0NC4KCjIwMTAtMDEtMjggMTg6NDk6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzdHJlYW0gc3luY2hyb25pemF0aW9uCgkgIC4uIGJ5IGluaXRpYWxpemluZyBzdHJlYW1zIHN0YXJ0aW5nIGF0IDAsIGFzIHRoYXQgaXMgYmFzaWNhbGx5CgkgIHdoZXJlIHdlICdzZWVrIHRvJyBhdCB0aGUgc3RhcnQgYW5kIGFzc3VtZSBzdHJlYW1zIHRvIHN0YXJ0IGVsc2V3aGVyZS4KCSAgQWxzbyBlbmFibGVzIG5ld3NlZ21lbnQgdXBkYXRlIGV2ZW50cyBmb3Igc3VidGl0bGUgc3RyZWFtcy4KCjIwMTAtMDItMDIgMTM6NDE6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZzogZG9uJ3QgZGlyZWN0bHkgYWNjZXNzIG1lc3NhZ2UsIHNvbWUgbWVzc2FnZSBoYXZlIGFyZ3MKCSAgVGhpcyBjYXVzZWQgYm9ndXMgbWVzc2FnZXMsIHN1Y2ggYXMgcmVwb3J0ZWQgaW4gYnVnICM2MDc0NzEuCgoyMDEwLTAyLTAyIDAwOjAyOjM0ICswMDAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZzogZml4IGNvbXBpbGF0aW9uIHdpdGggbGlicG5nIDEuNAoJICBwbmdfc2V0X2dyYXlfMV8yXzRfdG9fOCgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGEgd2hpbGUgYW5kIHdhcwoJICBmaW5hbGx5IHJlbW92ZWQgaW4gbGlicG5nIDEuNC54LiBVc2UgcG5nX3NldF9leHBhbmRfZ3JheV8xXzJfNF90b184KCkKCSAgaW5zdGVhZC4KCSAgRml4ZXMgIzYwODYyOS4KCjIwMTAtMDItMDEgMTY6NDY6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZyZWUgdHJhbnNwb3J0cyBvbiBlcnJvcnMKCSAgU2VlICM2MDg1NjQKCjIwMTAtMDItMDEgMDk6MTg6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggdW5wb3J0YWJsZSBwcmludGYgZm9ybWF0CgoyMDEwLTAxLTMwIDE1OjE4OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTVkNDdhNiB0byA5NmRjNzkzCgoyMDEwLTAxLTI3IDE3OjUzOjA3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGluZGV4IHRpbWVzdGFtcHMgc2hvdWxkIGJlIGluIHNlY29uZHMsIG5vdCBtaWxsaXNlY29uZHMKCjIwMTAtMDEtMjcgMTU6MjQ6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBmcmVlIHNvbWUgbW9yZSB3aGVuIHJlc2V0dGluZwoJICBGaXhlcyAjNjA4MjU1LgoKMjAxMC0wMS0yNyAxNToyNDoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIHJ0cHNwZWV4cGF5OiBmaXggb2NjYXNpb25hbCBidWZmZXIgbGVhawoJICBGaXhlcyAjNjA4MjU1LgoKMjAxMC0wMS0yNyAxNToyMjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IHByZXZlbnQgaW52YWxpZCBhcml0aG1ldGljIGlmIG5vdCBzZXR1cCB5ZXQKCSAgRml4ZXMgIzYwODI1NS4KCjIwMTAtMDEtMjcgMTY6MzQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IEZpeCBhc3NlbWJseSByZWdpc3RlciBjb25zdHJhaW50cwoJICBGaXhlcyBidWcgIzYwODIwOS4KCjIwMTAtMDEtMjcgMDE6NTY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMiBwcmUtcmVsZWFzZQoKMjAxMC0wMS0yNyAwMTo1Mjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wMS0yNyAwMTo0OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVja3M6IGlnbm9yZSBkZWludGVybGFjZSBjaGVjayBiaW5hcnkKCjIwMTAtMDEtMjcgMDE6MTg6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHB1cmdlIGFsbCBtZW50aW9uIG9mIENWUwoKMjAxMC0wMS0yNiAxMToxODoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGlnbm9yZSBzdHJlYW1zIHRoYXQgZmluaXNoZWQKCSAgV2hlbiB3ZSByZWNlaXZlIGFuIFVORVhQRUNURUQgZnJvbSBhIHN0cmVhbSwgbW92ZSB0byB0aGUgbmV4dCBzdHJlYW0gYW5kIG9ubHkgZ28KCSAgRU9TIHdoZW4gYWxsIHN0cmVhbXMgYXJlIEVPUy4gV2hlbiBzZWxlY3RpbmcgYSBzdHJlYW0gdG8gcHVzaCwgaWdub3JlIHN0cmVhbXMKCSAgdGhhdCB3ZW50IEVPUy4KCSAgRml4ZXMgIzYwNzk0OQoKMjAxMC0wMS0yNSAxNzoyMzo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBkb24ndCBkZXJlZiBOVUxMCgkgIEVycm9yIG91dCB3aGVuIHRoZSBwb29sIGdldHMgc2h1dGRvd24uCgoyMDEwLTAxLTI1IDE3OjIxOjEzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJldmVydCAidjRsMnNyYzogZG9uJ3QgZGVyZWYgTlVMTCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzZDlkMzRiZDYwZmFlYjk0MGIzNmQ5OTJhNDcxNjhmYzg5NTAzNmJhLgoKMjAxMC0wMS0yNSAxNDoxNjoyMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2NGwyc3JjOiBkb24ndCBkZXJlZiBOVUxMCgkgIEVycm9yIG91dCB3aGVuIHRoZSBwb29sIGdldHMgc2h1dGRvd24uCgoyMDEwLTAxLTIzIDE1OjMyOjQ4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHdoZW4gY3JlYXRpbmcgYW4gb3ZlcmZsb3cgYnVmZmVyLCBjb3B5IHRpbWVzdGFtcHMuCgoyMDEwLTAxLTIzIDE0OjQ3OjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbWIxIGlzIGEgdmFsaWQgZm91cmNjIGZvciBNb3Rpb24tSlBFRwoKMjAxMC0wMS0yMyAxNDoyMDowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZXV4OiBJVjMyIGlzIGFsc28gdXNlZCBmb3IgSW5kZW8gMyB2aWRlbyBzdHJlYW1zCgoyMDEwLTAxLTIyIDE2OjQ4OjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICBidWlsZDogbm8gdW51c2VkIHZhcmlhYmxlcyB3aGVuIGRpc2FibGluZyBhc3NlcnRzCgoyMDEwLTAxLTIxIDIzOjE3OjQwIC0wMzAwICBSb2xhbmQgS3Jpa2F2YSA8cmtyaWthdmFAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBdm9pZCBuZWdhdGl2ZSBvdmVyZmxvdyBvbiBrZXlmcmFtZSBzZWFyY2gKCSAgRG8gbm90IG92ZXJmbG93IG5lZ2F0aXZlbHkgd2hlbiBzZWFyY2hpbmcgYSBwcmV2aW91cwoJICAia2V5ZnJhbWUiIG9uIGF1ZGlvIHN0cmVhbXMuIENvdWxkIGNhdXNlIGluZmluaXRlIGxvb3BzCgkgIG9uIGJhY2t3YXJkcyBwbGF5YmFjawoJICBGaXhlcyAjNjA3NzE4CgoyMDEwLTAxLTIxIDE3OjIyOjM4IC0wODAwICBQZXRlciB2YW4gSGFyZGVuYmVyZyA8cHZoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogZW5sYXJnZSBidWZmZXIgaWYgbGlianBlZyB0ZWxscyB1cyBpdCdzIG91dCBvZiBzcGFjZS4gRml4ZXMgYnVmZmVyIG92ZXJmbG93IG9uIHNvbWUgaGlnaC1xdWFsaXR5LCBsb3ctcmVzb2x1dGlvbiBqcGVnIGVuY29kZXMuCgoyMDEwLTAxLTIxIDE5OjI0OjIyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHVuZGVyIE9TIFguCgoyMDEwLTAxLTIxIDE3OjU3OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgcGFyc2UgTlVMTCBpbmRleGVzCgkgIGZvciBzb21lIHN0cmVhbXMgd2UgbWlnaHQgZmFpbCB0byBmZXRjaCB0aGUgaW5kZXggb2Zmc2V0cy4gRG9uJ3QgdHJ5IHRvIHBhcnNlCgkgIE5VTEwgaW5kZXhlcyBpbiB0aG9zZSBjYXNlcy4KCjIwMTAtMDEtMTggMjE6MTU6NTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBwdGltZSBzaG91bGQgaXMgaW4gbmFub3NlY29uZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzQwMwoKMjAxMC0wMS0yMCAxNToxMToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IFBvc3Qgd2FybmluZyBpZiBmaWxlIGlzbnQgZmluaXNoZWQgcHJvcGVybHkKCSAgV2hlbiB0aGUgcGlwZWxpbmUgaXMgc2h1dCBkb3duIGFuZCB0aGUgZmlsZSBpc24ndAoJICBmaW5pc2hlZCBwcm9wZXJseSwgd2F2ZW5jIHNob3VsZCBwb3N0IGEgd2FybmluZy4KCSAgRml4ZXMgIzYwNzQ0MAoKMjAwOS0wNS0yNyAxMzo1MTo0NCArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGluZGV4IHNpemUgY29uZmlndXJhYmxlLgoJICBBZGRlZCB0aGUgJ21pbi1pbmRleC1pbnRlcnZhbCcgcHJvcGVydHkgdG8gbWF0cm9za2FtdXgsCgkgIHdoaWNoIGRldGVybWluZXMgaG93IG11Y2ggdGltZSAobmFub3NlY29uZHMpIGlzIGxlZnQKCSAgYmV0d2VlbiBrZXlmcmFtZXMgc3RvcmVkIGluIHRoZSBpbmRleC4KCSAgRml4ZXMgIzU4Mzk4NS4KCjIwMTAtMDEtMjAgMTY6Mjg6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogc2NhbGUgc3BzcHBzX2ludGVydmFsIHRvIG1pbGxpc2Vjb25kcwoJICBUaGUgc3BzcHBzX2ludGVydmFsIGlzIGtlcHQgaW4gc2Vjb25kcy4gQ29udmVydCBpdCB0byBtaWxsaXNlY29uZHMgYmVmb3JlCgkgIGNvbXBhcmluZyBpdCB0byBhbm90aGVyIHZhbHVlIGluIG1pbGxpc2Vjb25kcy4KCjIwMTAtMDEtMjAgMTU6MTg6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHdheXMga2VlcCBtZWRpYSBzZWdtZW50cyB3aXRoaW4gdG90YWwgZHVyYXRpb24KCSAgLi4uIGFzIG9wcG9zZWQgdG8gb25seSBkb2luZyBzbyBmb2xsb3dpbmcgYSBzZWVrLgoKMjAxMC0wMS0yMCAxNTo0NDo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiByZW5hbWUgc3BzcHBzLWludGVydmFsIHByb3BlcnR5CgkgIFJlbmFtZSB0aGUgc3BzcHBzLWludGVydmFsIHByb3BlcnR5IHRvIGNvbmZpZy1pbnRlcnZhbCBiZWNhdXNlIGl0IGlzIG5pY2VyLgoKMjAxMC0wMS0xOSAxODozNzozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNraXAgUklGRiBhbmQgaW5kZXggaW4gcHVzaCBtb2RlCgkgIFdoZW4gd2UgYXJlIGluIHB1c2ggbW9kZSwgd2UgY2FuIGVuY291bnRlciBSSUZGIGFuZCBpZHggdGFncyBpbiB0aGUgZGF0YSBjaHVuawoJICB3aGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggT0RNTCBmaWxlcy4gSW4gdGhlc2UgY2FzZXMsIHNpbXBseSBza2lwIHRoZSBjaHVua3MgYW5kCgkgIGNvbnRpbnVlIHN0cmVhbWluZyBpbnN0ZWFkIG9mIGdvaW5nIEVPUy4KCjIwMTAtMDEtMjAgMTE6Mjc6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBtb3JlIERJU0NPTlQgaGFuZGxpbmcKCSAgQWRkIHNvbWUgZGVidWcgaW4gdGhlIERJU0NPTlQgaGFuZGxpbmcgY29kZS4KCSAgV2hlbiB3ZSByZWNlaXZlIGEgRElTQ09OVCBpbiBwdXNoIG1vZGUsIG1hcmsgYWxsIHN0cmVhbXMgYXMgRElTQ09OVC4KCjIwMTAtMDEtMjAgMTE6MjY6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXNldCBvbiBmbHVzaCBldmVudHMKCSAgV2hlbiB3ZSByZWNlaXZlIGEgZmx1c2ggZXZlbnQgb24gdGhlIHNpbmtwYWQsIHJlc2V0IHRoZSBFT1Mgc3RhdGUgYW5kIHRoZQoJICBmbG93cmV0dXJuIG9mIGFsbCBzdHJlYW1zLiBBbHNvIG1hcmsgdGhlIHN0cmVhbXMgd2l0aCBhIERJU0NPTlQuCgoyMDEwLTAxLTIwIDExOjIyOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiByZW5hbWUgc29tZSB2YXJpYWJsZQoJICBSZW5hbWUgdGhlIHNlZWtfZXZlbnQgdmFyaWFibGUgdG8gc2VnX2V2ZW50IGJlY2F1c2UgaXQgcmVhbGx5IGNvbnRhaW5zIHRoZQoJICBuZXdzZWdtZW50IGV2ZW50IHRoYXQgbmVlZHMgdG8gYmUgcHVzaGVkLgoKMjAxMC0wMS0yMCAwMDo1NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE0Y2VjODkgdG8gMTVkNDdhNgoKMjAxMC0wMS0xOCAxNDo0OToyNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBEb24ndCBzZXQgcHJvZmlsZS1sZXZlbC1pZCBpbiBvdXQgY2FwcwoJICBUaGUgcHJvZmlsZS1sZXZlbC1pZCByZXByZXNlbnRzIHJlc3RyaWN0aW9ucyBvbiB3aGF0IGNhbiBiZSBzZW50LCBpdCBkb2VzIG5vdAoJICBkZXNjcmliZSB0aGUgc3RyZWFtLiBTbyBpdCBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBzaW5rIGNhcHMgb2YgdGhlCgkgIHBheWxvYWRlciwgbm90IHRoZSBzcmMgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzM1MwoKMjAxMC0wMS0xOCAxNDo0MToxMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIGZyb20gc2V0X291dGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzM1MwoKMjAxMC0wMS0xOCAxNzo0Mzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgaGVhZGVycwoKMjAxMC0wMS0xOCAxNDo1Nzo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogbW92ZSBHX0VORF9ERUNMUyB0byB0aGUgZW5kCgoyMDEwLTAxLTE4IDE0OjU1OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBmaXggYnVmZmVycG9vbCBmaWxlIG5hbWVzIGluIGhlYWRlciBjb21tZW50CgoyMDEwLTAxLTE1IDE4OjE1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgc29tZSB0eXBlY2FzdGluZwoKMjAxMC0wMS0xNSAxODoxMzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2b2lkIHNvbWUgdHlwZSBjaGVja3MKCjIwMTAtMDEtMTUgMTg6MDk6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGZhbGxiYWNrIHRvIGF2aWggZHVyYXRpb24KCSAgd2hlbiB3ZSBoYXZlIG5vdCB5ZXQgcGFyc2VkIHRoZSBpbmRleGVzIChpbiBwdXNoIG1vZGUsIGZvciBleGFtcGxlKSB1c2UKCSAgdGhlIGR1cmF0aW9uIGFzIGdpdmVuIGluIHRoZSBhdmloIGhlYWRlciBpbnN0ZWFkIG9mIC0xLgoKMjAxMC0wMS0xNSAxMzozMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGdfZnJlZSBpcyBOVUxMIHNhZmUKCjIwMTAtMDEtMTUgMTM6Mjc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgREVNVVggZXJyb3JzLCBpbnN0ZWFkIG9mIERFQ09ERQoJICBxdGRlbXV4IHNob3VsZCB1c2UgREVNVVggZXJyb3JzLCBhbmQgbm90IERFQ09ERQoJICBDb25mbGljdHM6CgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYwoKMjAxMC0wMS0xNCAxOToxNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1pbm9yIHJlZmFjdG9yCgkgIFJlcGxhY2UgcmVwZWF0ZWQgY29kZSB3aXRoIGEgZnVuY3Rpb24gY2FsbAoKMjAxMC0wMS0xNCAxNzoxMToxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEhhbmRsZSBhbm90aGVyIGtpbmQgb2YgcmVkaXJlY3QgdHJhawoJICBTb21lIHRyYWtzIG1pZ2h0IGNvbnRhaW4gYSByZWRpcmVjdCBydHNwIHVyaSBpbnNpZGUKCSAgaG5kbCBhdG9tICh3aGljaCBpcyBhIGRyZWYgYXRvbSBlbnRyeSkuIFRoaXMgY29tbWl0IG1ha2VzIHF0ZGVtdXgKCSAgcG9zdCBhIG1lc3NhZ2Ugd2hlbiBpdCBmaW5kcyBvbmUgb2YgdGhlc2UgdHJha3MgYW5kIHRoZXJlIGFyZQoJICBubyBvdGhlciB0cmFrcy4KCSAgRml4ZXMgIzU5NzQ5NwoKMjAxMC0wMS0xNCAxNjoxMzowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogUG9zdCBlcnJvciB3aGVuIHJlYWNoaW5nIEVPUyB3aXRob3V0IHBhZHMKCSAgUG9zdCBhbiBlcnJvciB3aGVuIEVPUyBpcyByZWFjaGVkIGFuZCB0aGVyZSBhcmUgbm8gc3JjIHBhZHMKCjIwMTAtMDEtMTQgMTQ6MTM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBub3QgcG9zdCBlbXB0eSByZWRpcmVjdCBtZXNzYWdlcwoJICBTb21lIG1pc2ludGVycHJldGVkIGRhdGEgY291bGQgcmVzdWx0IGluIHBvc3RpbmcgcmVkaXJlY3QgbWVzc2FnZXMKCSAgd2l0aCBlbXB0eSByZWRpcmVjdCBzdHJpbmdzLiBJdCBpcyBiZXR0ZXIgbm90IHRvIHBvc3QgdGhlbS4KCSAgQW4gZXhhbXBsZSBpcyB0aGUgZmlsZSBvbiBidWcgIzU5NzQ5NwoKMjAxMC0wMS0xNCAxODoxOToyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcG9saXNoIGxhc3QgYnVmZmVyIGVuZCB0aW1lIHVzYWdlCgkgIFRoYXQgaXMsIHJlc2V0IGl0IHVwb24gc2VlaywgYW5kIG5vdGUgdGhhdCAocmFyZWx5KSBsYXN0IHB1c2hlZCBidWZmZXIKCSAgdGltZSBtaWdodCBwcmVjZWRlIHNlZ21lbnQgc3RhcnQuCgoyMDEwLTAxLTEzIDE2OjQ4OjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogdXNlICdxJyBjb25zdHJhaW50IGluc3RlYWQgb2YgJ3InCgkgIFRoaXMgYXZvaWRzIHRoZSAiYmFkIHJlZ2lzdGVyIG5hbWUgYCVkaWwnIiBjb21waWxhdGlvbiBlcnJvcnMgb24gMzJiaXQgd2hlcmUKCSAgYmVjYXVzZSBvZiAncicgZ2NjIHB1dHMgdGhlIHZhbHVlIGluIGEgZ2VuZXJhbCBwdXJwb3NlIHJlZ2lzdGVyIGFuZCB0aGVuIHRyaWVzCgkgIHRvIGFjY2VzcyB0aGUgbG93ZXIgcGFydCBhcyAlZGlsLyVzaWwgd2hpY2ggaXMgbm90IGV4aXN0aW5nIG9uIDMyYml0LiAncScgcmVxdWVzdHMKCSAgYS1kIHJlZ2lzdGVycwoKMjAxMC0wMS0xMyAxNjo0NDo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGFkZCBtaXNzaW5nIGluY2x1ZGUgZm9yIHNzY2FuZgoKMjAxMC0wMS0xMyAwOTozNjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBGaXggcHJvcGVydHkgZGVzY3JpcHRpb24gZm9yIHRoZSAzcmQgYmFuZCBvZiB0aGUgMTBiYW5kIGVxdWFsaXplcgoJICBUaGUgZnJlcXVlbmN5IGlzIGFjdHVhbGx5IDIzNyBIeiwgbm90IDIyNyBIei4KCSAgRml4ZXMgYnVnICM2MDY2OTIuCgoyMDEwLTAxLTEzIDA5OjIyOjIwICswMTAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogQWxsb3cgbmVnYXRpdmUgYW1wbGlmaWNhdGlvbnMKCSAgRml4ZXMgYnVnICM2MDY4MDcuCgoyMDEwLTAxLTEzIDA5OjE3OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgIGFwZXYybXV4OiBEb24ndCBjYWxsIGNvbnN0cnVjdG9ycyBkaXJlY3RseSwgdGhpcyBsZWFkcyB0byBjb21waWxlciBlcnJvcnMgd2l0aCBnY2MgNC41CgoyMDEwLTAxLTEyIDE3OjM5OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgR19HU0laRV9GT1JNQVQgZm9yIHBsYXRmb3JtIGluZGVwZW5kZW50IGdzaXplIHF1YWxpZmllcgoJICBGaXhlcyBidWlsZCBvbiBtYWNvc3gKCjIwMTAtMDEtMTEgMTk6MDI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlZmFjdG9yIGVvcyBzZW5kaW5nIHdoZW4gcGF1c2luZyBsb29wCgkgIEFsc28sIHByZXZlbnQgaGFuZ2luZyBpZiBubyBwYWRzIHlldCBvbiB3aGljaCB0byBzZW5kIGVvcyBieQoJICBwb3N0aW5nIGEgbWVzc2FnZSBpbnN0ZWFkLgoKMjAxMC0wMS0xMSAxNzo1MDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc3RhbmRhcmRpemUgc2VlayBoYW5kbGluZwoJICAuLi4gd2hpY2ggaW1wbGllcyBmaXhpbmcgc29tZSBjb3JuZXIgY2FzZXMuCgoyMDEwLTAxLTExIDE1OjE0OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBtb3JlIGdlbmVyaWMgeGlwaE5fc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSBoZWxwZXIKCjIwMTAtMDEtMTEgMTc6NTA6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVmbG93IGF1ZGlvIGFuZCB2aWRlbyBzZXRjYXBzIGFuZCBpbXByb3ZlIGxvZ2dpbmcKCSAgQWxzbyBlbnN1cmUgd2lkdGggYW5kIGhlaWdodCBhcmUgYXZhaWxhYmxlIGFzIHRoZXkgYXJlIG1hbmRhdG9yeQoJICBpbiBtYXRyb3NrYSBzcGVjcy4KCjIwMTAtMDEtMTEgMTE6NDI6NDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggb2Zmc2V0IGZvciB0eXBlIDIgbXA0YSBzb3VuZCBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBBbGxvd3MgdXMgdG8gY29ycmVjdGx5IGZpbmQgdGhlIGVzZHMgKGFuZCB0aHVzIHRoZSBjb2RlYyBkYXRhKSBmb3Igc3VjaAoJICBtcDRhIGZpbGVzLgoKMjAxMC0wMS0xMSAxNTo0NTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgcnRwbXA0ZyhkZSlwYXk6IE9ubHkgaGFuZGxlIHJhdyBhYWMKCSAgcnRwbXA0ZyhkZSlwYXkgc2hvdWxkIG9ubHkgaGFuZGxlIHJhdyBBQUMgc3RyZWFtcwoKMjAxMC0wMS0xMSAxODo1OTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGRyb3BzIGZyYW1lcyBpZiB0aGV5J3JlIHRvbyBsYXRlIGFueXdheSBiZWZvcmUgYmxlbmRpbmcgYW5kIGFsbAoJICB0aGF0IHN0YXJ0cyBidXQgUW9TIGV2ZW50cyBhcmUgbm90IGZvcndhcmRlZCB1cHN0cmVhbS4gSW4gdGhlIGZ1dHVyZQoJICB0aGUgUW9TIGV2ZW50cyBzaG91bGQgYmUgdHJhbnNmb3JtZWQgc29tZWhvdyBhbmQgZm9yd2FyZGVkIHVwc3RyZWFtLgoKMjAxMC0wMS0xMSAxNDo0ODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YShkZSlwYXk6IE9ubHkgYWNjZXB0IHJhdyBhYWMKCSAgcnRwbXA0YShkZSlwYXkgc2hvdWxkIG9ubHkgaGFuZGxlIHJhdyBhYWMgdG8gY29uZm9ybSB0byB0aGUgUkZDCgoyMDEwLTAxLTExIDE4OjM1OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBBZGQgTU1YIGltcGxlbWVudGF0aW9ucyBmb3IgSTQyMCBhbmQgYWxsIG5vbi1hbHBoYSBSR0IgZm9ybWF0cwoKMjAxMC0wMS0wNCAxMDoyNDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX3JnYi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogUmVmYWN0b3IgcHJvY2Vzc2luZyBmdW5jdGlvbnMKCSAgVGhpcyBhbGxvd3MgZWFzaWVyIHBsdWdnaW5nIG9mIG9wdGltaXplZCBwcm9jZXNzaW5nIGZ1bmN0aW9ucwoJICBpbiB0aGUgZnV0dXJlLCBsaWtlIGZvciBTU0Ugb3IgQWx0aVZlYy4KCjIwMTAtMDEtMTEgMTM6MjY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBhdmltdXg6IG1hdHJvc2thbXV4OiByZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCB0byByYXcKCSAgQUFDJ3Mgbm9uZSBzdHJlYW0tZm9ybWF0IGhhcyBiZWVuIHJlbmFtZWQgdG8gcmF3LCByZW5hbWUKCSAgb24gYXZpbXV4IGFuZCBtYXRyb3NrYW11eCBhcyB3ZWxsCgoyMDEwLTAxLTExIDEyOjA3OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9ubHkgYWNjZXB0IHJhdyBhYWMKCSAgbWFrZXMgbWF0cm9za2FtdXggcmVqZWN0IGFhYyBzdHJlYW1zIHRoYXQgYXJlIG5vdAoJICBpbiByYXcgZm9ybWF0IChzdHJlYW0tZm9ybWF0PW5vbmUpCgkgIEZpeGVzICM1OTgzNTAKCjIwMTAtMDEtMTEgMTI6MDg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBPbmx5IGFjY2VwdCByYXcgYWFjCgkgIG1ha2VzIGF2aW11eCByZWplY3QgYWFjIHN0cmVhbXMgdGhhdCBhcmUgbm90CgkgIGluIHJhdyBmb3JtYXQgKHN0cmVhbS1mb3JtYXQ9bm9uZSkKCSAgRml4ZXMgIzU5ODM1MAoKMjAxMC0wMS0xMSAxMDozODoxMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBPb3BzLiBUaGUgZ3BvaW50ZXIgY2FzdCBpcyBuZWVkZWQgYmVjYXVzZSBvZiB0aGUgY29uc3QgcXVhbGlmaWVycyBvbiB0aGUgZGF0YSBlbGVtZW50cwoKMjAxMC0wMS0xMSAxMDoxNzo1NCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEZWJ1ZyAtPiBpbmZvIGxldmVsIGZvciBhIG1lc3NhZ2UgZm9yIGJlbmNobWFya2luZyBpbmRleCBwYXJzaW5nCgkgIFRoZSBleHRyYSBtZXNzYWdlIG91dHB1dCBhdCBoaWdoZXIgbGV2ZWxzIGFmZmVjdHMgdGhlIGFjY3VyYWN5IG9mIHRoZQoJICBiZW5jaG1hcmsuCgoyMDEwLTAxLTExIDEwOjA1OjEwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IGNoZWNrIGZvciBOVUxMIHBvaW50ZXJzIG9yIGNhc3QgdG8gZ3BvaW50ZXIgYXMgdGhpcyBpcyBub3QgbmVlZGVkCgoyMDEwLTAxLTA4IDEzOjU1OjA1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlZmFjdG9yIHN0Ymwgc3ViLWF0b20gZnJlZWluZy4gRnJlZSB3aGVuIGluZGV4IGhhcyBiZWVuIGNvbXBsZXRlbHkgcGFyc2VkLgoKMjAxMC0wMS0wOCAxNDozMjowNiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBdm9pZCB3aGl0ZXNwYWNlIGNvbW1pdHMgZHVlIHRvIGluY29uc2lzdGVudCBHTlUgaW5kZW50IGJlaGF2aW91cgoKMjAxMC0wMS0xMSAwMDoxMDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBuZXdsaW5lIGF0IGVuZCBvZiBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMDEtMDggMTk6MjY6MjEgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogQ29tcGlsZXIgd2FybmluZyBmaXhlcyBmb3IgV2luZG93cwoJICBKdXN0IHNpbXBsZSBtaXNzaW5nIGNhc3RzCgkgIEZpeGVzIGJ1ZyAjNjA2NDM4LgoKMjAxMC0wMS0wOCAxODowNDoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBzZWVrcG9pbnRzIHByb3BlcnR5IGNvcHktYW5kLXBhc3RlIGRvY3VtZW50YXRpb24KCjIwMTAtMDEtMDYgMTc6MDY6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IG9wdGlvbmFsbHkgYWRkIGEgc2VlayB0YWJsZQoJICBBUEk6IEdzdEZsYWNFbmM6c2Vla3BvaW50cwoJICBGaXhlcyAjMzUxNTk1LgoKMjAxMC0wMS0wOCAxMTozMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVc2UgbW9yZSBnbGliIGFuZCBiZSBzYWZlcgoJICBCZSBzYWZlciBvbiBzc2NhbmYgYnkgbGltaXRpbmcgc3RyaW5nIGZvcm1hdCBzaXplcy4KCSAgUmVtb3ZlIHVzZWxlc3MgcGFyYW1ldGVyIGFuZCB1c2UgZ19zdHJuZHVwLgoKMjAxMC0wMS0wOCAxMDo0NDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTaW1wbGlmeWluZyBjb2RlCgkgIEdyZWF0bHkgc2ltcGxpZnkgdGhlIElESVQgY2h1bmsgaGFuZGxpbmcgYnkgdXNpbmcgc3NjYW5mCgkgIGluc3RlYWQgb2YgJ21hbnVhbGx5JyBwYXJzaW5nLiBBbHNvIHJlcGxhY2VzIHN0cm5jYXNlY21wIGFuZAoJICBpc19hbHBoYS9pc19kaWdpdCB3aXRoIGdsaWIgdmVyc2lvbnMuCgoyMDEwLTAxLTA4IDEwOjE4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGl0J3MgZmViIGZvciBmZWJydWFyeQoJICBGaXggdHlwbyBpbiBsYXN0IGNvbW1pdC4KCjIwMTAtMDEtMDggMDk6MTc6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUGFyc2UgYW5kIHBvc3QgSURJVCBkYXRlcwoJICBQYXJzZXMgYW5kIHBvc3QgZGF0ZSB0YWdzIGNvbnRhaW5lZCBpbiBJRElUIGNodW5rcy4KCSAgRml4ZXMgIzUwMzU4MgoKMjAxMC0wMS0wNyAxNzoyNTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQWRkIHByb3BlcnR5IGZvciBub3QgZHJhaW5pbmcgdGhlIGhpc3Rvcnkgb24ga2VybmVsIGNoYW5nZXMKCSAgQ3VycmVudGx5IHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2VybmVsIHNpemUgZG9lc24ndCBjaGFuZ2UsIGluIHRoZSBmdXR1cmUKCSAgaXQgd2lsbCBiZSBwb3NzaWJsZSB0byBjaGFuZ2UgdGhlIGtlcm5lbCBzaXplIHRvbyB3aXRob3V0IGRyYWluaW5nCgkgIHRoZSBjb21wbGV0ZSBoaXN0b3J5IGFuZCB3aXRob3V0IGxvb3NpbmcgYW55dGhpbmcuCgkgIFBhcnRpYWxseSBiYXNlZCBvbiBhIHBhdGNoIGJ5CgkgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKMjAxMC0wMS0wNyAxNjo1ODo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiByZW1vdmUgd2VpcmQgbWVtY21wIGNvZGUKCSAgVXNlIHBsYWluIG1lbWNtcCBmb3IgY29tcGFyaW5nIG1lbW9yeSBpbnN0ZWFkIG9mIHRoZSBjdXN0b20gYnVnZ3kgb25lLgoJICBGaXhlcyAjNjA2MTk4CgoyMDEwLTAxLTA3IDE1OjM4OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggdHlwbyBpbiAnbWVzc2FnZScgcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTAtMDEtMDYgMTQ6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiByZWFsbHkgdXNlIHVwc3RyZWFtIHRpbWVzdGFtcCBpZiB0aGVyZSBpcyBvbmUKCSAgU2VlL2ZpeGVzICM2MDM0NzEuCgoyMDEwLTAxLTA2IDEzOjQ1OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjhwYXk6IHJlbW92ZSB1bnVzZWQgYWRhcHRlciBwZWVrCgoyMDEwLTAxLTA1IDE5OjAwOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIHBhc3N0aHJvdWdoIHRlc3RzCgkgIEltcHJvdmUgcGFzc3Rocm91Z2ggdGVzdHMgYnkgZm9yY2luZyBtb3JlIHNwZWNpZmljCgkgIGludGVybGFjZWQvZGVpbnRlcmxhY2VkIGNhcHMgdG8gYmUgdGVzdGVkCgoyMDEwLTAxLTA1IDE4OjIyOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRzIHNvbWUgZG9jcyB0byB0aGUgbmV3IHRlc3RzCgkgIEFkZHMgc29tZSBkb2NzIGV4cGxhaW5pbmcgdGhlIHV0aWxpdHkgZnVuY3Rpb25zIG9mIHRoZSBjaGVjawoJICB0ZXN0cyBvZiBkZWludGVybGFjZQoKMjAxMC0wMS0wNSAxODoxNDowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkcyB0ZXN0cyBmb3IgcGFzc3Rocm91Z2gKCSAgQWRkcyB0ZXN0cyBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbnQgcmVhbGx5IGRvZXMKCSAgcGFzc3Rocm91Z2ggaW4gZGlzYWJsZWQgbW9kZSBhbmQgaW4gYXV0byAoaWYgdGhlIGlucHV0IGlzCgkgIG5vdCBpbnRlcmxhY2VkKQoKMjAxMC0wMS0wNSAwNzo1MDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgdGVzdHMgZm9yIGNhcHMgYWNjZXB0YW5jZQoJICBBZGRzIGNoZWNrIHVuaXQgdGVzdHMgZm9yIGRlaW50ZXJsYWNlIGZvciB2YWxpZGF0aW5nCgkgIGNhcHMgYWNjZXB0aW5nIGFuZCB0aGUgZXhwZWN0ZWQgY2FwcyBvdXRwdXQgb24gdGhlCgkgIG90aGVyIHBhZAoKMjAxMC0wMS0wNCAxMzo0MzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgYmFzaWMgY2hlY2sgdGVzdAoJICBBZGRzIGEgYmFzaWMgY2hlY2sgdGVzdCBmb3IgZGVpbnRlcmxhY2UgZWxlbWVudAoKMjAxMC0wMS0wNCAxNTo0NDoyOCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3Igd2F2ZS1zdHlsZSBhdWRpbyBpbiBxdC4KCSAgVXNlcyBnc3RyaWZmIHRvIHBhcnNlIHRoZSB3YXZlIGhlYWRlcnMgYXBwcm9wcmlhdGVseS4gVGVzdGVkIHdpdGggTVMtQURQQ00KCSAgY29udGVudC4KCjIwMDktMTItMzEgMTc6MDk6MDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBBZGQgRy43MjkgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMDktMTItMzEgMTY6NTI6MzAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBTaW1wbGlmeSBhZGFwdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMDktMTItMzEgMTY6Mjc6MzAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBTdXBwb3J0IHB0aW1lIGZyb20gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDA5LTEyLTAyIDE5OjM1OjIxICswNTMwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgcnRwOiBBZGQgbWF4cHRpbWUgdG8gdGhlIFJFQURNRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDEwLTAxLTA1IDE5OjAzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSAgcnRwZzcyM2RlcGF5OiBhZGQgRzcyMyBkZXBheWxvYWRlcgoKMjAxMC0wMS0wNSAxOTowMjozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkgIHJ0cGc3MjlkZXBheTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMC0wMS0wNSAxODozMzoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSAgcnRwZzcyM3BheTogcmV3cml0ZSBwYXlsb2FkZXIKCSAgSGFuZGxlIGFsbCAzIHBhY2tldCBzaXplcyBhY2NvcmRpbmcgdG8gUkZDIDM1NTEuCgkgIFRvdGFsbHkgdW50ZXN0ZWQsIHdlIGRvbid0IGhhdmUgYSBHNzIzIGVuY29kZXIuCgkgIEZpeGVzICM2MDU4ODIKCjIwMTAtMDEtMDUgMTE6NDc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjaHVuayBjb3VudGVyCgoyMDEwLTAxLTA0IDE5OjQ0OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3JlIHdvcmsgYXQgcmVkdWNpbmcgbG9vcCBvdmVyaGVhZAoJICBUcnkgdG8gYXZvaWQgZGVyZWZzIHdoZW4gcGFyc2luZyB0aGUgaW5kZXguIFNhdmUgdGhlIHN0YXRlIGludG8gdGhlIHN0cnVjdHVyZXMKCSAgd2hlbiB3ZSBleGl0IHRoZSBsb29wIGluc3RlYWQgb2YgZm9yIGVhY2ggaXRlcmF0aW9uLgoKMjAxMC0wMS0wNCAxNjozMzozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2xlYW51cHMgYW5kIG1ha2UgZHVyYXRpb24gbW9yZSBhY2N1cmF0ZQoJICBNYWtlIHRoZSBRdERlbXV4U2FtcGxlIHN0cnVjdCBzbWFsbGVyIGJ5IGtlZXBpbmcgdGhlIGR1cmF0aW9uIGFuZCB0aGUgcHRzX29mZnNldAoJICBhcyB0aGVpciAzMiBiaXQgdmFsdWVzLgoJICBNYWtlIHNvbWUgbWFjcm9zIHRvIGNhbGN1bGF0ZSBQVFMsIERUUyBhbmQgZHVyYXRpb24gb2YgYSBzYW1wbGUuCgkgIERlcmVmIHRoZSBzYW1wbGUgaW5kZXggbGVzcyBvZnRlbiBieSBrZWVwaW5nIGEgcmVmIHRvIHRoZSBzYW1wbGUgd2UncmUgZGVhbGluZwoJICB3aXRoLgoKMjAxMC0wMS0wNCAxMzo0MToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2ltcGxpZnkgbG9naWMgdG8gY2FsY3VsYXRlIGR1cmF0aW9uCgkgIFNpbmNlIHdlIG5vIGxvbmdlciBzdG9yZSB0aGUgdGltZXN0YW1wIGFuZCBkdXJhdGlvbiBpbiBuYW5vc2Vjb25kcywgd2UgY2FuIG5vdwoJICBzaW1wbHkgc3RvcmUgdGhlIGR1cmF0aW9uIGFzLWlzLgoKMjAxMC0wMS0wMSAxNjo0Mjo1NyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTdG9yZSB0aW1lc3RhbXBzIGluIG1vdiBmb3JtYXQgaW4gdGhlIGluZGV4CgkgIFRoaXMgYWxsb3dzIGZhc3RlciBidWlsZGluZyBvZiB0aGUgaW5kZXggdXBvbiBzZWVrcyBzbyB0aGF0IHNjYWxpbmcgb2YKCSAgdGltZXN0YW1wcyBvbmx5IG9jY3VycyB3aGVuIGFjdHVhbGx5IG5lZWRlZC4KCjIwMDktMTItMTggMTM6NTQ6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2Ugc2Vla2luZyBpbiBwdXNoIG1vZGUgd29yawoJICBNb3ZlIHNhbXBsZSBwb3NpdGlvbiBjaGVja3MgaW50byBxdGRlbXV4X3BhcnNlX3NhbXBsZXMgd2hlcmUgd2UgY2FuIHByb3RlY3QgaXQKCSAgd2l0aCBhIGxvY2suCgkgIFJlZmFjdG9yIGFuZCBtYWtlIGFuIHF0ZGVtdXhfZW5zdXJlX2luZGV4IGZ1bmN0aW9uLgoJICBSZW5hbWUgcXRkZW11eF9kb19wdXNoX3NlZWsgdG8gcXRkZW11eF9zZWVrX29mZnNldCBpbiBvcmRlciB0byBhdm9pZCBjb25mdXNpb24KCSAgd2l0aCBnc3RfcXRkZW11eF9kb19wdXNoX3NlZWsuCgoyMDA5LTEyLTE4IDEyOjQ0OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3ZlIGVycm9yIGNvZGUgb3V0IG9mIG5vcm1hbCBmbG93CgoyMDA5LTExLTI0IDE2OjI3OjI2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQWRkIHB1c2ggbW9kZSBzZWVrIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gb2J0YWluIHRoZSBtb292IGF0b20KCjIwMTAtMDEtMDUgMTI6MjI6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBvbi1ucHQtc3RvcCBzaWduYWwgd2FybmluZ3MgZm9yIFJEVAoJICBUaGUgUkRUIG1hbmFnZXIgZG9lcyBub3QgaW1wbGVtZW50IHRoaXMgc2lnbmFsIHNvIHdlIG5lZWQgdG8gY2hlY2sgZm9yIGl0IGJlZm9yZQoJICB0cnlpbmcgdG8gY29ubmVjdCB0byBpdC4KCjIwMTAtMDEtMDUgMDk6NDc6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gbmV3IHVyaSBoYW5kbGVyIGNvZGUKCSAgRG9uJ3QgbGVhayBhIHN0cmluZyBldmVyeXRpbWUgZ2V0X3VyaSgpIGlzIGNhbGxlZCBhbmQgYSBkZXZpY2UKCSAgaGFzIGJlZW4gc2V0LiBUaGVyZSdzIGEgbGltaXRlZCBudW1iZXIgb2YgZGV2aWNlcywgc28ganVzdAoJICBpbnRlcm4gdGhlIHN0cmluZyBpbnN0ZWFkIG9mIGRvaW5nIG1vcmUgZWxhYm9yYXRlIGhvdXNla2VlcGluZwoJICBhbmQgc3RvcmluZyBpdCBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0IG9yIHNvLgoKMjAxMC0wMS0wMSAxNDoxMDo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggdHlwbyBpbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMTAtMDEtMDQgMDk6Mjg6MzYgLTAzMDAgIFJvYmVydCBXZWlkbGljaCA8Z25vbWVidWd6aWxsYUByb2JlcnQud2VpZGxpY2guY2M+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDJzZW5kOiBBZGQgJ3B1YmxpYycgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNldCAncHVibGljJyBmbGFnIG9uIGxpYnNob3V0LCBtYWtpbmcKCSAgdGhlIHN0cmVhbSBsaXN0ZWQgb24gdGhlIHNlcnZlcidzIHN0cmVhbSBkaXJlY3RvcnkuCgkgIEZpeGVzICM2MDUyNjkKCjIwMDktMTItMzAgMTQ6MTQ6NTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgdGFncyBmb3IgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlCgkgIEZpeGVzICM1OTkzMDAuCgoyMDA5LTEyLTI2IDE2OjU5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBkbyBub3QgdHJ5IHRvIGFsbG9jIHJlYWxseSBsYXJnZSBidWZmZXJzCgkgIFdoZW4gbnNhbXBsZXNfb3V0IGlzIGxhcmdlciB0aGFuIG5zYW1wbGVzX2luLCB1c2luZyB1bnNpZ25lZAoJICBpbnRzIGxlYWQgdG8gYSBvdmVyZmxvdyBhbmQgdGhlIHJlc3VsdGluZyB2YWx1ZSBpcyB3cm9uZyBhbmQKCSAgd2F5IHRvbyBsYXJnZSBmb3IgYWxsb2NhdGluZyBhIGJ1ZmZlci4gVXNlIHNpZ25lZCBpbnRlZ2VycwoJICBhbmQgcmV0dXJuaW5nIGltbWVkaWF0ZWxseSB3aGVuIHRoYXQgaGFwcGVucy4KCjIwMDktMTItMjUgMTI6Mzg6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkgIHZpZGVvbWl4ZXI6IG9wdGltaXplIGJsZW5kIGNvZGUgc29tZSBtb3JlCgkgIFVzZSBtb3JlIGVmZmljaWVudCBmb3JtdWxhIHRoYXQgdXNlcyBsZXNzIG11bHRpcGxpZXMuCgkgIFJlZHVjZSB0aGUgYW1vdW50IG9mIHNjYWxhciBjb2RlLCB1c2UgTU1YIHRvIGNhbGN1bGF0ZSB0aGUgZGVzaXJlZAoJICBhbHBoYSB2YWx1ZS4KCSAgVW5yb2xsIGFuZCBoYW5kbGUgMiBwaXhlbHMgaW4gb25lIGl0ZXJhdGlvbiBmb3IgaW1wcm92ZWQgcGFpcmluZy4KCjIwMDktMTItMjQgMjI6NTk6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSAgdmlkZW9taXhlcjogc2NhbGUgYW5kIGNsYW1wCgkgIFNjYWxlIGFuZCBjbGFtcCB0byB0aGUgbWF4IGFscGhhIHZhbHVlcy4KCjIwMDktMTItMjQgMjI6NTA6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IHNjYWxlIGFuZCBjbGFtcCBhbHBoYSB0byBpdHMgZnVsbCBleHRlbmQKCSAgQ29udmVydCB0aGUgYWxwaGEgdmFsdWUgdG8gMC0+MjU1IHdoZW4gc2V0dGluZyBhbmQgdG8gMC0+MjU2IHdoZW4gdXNpbmcgYXMKCSAgYSBzY2FsaW5nIGZhY3Rvci4gVGhpcyBtYWtlcyBzdXJlIHdlIGNhbiByZWFjaCB0aGUgZnVsbCBvcGFjaXR5IHZhbHVlIG9mIDB4ZmYgaW4KCSAgYWxsIGNhc2VzLgoKMjAwOS0xMi0yNCAyMjoyMzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHNvbWUgY29tbWVudHMsIHJlbW92ZSBwcm9wZXJ0eSBjaGVjawoJICBGaXggc29tZSBjb21tZW50cywgY2xhcmlmeSBzb21lIEZJWE1FcwoJICBSZW1vdmUgdGhlIG9uLW50cC1zdG9wIHNpZ25hbCBjaGVjayBub3cgdGhhdCB0aGUgaml0dGVyYnVmZmVyIGlzIGluCgkgIC1nb29kIGFuZCB3ZSBrbm93IHRoYXQgaXQgc3VwcG9ydHMgdGhpcyBzaWduYWwuCgoyMDA5LTEyLTI0IDIwOjI3OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBzb21lIHRyaXZpYWwgY2xlYW51cHMKCjIwMDktMTItMjQgMTc6MDQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQYXJzZSBhbGwgcnRwaW5mbyBlbnRyaWVzCgkgIERvIG5vdCBmb3JnZXQgdG8gcGFyc2UgYWxsIHJ0cC1pbmZvIGVudHJpZXMsIGluc3RlYWQgb2YKCSAgcGFyc2luZyB0aGUgZmlyc3Qgb25lIG9ubHkuCgkgIEZpeGVzICM2MDUyMjIKCjIwMDktMTItMjIgMTI6NDQ6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwZXJmIHRhZyBzaG91bGQgbWFwIHRvIEdTVF9UQUdfQVJUSVNUCgoyMDA5LTEyLTI0IDE3OjAzOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBmaXggd2VpcmQgaW5kZW50YXRpb24KCjIwMDktMTItMjQgMTc6MDE6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiB1c2UgZmFzdGVyIF9hZGFwdGVyX2NvcHkoKSB3aGVtIHBvc3NpYmxlCgoyMDA5LTEyLTI0IDE3OjAxOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJICB0ZXN0czogdXNlIHJpZ2h0IHR5cGUgd2hlbiBwYXNzaW5nIHZhcmFyZyB2YWx1ZQoKMjAwOS0xMi0yMyAxNzo1MDozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogdXNlIGEgc2luZ2xlIGRlY29kZXIgZmllbGQgZm9yIGJvdGggcHVzaCBhbmQgcHVsbCBtb2RlCgoyMDA5LTEyLTIzIDE3OjAzOjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IHBvc3NpYmxlIGhhbmdpbmcgaW4gcHVsbCBtb2RlIHNlZWtpbmcKCSAgQSBzZWVrIGluIG11bHRpLXNpbmsgcGlwZWxpbmUgdHlwaWNhbGx5IGxlYWRzIHRvIHNldmVyYWwgc2VlayBldmVudHMgaW4gYSByb3csCgkgIHdoaWNoIGNvdWxkIGxlYWQgdG8gc2VuZGluZyBzZXZlcmFsIG5ld3NlZ21lbnRzIGluIGEgcm93IHdpdGhvdXQgaW50ZXJtZWRpYXRlCgkgIGZsdXNoaW5nLiAgVGhlc2Ugd291bGQgdGhlbiBhY2N1bXVsYXRlLCBkaXN0b3J0IHJlbmRlcmluZyB0aW1lcyBhbmQgYXMgc3VjaAoJICBsZWFkIHRvICdoYW5naW5nJy4KCjIwMDktMTItMjMgMTk6Mzk6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgoyMDA5LTEyLTIzIDEzOjA5OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiB1c2UgYm9pbGVycGxhdGUKCjIwMDktMTItMjMgMDA6Mzg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICBydHBMMTZwYXk6IGNvbnZlcnQgdG8gYmFzZWF1ZGlvcGF5bG9hZAoJICBVc2UgR3N0UlRQQmFzZUF1ZGlvUGF5bG9hZCBhcyB0aGUgYmFzZSBjbGFzcy4gVGhpcyBzYXZlcyBhIGxvdCBvZiBjb2RlIGFuZCBmaXhlcwoJICBhIGJ1bmNoIG9mIHByb2JsZW1zIHRoYXQgd2VyZSBhbHJlYWR5IHNvbHZlZCBpbiB0aGUgYmFzZSBjbGFzcy4KCSAgRml4ZXMgIzg1MzM2NwoKMjAwOS0xMi0yMyAwMDozMDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICBydHBwY21hcGF5OiB0aGUgYm9pbGVycGxhdGUgbWFjcm8gc2V0cyBwYXJlbnRfY2xhc3MKCjIwMDktMTItMjIgMjI6Mjc6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBhdm9pZCBzb21lIHN0cnVjdHVyZSBjb3BpZXMKCSAgRG9uJ3QgbWFrZSBjb3BpZWQgaW4gdGhlIGdldHRlciBhbmQgc2V0dGVyIGZvciBTREVTIGluIHRoZSBSVFBTb3VyY2UuIFRoaXMKCSAgYXZvaWRzIGEgY291cGxlIG9mIGNvcGllcyBvZiB0aGUgU0RFUyBzdHJ1Y3R1cmUgd2hlbiBnZW5lcmF0aW5nIFJUQ1AKCSAgcGFja2V0cy4KCjIwMDktMDgtMzEgMTg6NDI6MjUgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cG1hbmFnZXI6IGltcHJvdmUgU0RFUyBoYW5kbGluZwoJICBTdG9yZSBTREVTIGludGVybmFsbHkgYXMgYSBzdHJ1Y3QgdG8gc3VwcG9ydCBtdWx0aXBsZSBQUklWIHZhbHVlcy4KCSAgSW5jbHVkZSBhbGwgdmFsdWVzIHNldCBpbiBTREVTIHN0cnVjdCB3aGVuIHNlbmRpbmcgUlRDUCBTREVTLgoKMjAwOS0xMi0yMiAxNDo0MTozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogYWRkIHNvbWUgZml4bWVzCgoyMDA5LTEyLTIyIDE0OjM1OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBiYXNlY2xhc3MgaGFuZGxlcyB0aW1lc3RhbXBzIGZvciB1cwoKMjAwOS0xMi0yMiAxNDoyNzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogcmVzZXQgc3RhcnQgdmFyaWFibGUgcHJvcGVybHkKCjIwMDktMDUtMjkgMTU6NDk6MjcgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBEcm9wIHRoZSB3aG9sZSBmcmFtZSBpZiBhIHBhY2tldCBpcyBsb3N0LgoJICBGaXhlcyAjNTgyNTc1CgoyMDA5LTEyLTIxIDIwOjM5OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBhZGQgb3B0aW9uIHRvIGluc2VydCBQUFMvU1BTIGluIHN0cmVhbXMKCSAgQWRkIGEgbmV3IHNwc3Bwcy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGF5bG9hZGVyIHRvIGluc2VydAoJICBTUFMgYW5kIFBQUyBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbS4KCSAgUmV3b3JrIHRoZSBTUFMvUFBTIGhhbmRsaW5nIHNvIHRoYXQgYnl0ZXN0cmVhbSBhbmQgQVZDIHNhbXBsZSBjb2RlIGJvdGggdXNlIHRoZQoJICBzYW1lIGNvZGUgcGF0aHMgdG8gaGFuZGxlIHNwcm9wLXBhcmFtZXRlci1zZXRzLiBUaGlzIGFsc28gYWxsb3dzIHRvIGhhdmUgdGhlIEFWQwoJICBjb2RlIHRvIGluc2VydCBTUFMvUFBTIGxpa2UgdGhlIGJ5dGVzdHJlYW0gY29kZS4KCSAgRml4ZXMgIzYwNDkxMwoKMjAwOS0xMi0yMSAxOToxMjoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ3Y2IyM2EgdG8gMTRjZWM4OQoKMjAwOS0xMi0yMSAxMjowMTo1MyAtMDMwMCAgSm9uYXRoYW4gQ29uZGVyIDxqQHNrdXJ2eS5uby1pcC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkcyBuZXcgdGFncwoJICBBZGRzIHNvbWUgbmV3IHRhZ3MgbWFwcGluZyB0byBxdGRlbXV4LgoJICBGaXhlcyAjNTk5NzU5CgoyMDA5LTEyLTIxIDE1OjA1OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHByb3BlcnR5IHRvIHJlbW92ZSBwYWRzIGF1dG9tYXRpY2FsbHkKCSAgQWRkIGEgcHJvcGVydHkgY2FsbGVkIGF1dG9yZW1vdmUgdG8gYXV0b21hdGljYWxseSByZW1vdmUgdGhlIHBhZHMgb2Ygc291cmNlcwoJICB0aGF0IHRpbWVkIG91dC4KCSAgRml4ZXMgIzU1NDgzOQoKMjAwOS0xMi0yMSAxNDo1NToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IGZpeCBjb21wYXJpc29uCgkgIEEgTlVMTCBtZWFucyBubyBwYWQgd2FzIGZvdW5kLgoKMjAwOS0xMS0wOCAxMTo0OToxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogQWRkIEdzdFVSSUhhbmRsZXIgaW50ZXJmYWNlLiBGaXhlcyAjNjAxMTQzCgkgIFRoaXMgYWxsb3dzIHVzaW5nIHY0bDI6Ly9bPGRldmljZT5dCgoyMDA5LTEyLTIwIDE3OjI0OjQ3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHBhc3MgbGVuZ3RoIHBhcmFtZXRlciB0byBnX2NvbnZlcnQKCjIwMDktMTItMTggMTI6NDQ6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCSAgWWVzLCBpdCdzIHN0dXBpZCwgYnV0IG1hY29zeCBjb21waWxlcnMgYXJlIGV2ZW4gbW9yZSBzdHVwaWQuCgoyMDA5LTEyLTE3IDE2OjAxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogRml4IGFzc2VtYmx5IGNvbXBpbGF0aW9uIG9uIHg4NgoJICBGaXhlcyBidWcgIzYwNDgxNC4KCjIwMDktMTItMTcgMTc6Mzc6MDMgKzAxMDAgIEJyYW5rbyDEjGliZWogPGJyYW5lIGF0IHhiYy5udT4KCgkqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogZml4IHRpbWVzdGFtcCByb3VuZGluZwoJICBVc2Ugc2NhbGluZyBmdW5jdGlvbiB0byByb3VuZCBhbmQgYXZvaWQgb3ZlcmZsb3dzLgoJICBGaXhlcyAjNjA0MzUyCgoyMDA5LTEyLTE3IDE3OjI3OjQyICswMTAwICBUaWFnbyBLYXRjaXBpcyA8dGlhZ28ua2F0Y2lwaXNAZGlnaXRyby5jb20uYnI+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkgIHJ0cDogYWRkIEc3MjMgcGF5bG9hZGVyCgkgIEZpeGVzICM1OTc4MjMKCjIwMDktMTItMTcgMTY6MjI6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogRml4IEFMQUMgY29kZWNfZGF0YSBwYXJzaW5nCgkgIEZpeGVzICM2MDQ2MTEKCjIwMDktMTItMTYgMTc6Mjg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgY3BwIHN0eWxlIGNvbWVudHMKCSAgUmVtb3ZlcyAvLyBjb21tZW50cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggLyogKi8gY29tbWVudHMKCjIwMDktMTItMTYgMTI6NDg6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBhbHNvIGNvbnNpZGVyIEJsb2NrTnVtYmVyIGluZGljYXRlZCBpbiBpbmRleCB3aGVuIHNlZWtpbmcKCjIwMDktMTItMTYgMTI6NDM6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogc3VwcG9ydCBwdXNoIGJhc2VkIG1vZGUKCSAgRml4ZXMgIzU5ODYxMC4KCjIwMDktMTItMTYgMTI6NDQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggZWJtbCByZWFkIGNhY2hlIHVzYWdlCgoyMDA5LTEyLTE2IDEwOjUwOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogVXNlIG1vdnpibCBpbnN0ZWFkIG9mIG1vdnp4YiBmb3IgbW92aW5nIG9uZSBieXRlIHRvIGEgbCByZWdpc3RlcgoJICBGb3Igc29tZSByZWFzb24gbGF0ZXN0IGdjYy9iaW51dGlscyBhY2NlcHQgbW92enhiIGhlcmUgd2hpbGUKCSAgbW92emJsIHdvdWxkIGJlIGNvcnJlY3QgYW5kIGlzIHRoZSBvbmx5IHRoaW5nIGFjY2VwdGVkIGJ5IG9sZGVyCgkgIGdjYy9iaW51dGlscy4KCSAgRml4ZXMgYnVnICM2MDQ2NzkuCgoyMDA5LTEyLTE2IDA2OjU5OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogc3JjL2Rlc3QgYXJlIGlucHV0IGFuZCBvdXRwdXQgb2YgdGhlIEFZVVYgYmxlbmRpbmcgTU1YIGFzc2VtYmxlcgoKMjAwOS0xMi0xNSAxODoxODo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb3dzaW5jYmFuZDogVXNlIHRoZSBzYW1lIHVwcGVyIGxlbmd0aCBsaW1pdCBhcyBhdWRpb3dzaW5jbGltaXQKCjIwMDktMTItMTIgMTc6MDA6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmN7bGltaXQsYmFuZH06IEFsbG93IG11Y2ggbGFyZ2VyIGZpbHRlciBsZW5ndGhzIG5vdwoKMjAwOS0xMi0xMSAxMjoyNzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogRml4IGZyZXF1ZW5jeSByZXNwb25zZSBjYWxjdWxhdGlvbgoKMjAwOS0xMi0wOCAxNDo1NzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMDktMTItMDYgMTY6NTg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBzcGVjaWFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGZvciBNb25vL1N0ZXJlbwoJICBUaGlzIHByb3ZpZGVzIGFub3RoZXIgNyUgc3BlZWR1cCBmb3IgdGhlIHRpbWUgZG9tYWluIGNvbnZvbHV0aW9uIGFuZCAxLjUlCgkgIHNwZWVkdXAgZm9yIHRoZSBGRlQgY29udm9sdXRpb24gb24gTW9ubyBpbnB1dC4KCSAgVGhpcyBvcHRpbWl6YXRpb24gYXNzdW1lcyB0aGF0IHRoZSBjb21waWxlciBzaW1wbGlmaWVzIGNhbGN1bGF0aW9ucwoJICBhbmQgY29uZGl0aW9ucyBvbiBjb25zdGFudCBudW1iZXJzIGFuZCB1bnJvbGxzIGxvb3BzIHdpdGggYSBjb25zdGFudAoJICBudW1iZXIgb2YgcmVwZWF0cy4KCjIwMDktMTItMDQgMDk6MjU6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBhICJsb3ctbGF0ZW5jeSIgbW9kZQoJICBUaGlzIHdpbGwgYWx3YXlzIHVzZSB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiwgd2hpY2ggbG93ZXJzIHRoZSBsYXRlbmN5LgoJICBXaXRoIEZGVCBjb252b2x1dGlvbiBpdCdzIGFsd2F5cyBhIG11bHRpcGxlIG9mIHRoZSBrZXJuZWwgbGVuZ3RoLAoJICB3aXRoIHRpbWUgZG9tYWluIGNvbnZvbHV0aW9uIGl0J3Mgb25seSB0aGUgcHJlLWxhdGVuY3kgb2YgdGhlIGZpbHRlciBrZXJuZWwuCgoyMDA5LTEyLTA0IDA5OjAwOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBSZW1vdmUgb2Jzb2xldGUgVE9ETyBjb21tZW50cwoKMjAwOS0xMi0wMyAyMDoxMjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogVXNlIHNhbXBsZXMgZXZlcnl3aGVyZSBpbnN0ZWFkIG9mIHNhbXBsZXMqY2hhbm5lbHMgc29tZXRpbWVzCgoyMDA5LTEyLTAzIDE3OjI3OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogRkZUIGNvbnZvbHV0aW9uIGltcGxlbWVudGF0aW9uCgkgIFRoaXMgcHJvdmlkZXMgYSBncmVhdCBzcGVlZHVwLCBlc3BlY2lhbGx5IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBrZXJuZWwKCSAgbGVuZ3RoIGFuZCBwcm9jZXNzaW5nIHNpemUgaXMgbm93IGxvZ2FyaXRobWljIGluc3RlYWQgb2YgbGluZWFyLiBCZWxvdyBhCgkgIGtlcm5lbCBzaXplIG9mIDMyIGl0J3MgYSBiaXQgc2xvd2VyLCBhZnRlcndhcmRzIGl0J3MgbXVjaCBmYXN0ZXI6CgkgIDE3ICAgICAwLjc4ODAwMCAtPiAwLjk1MDAwMAoJICAzMyAgICAgMS4yMDgwMDAgLT4gMS4xNDYwMDAKCSAgNjUgICAgIDIuMTY2MDAwIC0+IDEuMTQ2MDAwCgkgIC4uLgoJICA0MDk3IDEwNy40NDQwMDAgLT4gMS41MDgwMDAKCSAgRm9yIHNpemVzIHNtYWxsZXIgMzIgdGhlIG5vcm1hbCB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiBpcyBjaG9zZW4sCgkgIGZvciBsYXJnZXIgc2l6ZXMgdGhlIEZGVCBjb252b2x1dGlvbiBpcyBhdXRvbWF0aWNhbGx5IHVzZWQuCgkgIEZpeGVzIGJ1ZyAjNTk0MzgxLgoKMjAwOS0xMS0yNyAyMDozMzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogTWFrZSBtb3N0IGNvZGUgcGFydHMgaW5kZXBlbmRlbnQgb2YgdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFuZCB1c2VkIGNvbnZvbHV0aW9uIGFsZ29yaXRobQoJICBPbmx5IHJlbWFpbmluZyBwYXJ0IGlzIHRoZSByZXNpZHVlIHB1c2hpbmcsIHdoaWNoIHdpbGwgYmUgZml4ZWQgbGF0ZXIuCgoyMDA5LTExLTI2IDE1OjE3OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBPcHRpbWl6ZSB0aW1lLWRvbWFpbiBjb252b2x1dGlvbgoJICBSZW1vdmUgc29tZSByZWR1bmRhbnQgY2FsY3VsYXRpb25zLCBtb3ZlIGNvbXBhcmlzaW9ucyBvdXQgb2YKCSAgaW5uZXIgbG9vcHMsIGV0Yy4KCSAgVGhpcyBtYWtlcyB0aGUgY29udm9sdXRpb24gYWJvdXQgMyAoISkgdGltZXMgZmFzdGVyIGJ1dAoJICBwcm9jZXNzaW5nIHRpbWUgaXMgb2YgY291cnNlIHN0aWxsIHByb3BvcnRpb25hbCB0byB0aGUKCSAgZmlsdGVyIHNpemUuCgoyMDA5LTExLTI2IDEwOjQ1OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBVc2UgX0NBU1QgbWFjcm9zIGluIHNvbWUgcGxhY2VzIGFuZCBkbyBzb21lIGNhbGN1bGF0aW9ucyBvbmx5IG9uY2UKCjIwMDktMTEtMjUgMTg6MTI6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJld3JpdGUgdGltZXN0YW1wIHRyYWNraW5nCgkgIEl0J3MgbXVjaCBzaW1wbGVyIG5vdyBhbmQgZG9lc24ndCBpbnRyb2R1Y2UgYWNjdW11bGF0aW5nIHJvdW5kaW5nCgkgIGVycm9ycy4KCjIwMDktMTEtMjUgMTc6Mzk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJlbmFtZSBzb21lIHZhcmlhYmxlcyBhbmQgY2hhbmdlIGNvbW1lbnRzCgoyMDA5LTExLTI0IDIwOjA2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBBZGQgY29uc3QgcXVhbGlmaWVyIHRvIHRoZSBzb3VyY2UgZGF0YSBhcnJheQoKMjAwOS0xMi0xNCAyMDowODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBNTVggaW1wbGVtZW50YXRpb25zIG9mIHRoZSBBWVVWIGJsZW5kaW5nIGFuZCBjb2xvciBmaWxsaW5nIGZ1bmN0aW9ucwoJICBUaGlzIHByb3ZpZGVzIGEgMjAlIHNwZWVkdXAgZm9yIGJsZW5kaW5nIGFuZCAxMDAlIGZvciBjb2xvciBmaWxsaW5nLgoJICBUaGUgYmxlbmRpbmcgY2FuIHByb2JhYmx5IGJlIG9wdGltaXplZCBldmVuIG1vcmUuCgoyMDA5LTEyLTEzIDEzOjE5OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogcHJlZmVyIHR3byBsZXR0ZXIgSVNPIDYzOS0xIGNvZGUgZm9yIGV4dGVuZGVkIGNvbW1lbnQKCjIwMDktMTItMTMgMTM6MTA6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdXAgbGFuZ3VhZ2UgY29kZSBleHRyYWN0aW9uIHNvbWUgbW9yZQoJICBRdWlja3RpbWUgdXNlcyBJU08gNjM5LTIgZm9yIGxhbmd1YWdlIGNvZGVzLCBidXQgR1NUX1RBR19MQU5HVUFHRQoJICBpcyBzdXBwb3NlZCB0byBob2xkIGEgSVNPIDYzOS0xIGNvZGUsIHNvIGNvbnZlcnQgYXMgbmVlZGVkIHVzaW5nCgkgIHRoZSBuZXcgQVBJIGZyb20gLWJhc2UuCgkgIFNlZSAjNjAyMTI2LgoKMjAwOS0xMi0xMyAxMjo0NToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogZml4IGxhbmd1YWdlIGNvZGUgd3JpdGluZyBhbmQgZXh0cmFjdGlvbgoJICBNYXRyb3NrYSB1c2VzIHRocmVlLWxldHRlciBJU08gNjM5LTJCIGNvZGVzLCBidXQgR1NUX1RBR19MQU5HVUFHRSBpcwoJICBzdXBwb3NlZCB0byBjb250YWluIHR3by1sZXR0ZXIgSVNPIDYzOS0xIGNvZGVzLCBzbyB1c2UgbmV3IGxhbmd1YWdlCgkgIGNvZGUgbWFwcGluZyBmdW5jdGlvbnMgaW4gLWJhc2UgdG8gY29udmVydCBiZXR3ZWVuIHRob3NlIHR3byBhcwoJICBuZWVkZWQuCgkgIEZpeGVzICM1MDU4MjMuCgoyMDA5LTEyLTA3IDIwOjU0OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG1pbm9yIGRlYnVnIG1lc3NhZ2UgY2hhbmdlcwoJICBGaXggdXAgYSBmZXcgZGVidWcgbWVzc2FnZXMgc28gdGhhdCBpdCdzIGNsZWFyZXIgd2hhdCB0aGV5IG1lYW4uCgoyMDA5LTEyLTEyIDE3OjQ0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBDb3JyZWN0bHkgcGFyc2UgY2xhc3NpZmljYXRpb24gdGFncyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjZDg4M2FhNjBjMTEzMzE5NmE2YWUwNTI4ODRkMTVjMjk1YzM3ZGRlLgoJICBQcmV2aW91cyBjb2RlIHdhcyBjb3JyZWN0LCA0IGlzIGR1ZSB0byB0YWJsZSBhbmQgbGFuZ3VhZ2UgY29kZSwKCSAgbm90IG9ubHkgbGFuZ3VhZ2UgY29kZQoKMjAwOS0xMi0xMiAxNjoyODozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENvcnJlY3RseSBwYXJzZSBjbGFzc2lmaWNhdGlvbiB0YWdzCgkgIEluIGNsc2YgYXRvbXMsIHRoZSBsYW5ndWFnZSBjb2RlIGlzIDIgYnl0ZXMgbG9uZywgbm90IDQuCgoyMDA5LTEyLTEyIDE2OjU1OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRGVxdWV1ZSBjdXJyZW50IGJ1ZmZlciBvbiBGTFVTSF9TVE9QIGFuZCBkb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcnMKCSAgLi4uIE5VTEwgYnVmZmVycyBzaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiBhbnltb3JlIHdoZW4gcG9wcGluZyB0aGUKCSAgYnVmZmVyIGZyb20gR3N0Q29sbGVjdFBhZHMgYnV0IGJldHRlciBjaGVjayBmb3IgdGhpcyBhbmQgcHJpbnQgYSB3YXJuaW5nLgoKMjAwOS0xMi0xMSAxMzoxMToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBzdHVwaWQgbWlzdGFrZSBpbiBsYXN0IGNvbW1pdAoKMjAwOS0xMi0xMSAxMjozNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGRvIGZsb2F0aW5nIHBvaW50IG1hdGggaW4gdGhlIGlubmVyIHByb2Nlc3NpbmcgbG9vcCBmb3IgSTQyMCBibGVuZGluZwoKMjAwOS0xMi0xMCAxODo0Mzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIE5VTEwgYW5kIGVtcHR5IHRyYW5zcG9ydCBzdHJpbmdzCgkgIFdoZW4gYW4gUlRTUCBleHRlbnNpb24gcmV0dXJucyBOVUxMIG9yIGFuIGVtcHR5IHRyYW5zcG9ydCBzdHJpbmcsIGp1c3QgaWdub3JlIGl0CgkgIGFuZCB0cnkgdG8gZ2V0IHRoZSBuZXh0IHBvc3NpYmxlIHRyYW5zcG9ydC4gRml4ZXMgcGxheWJhY2sgb2YgUmVhbE1lZGlhIHN0cmVhbXMuCgoyMDA5LTEyLTEwIDE4OjQyOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbnN0YWxsIGV2ZW50IGZ1bmN0aW9uIG9uIGludGVybmFsIFJUQ1AgcGFkCgkgIEluc3RhbGwgYSBjdXN0b20gZXZlbnQgZnVuY3Rpb24gb24gdGhlIGludGVybmFsIFJUQ1AgcGFkIHNvIHRoYXQgd2UgY2FuIHJlcGx5CgkgIFRSVUUgdG8gYSBsYXRlbmN5IGV2ZW50LgoKMjAwOS0xMi0xMCAxMDo0ODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfcmdiLmM6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB3cm9uZyBjb21tZW50cywgY29waWVkIGZyb20gdGhlIEk0MjAgYmxlbmQgZnVuY3Rpb24KCjIwMDktMTItMDkgMjE6MTU6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBUaGUgcXVldWVkIGR1cmF0aW9uIGlzIGEgc2lnbmVkIGludGVnZXIKCSAgLi4uYW5kIGl0IHdpbGwgcmVhbGx5IGJlIG5lZ2F0aXZlIHNvbWV0aW1lcy4KCjIwMDktMTItMDkgMjE6MDM6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBPbmx5IHBvcCBidWZmZXJzIGZyb20gY29sbGVjdHBhZHMgYWZ0ZXIgdGhleSdyZSBmdWxseSBjb25zdW1lZAoJICBUaGlzIGRlY3JlYXNlcyBsYXRlbmN5IGFuZCBtZW1vcnkgdXNhZ2UgYmVjYXVzZSBuZXcgYnVmZmVycyBhcmUgb25seQoJICBhY2NlcHRlZCBieSBjb2xsZWN0cGFkcyBpZiB0aGVyZSdzIG5vIHF1ZXVlZCBidWZmZXIuCgoyMDA5LTEyLTA5IDIwOjQyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogQ2xlYW4gdXAgcG9zaXRpb24vZHVyYXRpb24gaGFuZGxpbmcKCSAgQWxzbyB1c2UgdGhlIGxhc3QgZW5kIHRpbWUgZm9yIGNsb3NpbmcgdGhlIHNlZ21lbnQsIG5vdCB0aGUKCSAgc3RhcnQgdGltZSBvZiB0aGUgbGFzdCBidWZmZXIuCgoyMDA5LTEyLTA5IDE2OjUwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDbG9zZSB0aGUgc2VnbWVudCBvbiBFT1MgaWYgdGhlIHJlYWwgZHVyYXRpb24gaXMga25vd24KCjIwMDktMTItMDkgMTY6NDY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVwZGF0ZSBkdXJhdGlvbiBpZiBjdXJyZW50IGJ1ZmZlciBpcyBhbHJlYWR5IGFmdGVyIHRoZSBvbGQgZHVyYXRpb24KCjIwMDktMTItMDkgMTY6NDM6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERyb3AgYnVmZmVycyB0aGF0IGFyZSBhZnRlciBzZWdtZW50IHN0b3AKCSAgLi4uYW5kIGlmIHRoaXMgaGFwcGVuZWQgZm9yIGFsbCBzdHJlYW1zIGdvIEVPUy4KCjIwMDktMTItMDkgMTY6NDE6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBwb3NpdGlvbiB0cmFja2luZyBhbmQgc2VuZGluZyBvZiBmaWxsZXIgc2VnbWVudHMKCjIwMDktMTItMDkgMTY6MTU6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBVc2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCgpIGZvciBmcHMgdG8gc2Vjb25kcyBwZXIgZnJhbWUgY2FsY3VsYXRpb25zCgoyMDA5LTEyLTA4IDE3OjM0OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBLZWVwIHRoZSBzZWdtZW50IHN0b3AgcG9zaXRpb24gZm9yIHVwZGF0ZSBuZXdzZWdtZW50IGV2ZW50cwoKMjAwOS0xMi0wNCAxNDo0Mjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2xhZHNwYS9sb2FkLmM6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSAgbGFkc3BhOiBSZW1vdmUgdGhlIHNvdXJjZXMgZnJvbSBnc3QtcGx1Z2lucy1nb29kCgkgIEl0J3MgZGlzYWJsZWQgYW55d2F5IGFuZCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgaXQgaXMgaW4KCSAgZ3N0LXBsdWdpbnMtYmFkLiBGaXhlcyBidWcgIzYwMzc3OS4KCjIwMDktMTItMDQgMTM6NTA6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbml0IGN1cnJlbnRfZW50cnkgaW4gcHVzaCBtb2RlCgkgIFNldCB0aGUgY3VycmVudF9lbnRyeSB0byAwIChpbnN0ZWFkIG9mIC0xKSBpbiBwdXNoIG1vZGUgc28gdGhhdCB3ZSBjb3JyZWN0bHkKCSAgY2FsY3VsYXRlIHRoZSBjdXJyZW50IGZyYW1lIG51bWJlciBhbmQgdGltZXN0YW1wLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gYW5kIGZpYyB0aGUgZHVyYXRpb24gZGVidWcuCgoyMDA5LTEyLTA0IDExOjE0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1ham9yIG1lbW9yeSBsZWFrIHdoZW4gcGxheWluZyBiYWNrIHJ0c3AgdmlkZW8gc3RyZWFtcwoJICBEb24ndCBmb3JnZXQgdG8gdW5yZWYgUW9TLCBuYXZpZ2F0aW9uIGFuZCBsYXRlbmN5IGV2ZW50cyB3aGVuCgkgIGRyb3BwaW5nIHRoZW0uCgoyMDA5LTEyLTAzIDA4OjU4OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBvbmx5IHNlbmQgcGVuZGluZyB0YWdzIHdpdGggbmV3c2VnbWVudCBldmVudHMKCSAgU2VuZCBwZW5kaW5nIHRhZ3Mgb25seSBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBqdXN0IGFmdGVyIHdlJ3ZlIHNlbnQKCSAgdGhlIG5ld3NlZ21lbnQgZXZlbnQsIG5vdCB3aXRoIGUuZy4gZmx1c2gtc3RhcnQuIFRoaXMgbm90IG9ubHkgZG9lcyB0aGUKCSAgcmlnaHQgdGhpbmcsIGJ1dCBhbHNvIG1ha2VzIHN1cmUgd2UncmUgbm90IHRyYW1wbGluZyBvdmVyIHZhcmlhYmxlcyBzZXQKCSAgdXAgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQgZnJvbSB0aGUgc2Vla2luZyB0aHJlYWQgaW4gY2FzZSBzb21lb25lIHRyaWVzCgkgIHRvIGlzc3VlIGEgc2VlayBqdXN0IGFzIHRoZSBkZW11eGVyIGlzIHBhcnNpbmcgdGhlIGhlYWRlcnMuCgkgIEZpeGVzICM2MDE2MTcuIFNwb3R0ZWQgYnkgT2dueWFuIFRvbmNoZXYuCgoyMDA5LTEyLTAzIDE3OjQ5OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYnVnIG1lc3NhZ2UgcHJpbnRmIGFyZ3MKCSAgRml4ZXMgZGVidWcgbWVzc2FnZSBwcmludGYgZm9ybWF0IHRvIG1ha2UgaXQgYnVpbGQgaW4gbWFjJ3MgZ2NjCgoyMDA5LTEyLTAyIDEzOjMzOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogQ29udmVydCBkZWxheSBjb3JyZWN0bHkKCSAgVXNlIEdTVF9NU0VDT05EIHRvIGNvbnZlcnQgZGVsYXkgaW4gbXNlY3MgdG8gbmFub3NlY3MKCSAgRml4ZXMgIzYwMzU0NwoKMjAwOS0xMi0wMSAxOToyNDowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVzZXQgc2VnbWVudCBpbmZvIGFmdGVyIGZsdXNoCgkgIFJlc2V0IHRoZSBzZWdtZW50IGluZm8gYWZ0ZXIgYSBmbHVzaC4gV2UgdXNlIHRoZSBzZWdtZW50IGZvciBoYW5kbGluZyBRb1MgYW5kIGlmCgkgIHdlIGRvbid0IHJlc2V0IHRoZSBzZWdtZW50LCBRb1MgaXMgYmFzaWNhbGx5IGRpc2FibGVkIGFmdGVyIGEgZmx1c2hpbmcgc2Vlay4KCjIwMDktMTItMDEgMTU6MDc6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4N2JmNDI4IHRvIDQ3Y2IyM2EKCjIwMDktMTItMDEgMTQ6MTU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYTRjNzVjIHRvIDg3YmY0MjgKCjIwMDktMTEtMzAgMTU6NTk6NTAgKzAxMDAgIEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenogYXQgeWFob28gZG90IGZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBidWZmZXIgcmVmL3VucmVmIHBhaXJzIGZvciBDU1JDcwoJICBXZSByZWYgdGhlIGJ1ZmZlciBiZWZvcmUgcHVzaGluZyBpdCBkb3duc3RyZWFtIGluIG9yZGVyIHRvIGdldCB0aGUgQ1NSQ3Mgb2YgaXQKCSAgYWZ0ZXIgcHVzaGluZy4gVGhpcyBjYXVzZXMgcGVyZm9ybWFuY2UgcHJvYmxlbXMgd2hlbiBkb3duc3RyZWFtIGVsZW1lbnRzIHdhbnQgdG8KCSAgY2hhbmdlIHRoZSBtZXRhZGF0YSBiZWNhdXNlIHRoZSBidWZmZXIgbmVlZHMgdG8gYmUgc3ViYnVmZmVyZWQuCgkgIEluc3RlYWQsIHJlYWQgYW5kIHN0b3JlIHRoZSBDU1JDcyBvZiB0aGUgYnVmZmVyIGluIGFuIGFycmF5IGJlZm9yZSBwdXNoaW5nIGl0CgkgIGFuZCBwcm9jZXNzIHRoZSBhcnJheSBhZnRlciBwdXNoaW5nIHRoZSBidWZmZXIuIFRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSB0aGUKCSAgcmVmL3VucmVmIHBhaXIuCgkgIEZpeGVzICM2MDMzNzYKCjIwMDktMTEtMjggMTk6MjM6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDI6IHVzZSBnc3Rwb2xsIGZvciB0aW1lb3V0cwoJICBVc2Ugb3VyIG93biBHc3RQb2xsIGJhc2VkIHRpbWVvdXQgaW5zdGVhZCBvZiB0aGUgc2hvdXQgc2xlZXAgc28gdGhhdCB3ZSBjYW4KCSAgaW50ZXJydXB0IHdoZW4gZG9pbmcgYSBzdGF0ZSBjaGFuZ2UgYW5kIHNodXR0aW5nIGRvd24uCgkgIEZpeGVzICM2MDI4ODcKCjIwMDktMTEtMjggMTI6MjU6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgY2hlY2s6IGZpeCBqaXR0ZXJidWZmZXIgY2hlY2sKCSAgTWFrZSBzdXJlIHdlIHNldCBhIGJhc2VfdGltZSBvbiB0aGUgZWxlbWVudC4KCSAgRml4IHRoZSB0aW1lb3V0IHRvIGF0IGxlYXN0IHR3aWNlIHRoZSBqaXR0ZXJidWZmZXIgbGF0ZW5jeS4KCSAgRW5hYmxlIHByZXZpb3VzbHkgZmFpbGluZyB0ZXN0cy4KCSAgUmVtb3ZlIGltcG9zc2libGUgY2hlY2tzLgoKMjAwOS0xMS0yNyAxODo1NToyMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTNhMjQ4NSB0byBkYTRjNzVjCgoyMDA5LTExLTI2IDE2OjE0OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogb3B0aW9uYWxseSBtZXJnZSBOQUxVcyBpbnRvIEFjY2VzcyBVbml0cwoJICAuLi4gd2hpY2ggbWF5IGJlIGV4cGVjdGVkL2Rlc2lyZWQgYnkgc29tZSBkb3duc3RyZWFtIGRlY29kZXJzCgkgIChhbmQgc3BlYy13aXNlIGhpZ2hseSByZWNvbW1lbmRlZCBmb3IgYXQgbGVhc3Qgbm9uLWJ5dGVzdHJlYW0gbW9kZSkuCgoyMDA5LTExLTI2IDE3OjI5OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHRpbWVzdGFtcCBkYXRhdHlwZQoKMjAwOS0xMS0yNSAxMDozODoyMyAtMDYwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIHVzaW5nIHdyb25nIGNsb2NrLXJhdGUKCSAgQ2hlY2sgZm9yIGEgdmFsaWQgY2xvY2stcmF0ZSBiZWZvcmUgYXR0ZW1wdGluZyB0byBlc3RpbWF0ZSB0aGUgbnB0CgkgIHN0b3AgdGltZS4KCjIwMDktMTEtMjUgMTA6Mzc6MzAgLTA2MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggdHlwbyBpbiBjb21tZW50cwoKMjAwOS0xMS0yNSAxNjowNToxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcnRlc3Q6IGFkZCBvbmUgbW9yZSB0ZXN0IGFuZCBmaWxlIGEgYnVnIG5vdwoJICBDSGFuZ2UgdGhlIGJhY2t3YXJkcyB0ZXN0IHRvIGFsd2F5cyBzZW5kIGZpcnN0IGJ1ZmZlciBmaXJzdCB0byBoYXZlIGEgZGVmaW5lCgkgIGJhc2V0aW1lLiBBZGQgYW5vdGhlciB0ZXN0IHRoYXQgc2VuZHMgYnVmZmVycyBiYWNrd2FyZHMgdG8gYXNzZXJ0IHRoYXQgb25seQoJICBmaXJzdCBzZW50IGJ1ZmZlciBpcyBrZWVwIGFuZCB1c2VkIGFzIGJhc2V0aW1lLiBEaXNhYmxlZCB0aG9zZSB0ZXN0cyBzdGlsbCwKCSAgYXMgaXRzIG5vdCBwYXNzaW5nL2ZhaWxpbmcgY29uc2l0ZW50bHkgYW5kIGZpbGUgYSBidWcgZm9yIGppdHRlcmJ1ZmZlci4KCjIwMDktMTEtMjUgMTA6MTc6MzQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXJ0ZXN0OiBpbXByb3ZlIHRoZSB0ZXN0CgkgIHRoZSB0ZXN0cyBhcmUgYSBiaXQgbW9yZSBzb2xpZCBub3cgYnV0IHN0aWxsIG5vdCBwcm9kdWNlIHJlbGlhYmxlIHJlc3VsdHMuCgkgIFdvbmRlciBpZiB0aGV5IGFyZSBzdGlsbCBmbGF3a3kgb3IgaWYgaXRzIGEgYnVnIGluIGppdHRlcmJ1ZmZlci4KCjIwMDktMTEtMjQgMTE6MTM6MDYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiByZXR1cm4gZXJyb3IgbWVzc2FnZSBvbiB3aW5kb3dzIHRvby4KCjIwMDktMTEtMjQgMTA6NTg6NDkgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXJzdCBwaGFzZSBvZiBmaXhpbmcgdXAgZXJyb3IgcmVwb3J0aW5nIGZvciB3aW5kb3dzLgoKMjAwOS0xMC0zMCAwMzoxMzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFsc28gc2V0IHRoZSBzdWdnZXN0ZWQgYnVmIHNpemUgZm9yIGF1ZGlvCgkgIFdlIHdlcmUgb25seSBzZXR0aW5nIHRoZSBzdWdnZXN0ZWQgYnVmIHNpemUgZm9yIHZpZGVvLAoJICB3ZSBjYW4gc2V0IGl0IGZvciBhdWRpbyBhcyB3ZWxsLgoJICBUaGlzIGFuZCAxOTVlMTQ1MjlkODBlZjMxOGNlM2E3NzhjMTk5NWVmYjExZjI2NmNkCgkgIGZpeCBhbiBpc3N1ZSB0aGF0IHByZXZlbnRlZCBzZWVraW5nIG9uIGxhcmdlIGF2aSBmaWxlcwoJICBvbiBXTVAgKG5vbi1yZWNlbnQgdmVyc2lvbnMpLgoKMjAwOS0xMS0wNCAxNjoxMDoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IGZpeCBpbmR4IGR1cmF0aW9uIGZvciBQQ00gYXVkaW8KCSAgR3N0QnVmZmVycyBmb3IgUENNIGF1ZGlvIHVzdWFsbHkgY29udGFpbnMgbW9yZSB0aGFuCgkgIDEgc2FtcGxlLCB3ZSBuZWVkIHRvIGdldCB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgdG8gc2V0CgkgIHRoZSBpbmR4IGR1cmF0aW9uLgoKMjAwOS0xMS0wNCAxNjowNDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEF1ZGlvIGJ1ZmZlcnMgc2hvdWxkIGJlIHBpY2tlZCBlYXJsaWVyCgkgIEFkZHMgYSAwLjVzIGFkdmFudGFnZSBmb3IgYXVkaW8gYnVmZmVycyB0byBiZWluZwoJICBwaWNrZWQgZWFybGllciBmb3IgbXV4aW5nLgoKMjAwOS0xMS0yNCAxNjo0MDoxOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcHVzaCBtb2RlIGJ5IG1ha2luZyBzdXJlIHN0YmwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGluIG5leHRfZW50cnlfc2l6ZSAoKQoKMjAwOS0xMS0yNCAxNjozNToyMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb3JkZXIgb2YgYXJndW1lbnRzIGluIGxvZyBtZXNzYWdlCgoyMDA5LTExLTI0IDE1OjUxOjIxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGZpeCBzcGVsbGluZyBpbiBjb21tZW50CgoyMDA5LTExLTIzIDE3OjU4OjE3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGJ1aWxkIHN5c3RlbTogRml4IHdyb25nbHkgY29tbWl0dGVkIGNoYW5nZSB0byBjb21tb24vCgoyMDA5LTExLTEwIDEwOjI2OjA3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEVhc2UgZGVidWdnaW5nIGJ5IHJlbW92aW5nIGEgZ290byBmb3IgYW4gZXJyb3IgbWVzc2FnZQoKMjAwOS0xMS0xNCAxNTo1MjowOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIHBlciBzYW1wbGUgcmF0aGVyIHRoYW4gYWxsIGF0IG9uY2UgYnV0IGJ1aWxkIGNvbXBsZXRlIGluZGV4IHdoZW4gc2Vla2luZwoKMjAwOS0xMS0wNCAxNzozMToxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTYXZlIGF0b20gZGF0YSBmb3IgbGF0ZXIgdXNlIHNvIGl0IGRvZXNuJ3QgZ2V0IGZyZWVkIGFmdGVyIGluaXRpYWwgcGFyc2luZwoKMjAwOS0xMS0wNiAxMTowMDowNCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSBmcm9tIHRoZSBwcmV2aW91c2x5IHBhcnNlZCBzYW1wbGUgdXAgdG8gc2FtcGxlIG4KCjIwMDktMTEtMDQgMTc6MDQ6MjIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWFrZSBxdGRlbXV4X3BhcnNlX3NhbXBsZXMgKCkgcGFyc2UgdXAgdG8gbiBzYW1wbGVzCgoyMDA5LTEwLTI4IDE3OjQ5OjAyICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNlcGFyYXRlIG9mZiBzdGJsIHN1Yi1hdG9tIGluaXRpYWxpc2F0aW9uCgoyMDA5LTEwLTI2IDIyOjQyOjM2ICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vdmUgdmFyaWFibGVzIGludG8gY29udGV4dCBpbiBwcmVwYXJhdGlvbiBmb3IgcmVmYWN0b3Jpc2F0aW9uCgoyMDA5LTEwLTI2IDIwOjM2OjA4ICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBidWcgd2hlcmUgc3RwcyBpcyBuZXZlciBwYXJzZWQgZHVlIHRvIGxvZ2ljIGVycm9yCgoyMDA5LTExLTA0IDE3OjMxOjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBvcnQgY3R0cyBmcm9tIEdub2RlICogdG8gR3N0Qnl0ZVJlYWRlcgoKMjAwOS0xMC0yMyAxMzowNjo0NCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IFN3aXRjaCBmcm9tIFF0QXRvbVBhcnNlciB0byBHc3RCeXRlUmVhZGVyCgoyMDA5LTExLTIzIDEyOjUzOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdHlwbyBhbmQgZ3JhbW1hcgoKMjAwOS0xMS0yMCAxMDozMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCB0eXBvIGluIG1vZGUgZW51bSBkZXNjcmlwdGlvbgoKMjAwOS0xMS0yMCAxMToyNTo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGRvY3M6IG1vcmUgbGlua3MgYW5kIGJldHRlciBzaG9ydCBkZXNjcmlwdGlvbgoJICBGaXggc3BlbGxpbmcgb2YgR3N0UnRwU3NyY0RlbXV4IHRvIGdldCBpdCBsaW5rZWQuIEFkZCBtb3JlIGxpbmtzLiBDaGFuZ2UKCSAgdGhlIHNob3J0IGRlc2NyaXB0aW9uIHRvIGJlIG1vcmUgbWVhbmluZ2Z1bC4KCjIwMDktMTEtMjAgMDk6NTg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogRml4IHVuaXQgdGVzdCBmb3IgcmVjZW50IHBvc2l0aW9uIHJlcG9ydGluZyBjaGFuZ2VzCgoyMDA5LTExLTE5IDE2OjA5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IEFmdGVyIHB1c2hpbmcgYSBmcmFtZSwgdXBkYXRlIGxhc3Rfc3RvcCB0byB0aGUgZW5kIG9mIHRoZSBmcmFtZQoJICBUaGlzIGltcHJvdmVzIHBvc2l0aW9uIHJlcG9ydGluZywgZXNwZWNpYWxseSBiZWNhdXNlIG9mIHRoZSBmYWN0IHRoYXQKCSAgV2F2UGFjayBmcmFtZXMgYXJlIHVzdWFsbHkgMC41LTEuMCBzZWNvbmRzIGxvbmcuCgoyMDA5LTExLTE5IDE2OjA4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IEFsbG93IHB1bGxpbmcgdGhlIGxhc3QgV2F2UGFjayBmcmFtZSBvZiBhIGZpbGUKCSAgQmVjYXVzZSBvZiBhID49IGluc3RlYWQgb2YgYSA+LCB0aGF0IGxhc3QgZnJhbWUgb2YgYSBXYXZQYWNrIGZpbGUKCSAgd291bGQgbmV2ZXIgYmUgcGFyc2VkIGluIHB1bGwgbW9kZS4KCjIwMDktMTEtMTkgMTA6MzA6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNzAyZmUxIHRvIDUzYTI0ODUKCjIwMDktMTAtMjkgMDg6Mjk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBBZGQgbW9yZSBmaWVsZHMgdG8gU1ZRMyBjYXBzCgkgIHF0ZGVtdXggb25seSBhZGRlZCB0aGUgd2hvbGUgc3RzZCBhdG9tIGFzICdjb2RlY19kYXRhJwoJICBpbiBpdHMgb3V0cHV0IGNhcHMgZm9yIFNWUTMuIFRoaXMgcGF0Y2ggbWFrZXMgaXQgYWRkCgkgIHRoZSBTRVFIIChpbnNpZGUgYSBTTUkgYXRvbSkgYW5kIGEgZ2FtbWEgZmllbGQgKHRha2VuCgkgIGZyb20gdGhlIGdhbWEgYXRvbSkgaWYgYXZhaWxhYmxlLgoJICBGaXhlcyAjNTg3OTIyCgoyMDA5LTExLTE4IDE3OjU1OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBSYWlzZSByYW5rIG9mIG11eGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTQ6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG06IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU0OjAyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSAgbGF3OiBSYWlzZSByYW5rIG9mIGVuY29kZXJzIHRvIFBSSU1BUlkKCjIwMDktMTEtMTIgMTk6MTE6MTggKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgdXNlci1pZCBhbmQgdXNlci1wdyBwcm9wZXJ0aWVzCgkgIFNvIHRoYXQgb25lIGRvZXNuJ3QgbmVlZCB0byBtb2RpZnkgdGhlIFVSTCB0byBoYXZlIGFjY2VzcwoJICB0byBhdXRoZW50aWNhdGVkIFJUU1Agc3RyZWFtcy4KCSAgZml4ZXMgIzYwMTcyOAoKMjAwOS0xMS0xOCAxMjoyMjoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgYWNxdWlyZWQgZmxhZyB3aGVuIGNoZWNraW5nIHZhbGlkIHN0YXRlCgkgIFVzZSB0aGUgYWNxdWlyZWQgZmllbGQgb2YgdGhlIHJpbmdidWZmZXIgaW4gZ2V0X3RpbWUgdG8ga25vdyB3aGVuIHdlIGFyZSBpbiBhbgoJICBpbnZhbGlkIHN0YXRlLiBXZSBkb24ndCBjbGVhciB0aGUgcmF0ZSBmbGFnIHdoZW4gcmVsZWFzaW5nIHRoZSByaW5nYnVmZmVyIHNvCgkgIHRoaXMgdmFsdWVzIGlzIG5vdCB1c2FibGUuCgkgIEF2b2lkcyBzb21lIGVycm9yIG1lc3NhZ2VzIGJlaW5nIHBvc3RlZCBiZWNhdXNlIHRoZSBwdWxzZWF1ZGlvIGNvbm5lY3Rpb24gaXMKCSAgZG93bi4KCjIwMDktMTEtMTggMTA6MTc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZSByZXF1aXJlbWVudCB0byAwLjEwLjI1LjEgYXMgd2VsbAoJICBNYWtlIGltcGxpY2l0IHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAwOS0xMS0xOCAxMjo1Mzo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBib2d1cyBtZW1vcnkgY2h1bmsgc2l6ZSBjaGVjawoKMjAwOS0xMS0xOCAxMjowMTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbXBsZW1lbnQgc29tZSBtb3JlIGNhbGxiYWNrcwoJICBJbXBsZW1lbnQgc29tZSBtb3JlIGNhbGxiYWNrcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLgoKMjAwOS0xMS0xMSAxNTo1MDoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdGluZyBzaWduYWxzCgkgIFJlbGVhc2UgdGhlIGpidWYgbG9jayBiZWZvcmUgZW1pdGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsIHRvIGF2b2lkCgkgIGRlYWRsb2Nrcy4gV2UgYWxzbyBuZWVkIHRvIGNhdGNoIHRoZSBzaHV0ZG93biBjYXNlIHdoZW4gbG9ja2luZyBhZ2Fpbi4KCSAgRml4ZXMgIzU5MzM1NAoKMjAwOS0xMS0xMSAxMTo1OToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSAgcnRwOiBhZGQgQnJvYWRjb21Wb2ljZSBkZXBheWxvYWRlcgoKMjAwOS0xMS0xMSAxMTozODozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSAgcnRwYnZwYXk6IGFkZCByZmMgcmVmZXJlbmNlCgoyMDA5LTExLTExIDExOjM3OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkgIHJ0cDogYWRkIEJyb2FkY29tVm9pY2UgcGF5bG9hZGVyCgoyMDA5LTExLTA5IDEyOjE3OjM0ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwcm9wZXJseSBmaW5pc2ggdGhlIEVDTUEgYXJyYXkKCSAgVGhlIEVDTUEgYXJyYXkgd2l0aCB0aGUgZmlsZSBpbmRleCB3YXMgbWlzc2luZyBhIG1hbmRhdG9yeSBlbmQgbWFya2VyLgoJICBGaXhlcyBidWcgIzYwMTI0Mi4KCjIwMDktMTEtMTggMDI6MTU6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBVc2UgbmV3IHN0aWxsLWZyYW1lIEFQSSBmcm9tIGdzdC1wbHVnaW5zLWJhc2UKCjIwMDktMTEtMTggMDI6MTQ6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBnc3QtcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjUuMQoKMjAwOS0xMS0xNyAxNzo1OToxMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGlkZW50aWZ5IElNQSBhZHBjbSBpbiBxdCBwcm9wZXJseS4KCjIwMDktMTEtMTggMDE6Mjc6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTcuMQoKMjAwOS0xMS0xNyAwMTo1MzowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgcmVsZWFzZSAwLjEwLjE3IHRvIHRoZSBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTcgPT09CgoyMDA5LTExLTE3IDAxOjI1OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFJlbGVhc2UgMC4xMC4xNwoKMjAwOS0xMS0xNyAwMDoxODoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTExLTEzIDAyOjA3OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjMgcHJlLXJlbGVhc2UKCjIwMDktMTEtMTAgMTE6NTI6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBNYWtlIHN1cmUgdG8gaW5pdGlhbGl6ZSB2YXJpYWJsZXMgYmVmb3JlIHVzaW5nIHRoZW0KCjIwMDktMTEtMDkgMjA6MDY6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4yIHByZS1yZWxlYXNlCgoyMDA5LTExLTA5IDE1OjIwOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZnJlZSB0ZW1wb3JhcnkgYnVmZmVyIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gTlVMTAoJICBGcmVlIHRlbXBvcmFyeSBhbGxvY2F0aW9ucyBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCBub3QKCSAgb25seSB3aGVuIHRoZSBvYmplY3QgaXMgZmluYWxpc2VkLgoKMjAwOS0xMS0wOSAxMTo0MDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb25seSBhbGxvY2F0ZSBhcyBtdWNoIHRlbXBvcmFyeSBtZW1vcnkgYXMgbmVlZGVkIGZvciBpbmRpcmVjdCBkZWNvZGluZwoJICBXaGVuIHdlIGNhbid0IGRlY29kZSBkaXJlY3RseSBpbnRvIHRoZSBvdXRwdXQgYnVmZmVyLCBtYWtlIG91ciB0ZW1wIGJ1ZmZlcnMKCSAgb25seSBhcyBiaWcgYXMgbmVlZGVkIGluc3RlYWQgb2YgYWxsb2NhdGluZyBmb3IgdGhlIHdvcnN0IGNhc2Ugc2NlbmFyaW8gKHdlbGwsCgkgIHdlIHN0aWxsIGFsbG9jIG1vcmUgdGhhbiBzdHJpY3RseSBuZWVkZWQgZm9yIHNvbWUgY2FzZXMsIGJ1dCBzaWduaWZpY2FudGx5CgkgIGxlc3MgdGhhbiBiZWZvcmUpLgoKMjAwOS0xMS0wNSAyMzo0Njo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcHJpbnRmIGZvcm1hdCBmaXgKCjIwMDktMTEtMDUgMjM6NDQ6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMzo0MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IHByaW50ZiBmb3JtYXQgZml4CgoyMDA5LTExLTA1IDEyOjEzOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZG8gbm90IHdyaXRlIGVtcHR5IElORk8gbGlzdAoJICBhdm9pZCB3cml0aW5nIGFuIGVtcHR5IElORk8gbGlzdCBjaHVuaywgYm90aCBiZWNhdXNlCgkgIGl0IGlzIHVzZWxlc3MgYW5kIGJlY2F1c2UgdmxjIHJlZnVzZXMgdG8gcGxheSB0aGUKCSAgcmVzdWx0aW5nIGZpbGUuCgoyMDA5LTExLTA1IDEwOjU0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogTm90aWZ5IGFib3V0IGJhbmQgcHJvcGVydHkgY2hhbmdlcyBjYXVzZWQgYnkgY2hhbmdpbmcgbnVtYmVyIG9mIGJhbmRzCgoyMDA5LTExLTA1IDEwOjQ1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogTWFrZSBjaGFuZ2VzIHRvIGJhbmQgcHJvcGVydGllcyBhbmQgdGhlIG51bWJlciBvZiBiYW5kcyB0aHJlYWRzYWZlCgoyMDA5LTExLTA1IDEwOjMwOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRml4IHN0dXBpZCBvZmYgYnkgdHdvIGJ1ZwoKMjAwOS0xMS0wNSAwODoxODowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IEFkZCBiYW5kIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgYmFuZCBmaWx0ZXIgdHlwZQoJICBUaGlzIGFsbG93cyBwZXIgYmFuZCBjb25maWd1cmF0aW9uIG9mIGEgcGVhaywgbG93IHNoZWxmIG9yCgkgIGhpZ2ggc2hlbGYgZmlsdGVyLCB3aGljaCBjYW4gYmUgdmVyeSB1c2VmdWwgaWYgdGhlIGJhbmQgZnJlcXVlbmNpZXMKCSAgYW5kIHdpZHRocyBhcmUgbWFudWFsbHkgY29uZmlndXJlZC4KCjIwMDktMTEtMDUgMDg6MTc6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBGaXggY29kZSBzdHlsZQoKMjAwOS0xMS0wNSAwODowMzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBTb21lIGNsZWFudXAKCjIwMDktMTAtMDcgMDk6MzE6MTkgLTA0MDAgIEdhYnJpZWwgTWlsbGFpcmUgPGdhYnJpZWwubWlsbGFpcmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGNlbHRwYXkvZGVwYXkgOiBjaGFuZ2UgR1NUX0RFQlVHX09CSkVDVCB0byBHU1RfTE9HX09CSkVDVCBpbiBwYXlfaGFuZGxlX2J1ZmZlciBhbmQgZGVwYXlfcHJvY2VzcwoKMjAwOS0xMC0wMiAxNzowNDo0MyAtMDQwMCAgR2FicmllbCBNaWxsYWlyZSA8Z2FicmllbC5taWxsYWlyZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgY2VsdHBheS9kZXBheTogTmVnb3RpYXRlIHBhcmFtZXRlcnMgdGhyb3VnaCBjYXBzCgkgIGNlbHRkZXBheSA6IGFkZGVkIGRlZmF1bHQgZnJhbWVzaXplKDQ4MCkgY2hhbm5lbHMoMSkgYW5kIGNsb2NrcmF0ZSgzMjAwMCkKCSAgZGVwYXlfc2V0Y2FwcyA6IG5vdyBnZXRzIGNoYW5uZWxzIGFuZCBmcmFtZXNpemUgZnJvbSBzdHJpbmcgd2l0aCBkZWZhdWx0IHZhbHVlCgkgIGRlcGF5X3Byb2Nlc3MgOiBub3cgYWRkcyB0aW1lc3RhbXAgdG8gb3V0YnVmCgkgIEFkZGVkIGZyYW1lX3NpemUgdG8gR3N0UnRwQ2VsdERlcGF5CgkgIENoYW5nZWQgc29tZSBHU1RfREVCVUcgdG8gR1NUX0RFQlVHX09CSkVDVCBvciBHU1RfTE9HX09CSkVDVAoJICBjZWx0cGF5IDogZ2V0Y2FwcyA6IGdldHMgY2hhbm5lbCBhbmQgZnJhbWVzaXplIGFuZCBzZXRzIGNhcHMKCSAgQWRkZWQgZnJhbWUtc2l6ZSB0byBzdGF0aWMgY2FwcyBmb3IgYXVkaW8veC1jZWx0CgoyMDA5LTExLTA0IDE1OjU4OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgIGRlaW50ZXJsYWNlOiBQdWxsIGluIENGTEFHUyBhbmQgTElCUyBmbGFncyBmcm9tIC1iYXNlIGJlZm9yZSBjb3JlIGJlZm9yZSBzeXN0ZW0uCgoyMDA5LTEwLTE1IDE2OjMzOjI0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IERvbid0IGNyZWF0ZSBiYWNrdXAgLnBvIGZpbGVzCgkgIEFzIHdlbGwgYXMgcHJldmVudGluZyBjcmVhdGlvbiBvZiB1c2VsZXNzIGJhY2t1cCBmaWxlcywgaXQgd29ya3MKCSAgYXJvdW5kIGEgYnVnIGluIGdldHRleHQgMC4xNyBvbiBPUy9YCgoyMDA5LTExLTA0IDE2OjQ3OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGloYXRlc3RldmUubG9jYWw+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogaW5pdCB2YXJpYWJsZXMgdG8gbWFrZSBjb21waWxlciBvbiBvc3ggYnVpbGQgYm90IGhhcHB5CgoyMDA5LTExLTAzIDE2OjA0OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBpbml0IHZhcmlhYmxlcyB0byBtYWtlIGNvbXBpbGVyIG9uIG9zeCBidWlsZCBib3QgaGFwcHkKCjIwMDktMTEtMDMgMTc6MzU6MTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBkb24ndCBhbGxvY2F0ZSBiaWcgYXJyYXlzIG9uIHRoZSBzdGFjawoJICBBZGQgdGhlIGFycmF5cyB0byB0aGUgaW5zdGFuY2UgZGF0YSBhbmQgYWxsb2NhdGUgb24gZmlyc3QgdXNlLgoKMjAwOS0xMS0wMSAxNTo1Nzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBwb2ludGxlc3MgY2FsbCB0byBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKQoKMjAwOS0xMS0wMSAwMDoyOTo1NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggZGVjYXkgdG8gYmUgc21vb3RoCgkgIFRoZSBsZW5ndGggbm90IGhhdmluZyBhbnkgZnJhY3Rpb25hbCBwYXJ0IGFzIGl0IHdhcyBwcm9tb3RlZCB0byBnZG91YmxlIGFmdGVyCgkgIGRpdmlkaW5nIHR3byBndWludDY0LgoKMjAwOS0xMS0wMSAwMDoyOToyNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBsZXZlbDogY2FsY3VsYXRlIHRoZSBtZXNzYWdlLWludGVydmFsbCB3aGVuIGl0IGNoYW5nZXMKCjIwMDktMTEtMDEgMDA6MTQ6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogY2xvY2t0aW1lIGlzIGEgZ3VpbnQ2NCwgdXNlIHJpZ2h0IG1hY3JvIHRvIGluaXQgZmllbGRzCgoyMDA5LTExLTAxIDAwOjEwOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHVzZSBtb3JlIGctc3R5bGUgdHlwZXMKCjIwMDktMTAtMzAgMDk6Mjc6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogT25seSBzZXQgdGhlIHZvbHVtZSBvbiBzdHJlYW0gY29ubmVjdGlvbiBpZiBwdWxzZSA+PSAwLjkuMjAgaXMgYXZhaWxhYmxlCgkgIEluIG9sZGVyIHZlcnNpb25zIHRoZSB2b2x1bWUgc2V0IGR1cmluZyBzdHJlYW0gY29ubmVjdGlvbiBoYWQKCSAgbm8gZGVmaW5lZCBzZW1hdGljIGFuZCB1c3VhbGx5IGl0IHdhcyBhIHJlbGF0aXZlIHZvbHVtZS4gV2hhdAoJICB3YXMgbmVlZGVkIGZvciBvdXIgdXNlIGNhc2UgaXMgYW4gYWJzb2x1dGUgdm9sdW1lIHRob3VnaCwgb3RoZXJ3aXNlCgkgIHRoZSB2b2x1bWUgd2lsbCBiZSBhbHdheXMgZGVjcmVhc2VkIG9uIHN0cmVhbSBjb25uZWN0aW9uIGlmIGl0J3MKCSAgbGVzcyB0aGFuIDEwMCUuCgkgIFNpbmNlIHB1bHNlIDAuOS4yMCB0aGF0IHZvbHVtZSBpcyBhbHdheXMgYW4gYWJzb2x1dGUgdm9sdW1lIGlmCgkgIGZsYXQgdm9sdW1lcyBhcmUgdXNlZCBhbmQgcmVsYXRpdmUgb3RoZXJ3aXNlLCB3aGljaCBpcyB0aGUgc2FtZQoJICBhcyBmb3IgcGFfY29udGV4dF9zZXRfc2lua19pbnB1dF92b2x1bWUoKS4KCSAgUmVsZXZhbnQgcHVsc2UgY2hhbmdlc2V0czoKCSAgaHR0cDovL2dpdC4wcG9pbnRlci5kZS8/cD1wdWxzZWF1ZGlvLmdpdDthPWNvbW1pdDtoPWYyN2E1MDY5MWM4ZmU0NWJhYzdkZDZiMjFmYWM5MWEzNTlkZWYzYTEKCSAgaHR0cDovL2dpdC4wcG9pbnRlci5kZS8/cD1wdWxzZWF1ZGlvLmdpdDthPWNvbW1pdDtoPTI1MDE2ODc1NzllMzU5ZDUwMzJhNGQxNjViMmZmYzhmNWIxYjhiYTYKCjIwMDktMTAtMjcgMTg6MDc6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB1c2Ugc2VnbWVudF9mdWxsIHdoZW4gd2UgY2FuCgkgIFVzZSBzZWdtZW50X2Z1bGwgc28gdGhhdCB3ZSBjYW4gcGFzcyB0aGUgYXBwbGllZCByYXRlIHRvIHRoZSBzZWdtZW50IHZhbHVlcy4gV2UKCSAgd2lsbCBjaGFuZ2UgdGhlIGFwcGxpZWQgcmF0ZSB3aGVuIHdlIGltcGxlbWVudCBza2lwIG1vZGUuCgoyMDA5LTEwLTE4IDAwOjE2OjA2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEZpeCBidWZmZXIgb2Zmc2V0IGJ5IG1vdmluZyBsZW5ndGggaW5jcmVtZW50YXRpb24KCjIwMDktMTAtMjMgMTg6MzE6MTQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IENyZWF0ZSB0aGUgdmlkZW8gTlNWaWV3IGluIFJFQURZLT5QQVVTRUQgcmF0aGVyIHRoYW4gTlVMTC0+UkVBRFkKCjIwMDktMTAtMjMgMTg6Mjg6MjIgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlbzogZXhwbGljaXRseSBsaW5rIHRvIEdTVF9MSUJTCgoyMDA5LTEwLTIzIDE4OjA5OjQzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgZGVwZW5kZW5jaWVzIG9mIGdzdHJpZmYgdG8gdGhpbmdzIHRoYXQgbGluayB0byBnc3RyaWZmLCBuZWVkZWQgb24gV2luMzIuCgoyMDA5LTEwLTIzIDE3OjI1OjE3IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJICBydHAgZXhhbXBsZXM6IHJlbW92ZSBleGVjdXRhYmxlIGJpdHMgZnJvbSBDIGZpbGVzLgoKMjAwOS0xMC0yMyAxMToyMTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGRpc2FibGUgYWxsIGppdHRlcmJ1ZmZlciB0ZXN0cyBmb3Igbm93CgkgIFNpbmNlIGV2ZW4gdGhlIG9uZSBlbmFibGVkIHNlZW1zIHRvIGZhaWwuCgoyMDA5LTEwLTIyIDEzOjM5OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFsc28gaW5jbHVkZSB0aGUgbmV3IHRlc3QgZm9yIHByZXYgY29tbWl0CgoyMDA5LTEwLTIyIDEzOjE5OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgYSBqaXR0ZXJidWZmZXIgdGVzdAoJICBUZXN0cyBwdXNoaW5nIGEgZmV3IGJ1ZmZlcnMgaW4gdmFyaW91cyBvcmRlciBhbmQgYXNzZXJ0aW5nIHRoZSBvcmRlciBzZW50IGJ5IHRoZQoJICBqaXR0ZXJidWZmZXIuIENvbnRhaW5zIHR3byBkaXNhYmxlZCB0ZXN0cyB0aGF0IG5lZWQgbW9yZSB3b3JrLgoKMjAwOS0xMC0yMiAxMjozMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBEaXJhYyAibXV4aW5nIiB1bml0cyBlbmQgb24gRU9TIHRvbwoJICBBIERpcmFjIG11eGluZyB1bml0IGFyZSBhbGwgbm9uLXBpY3R1cmUsIG5vbi1lbmQtb2Ytc2VxdWVuY2UKCSAgcGFja2V0cyB1cCB0byBhbmQgaW5jbHVkaW5nIHRoZSBmaXJzdCBwaWN0dXJlIG9yIGVvcyBwYWNrZXQuCgkgIFNlZSBodHRwOi8vd3d3LmRpcmFjdmlkZW8ub3JnL3dpa2kvaW5kZXgucGhwL0NvbnRhaW5lckZvcm1hdE1hcHBpbmdHdWlkZWxpbmVzCgoyMDA5LTEwLTIyIDAyOjA5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoJICB0b3RhbF9pZHggaXMgYWx3YXlzIGV2YWx1YXRlZC4KCjIwMDktMTAtMTkgMjE6NTk6NDYgKzAzMDAgIFByaWl0IExhZXMgPHBsYWVzQHBsYWVzLm9yZz4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgIGNhY2FzaW5rOiBtaW5vciBjbGVhbnVwcyBmb3IgaGVhZGVyLgoJICBVc2UgR19CRUdJTl9ERUNMUyBtYWNyb3MsIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGFuZCBmaXggdHlwby4KCSAgU2VlICM1OTkwMTguCgoyMDA5LTEwLTE5IDIxOjU5OjIzICswMzAwICBQcmlpdCBMYWVzIDxwbGFlc0BwbGFlcy5vcmc+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhc2luazogZXhpdCBwcm9wZXJseSB3aGVuIGludmFsaWQgZHJpdmVyIGhhcyBiZWVuIHNlbGVjdGVkLgoJICBTZWUgIzU5OTAxOC4KCjIwMDktMTAtMjAgMTg6MjM6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTdG9wIHNjYW5uaW5nIGF0IHRoZSBsYXN0IGVudHJ5Li4uIGFuZCBub3QgdGhlIG9uZSBiZWZvcmUgOikKCSAgVGhpcyBlbnN1cmVzIHdlIGFjdHVhbGx5IHB1c2ggb3V0IGV2ZXJ5dGhpbmcKCjIwMDktMTAtMjAgMTc6MjA6NTUgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJICBxdGRlbXV4OiB1bnBhY2sgbW9yZSBpbmZvcm1hdGlvbiBpbnRvIGltYWdlL3gtajJjIGNhcHMKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOiBBZGQgbmV3IGZvdXJjY3MgZm9yIHVzZSBieSB0aGUgbWoyCgkgIHVucGFja2VyLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAocXRkZW11eF9wYXJzZV90cmFrKTogVW5wYWNrIEpQRUcyMDAwIGNvbXBvbmVudAoJICBtYXBwaW5nIGFuZCBjaGFubmVsIGRlZmluaXRpb25zIGZyb20gdGhlIGpwMmggaGVhZGVyLiBXaWxsIGFkZAoJICBjb21wb25lbnQtbWFwIGFuZCBjaGFubmVsLWRlZmluaXRpb25zIGVsZW1lbnRzIHRvIHRoZSBjYXBzIGlmIHRoZQoJICBjb21wb25lbnQgbWFwcyBvciBjaGFubmVsIGRlZmluaXRpb25zIGFyZSBub25zdGFuZGFyZCwgd2hlcmUgc3RhbmRhcmQKCSAgb3JkZXIgbWVhbnMgUkdCLCA0NDQgcGFja2VkIFlVViwgb3IgZ3JleXNjYWxlLCB3aXRoIG5vIGFscGhhIGNoYW5uZWwuCgkgIEZpeGVzICM1OTg5MTUuCgoyMDA5LTEwLTIwIDE3OjMzOjQxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IGluY2x1ZGUgc3RkaW8uaCBmb3Igc3NjYW5mCgoyMDA5LTEwLTE5IDE1OjIxOjU3ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIEZpeCB0aGUgU3RyZWFtVm9sdW1lIGludGVyZmFjZSBub3QgYmVpbmcgYWR2ZXJ0aXNlZAoJICBnc3RfcHVsc2VzaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQoKSB3YXMgbWlzc2luZyBhIGNoZWNrIGZvciBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5ODkzMwoKMjAwOS0xMC0xNiAyMToxNDoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBjb2RlIGNsZWFudXAKCSAgVXNlIGdkb3VibGUgaW5zdGVhZCBvZiBkb3VibGUuIENhbGN1bGF0ZSBmYWxsb2ZmX3RpbWUgb25jZSBpbnN0ZWFkIG9mIHR3aWNlLgoKMjAwOS0xMC0xOCAxNTo1MjowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IE1FTURVTVAgdGhlIGp1bmsgYmxvYnMKCSAgSXQgd2lsbCBvbmx5IGFjdHVhbGx5IHB1bGwgdGhlIGp1bmsgYmxvYnMgZnJvbSB1cHN0cmVhbSBpZiB0aGUgbWVtZHVtcAoJICBsZXZlbCBpcyBhY3RpdmF0ZWQKCjIwMDktMTAtMTggMTU6NTE6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTb21lIGF2aSBmaWxlcyBoYXZlIElORk8gbGlzdHMgaW4gdGhlIGhlYWRlcnMuCgoyMDA5LTEwLTE4IDE2OjAyOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3Qgc2VlayBvbiBlbXB0eSBzdHJlYW1zCgoyMDA5LTEwLTE4IDE1OjUwOjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRW5zdXJlIF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXggb25seSB1c2VzIHZhbGlkIHN0cmVhbXMKCjIwMDktMTAtMTggMTU6NDk6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBPbmx5IGNhbGwgY29udmVydCBmdW5jdGlvbiBpZiB3ZSBoYXZlIHN0cmYuYXVkcwoKMjAwOS0xMC0xOCAxNTo0ODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogVXNlIGZpcnN0IGluZGV4ZWQgc3RyZWFtIGZvciBzZWVraW5nLgoJICBJbiB0aGUgZnV0dXJlLCBtYWluX3N0cmVhbSBjYW4gYmUgYWRqdXN0ZWQgdG8gY29udGFpbiB0aGUgb3B0aW1hbCBzdHJlYW0KCSAgYXMgbWVudGlvbm5lZCBpbiB0aGUgRklYTUUgbGluZSAzNDQwCgoyMDA5LTEwLTE4IDE1OjQ2OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBPbmx5IGV4cG9zZSBzdHJlYW1zIHRoYXQgYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgaW4gaXQuCgkgIFRoaXMgZ3VhcmFudGVlcyB0aGF0IGluIHB1bGwtbW9kZSwgYWxsIHN0cmVhbXMgaGF2ZSBhIHZhbGlkIGluZGV4IHRvCgkgIHdvcmsgd2l0aC4KCjIwMDktMTAtMTggMTU6NDA6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBQcm9wZXJseSBtYXJrIHByZXNlbmNlIG9mIGluZGV4LgoJICBJbnN0ZWFkIG9mIGJsaW5kbHkgc2F5aW5nIHdlIGhhdmUgYW4gaW5kZXgsIG9ubHkgZG8gc28gaWYgd2UgaGF2ZSBhCgkgIG5vbi1lbXB0eSBpbmRleC4KCjIwMDktMTAtMTcgMDI6MTg6NTMgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IG5ldmVyIGFwcGx5IHZvbHVtZSBtb3JlIHRoYW4gb25jZQoJICBHZW5lcmFsbHkgZGVjaXNpb25zIG9uIHRoZSB2b2x1bWUgb2YgdGhlIHN0cmVhbSBzaG91bGQgYmUgZG9uZSBpbnNpZGUgb2YKCSAgUEEsIG5vdCBpbnNpZGUgb2YgR3N0LiBPbmx5IFBBIGtub3dzIGhvdyB2b2x1bWVzIHRyYW5zbGF0ZSBiZXR3ZWVuCgkgIGRldmljZXMgYW5kIHMgb24uCgkgIFRoaXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IGFsbCB2b2x1bWVzIHNldCB2aWEgdGhlIHZvbHVtZSBwcm9wZXJ0eSBhcmUKCSAgb25seSBhcHBsaWVkICpvbmNlKiB0byB0aGUgdW5kZXJseWluZyBzdHJlYW0uIEFmdGVyIGFwcGx5aW5nIHRoZW0gdGhlCgkgIGNsaWVudCBzaWRlIHdpbGwgbm90IHN0b3JlIHRoZW0gYW55bW9yZS4gVGhpcyBzaG91bGQgbWFrZSBzdXJlIHRoYXQKCSAgcmVhbGx5IG9ubHkgdXNlci10cmlnZ2VyZWQgdm9sdW1lIGNoYW5nZXMgYXJlIGZvcndhcmRlZCB0byBzZXJ2ZXIsIGJ1dAoJICB0aGUgY2xpZW50IG5ldmVyIHRyaWVzIHRvIHNhdmUvcmVzdG9yZSB0aGUgdm9sdW1lIGludGVybmFsbHkuCgkgIEZpeGVzIGJ1ZyAjNTk1MjMxLgoKMjAwOS0xMC0xNyAwODo1NToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgIHB1bHNlc2luazogSW5pdGlhbGl6ZSBnZXR0ZXh0IGZvciB0aGUgdHJhbnNsYXRlZCBzdHJpbmdzIGluIHBsdWdpbl9pbml0KCkKCjIwMDktMTAtMTcgMDA6MTA6MzAgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IHVzZSAncGVyZm9ybWVyJyBhcyBhIGZhbGxiYWNrIGZvciAnYXJ0aXN0JyB0YWcKCjIwMDktMTAtMTcgMDA6MDk6MzYgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIHB1bHNlOiB3aGVuIGNvbnN0cnVjdGluZyBhIHN0cmVhbSB0aXRsZSBmcm9tIHRhZyBkYXRhIG1ha2Ugc3VyZSBpdCBpcyB0cmFuc2xhdGFibGUKCjIwMDktMTAtMTcgMDA6MDY6MTUgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZTogbG9vcCB3aGlsZSBjb25uZWN0aW5nIHRvIHNlcnZlcgoJICBwdGhyZWFkIGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIGFyZSBubyBzcHVyaW91cyBjb25kaXRpb24gdmFyaWFibGUKCSAgd2FrZXVwcywgbmVpdGhlciBkb2VzIHBhX3RocmVhZGVkX21haW5sb29wX3h4eCgpIHdoaWNoIGlzIGEgd3JhcHBlcgoJICBhcm91bmQgaXQuIFNvIHdlIG5lZWQgdG8gbG9vcCBhcm91bmQgdGhlIF93YWl0KCkgZnVuY3Rpb24gdG8gbWFrZSBzdXJlCgkgIHdlIGdldCB0aGUgcmlnaHQgd2FrZXVwLgoJICBBbHNvLCB1bmlmeSB0aGUgb3JkZXIgb2YgdGhlIHdhaXQgbG9vcHMgYWNyb3NzIHRoZSBmaWxlLgoKMjAwOS0xMC0xNyAwMDowNToxMCArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkgIHB1bHNlOiBtYWlubG9vcCBjcmVhdGlvbiBjYW4gZmFpbCB0b28sIHNvIGhhbmRsZSB0aGF0CgoyMDA5LTEwLTE3IDAwOjAzOjA2ICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2U6IGFkanVzdCBDSEVDS19ERUFEX0dPVE8gbWFjcm8gdG8gZ2xpYiBzdHlsZQoKMjAwOS0xMC0xNiAxNzoyODo0MiArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlOiBtYWtlIGEgZmV3IHRoaW5ncyBzbWFsbGVyIGJ5IG1ha2luZyB0aGVtIGJpdGZpZWxkcwoKMjAwOS0xMC0xNiAxNzoyNjo0MSArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBwdWxzZTogYnVtcCBtaW5pbXVtIGxpYnB1bHNlIHZlcnNpb24gdG8gMC45LjEwCgkgIE9sZGVyIHZlcnNpb25zIHRoYW4gMC45LjEwIGFyZSByZWFsbHkgcmVhbGx5IG9sZCBhbmQgYnVnZ3kuIERyb3AKCSAgY29tcGF0aWJpbGl0eSB3aXRoIHRoZW0uIE5vYm9keSBzaG91bGQgcnVuIGFueXRoaW5nIHRoYXQgb2xkLgoJICBBbHNvIHNlZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTAyOQoKMjAwOS0xMC0xNiAxODoxODozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJICBkZWJ1Z3V0aWxzOiByZWdpc3RlciBwdXNoZmlsZXNyYyBlbGVtZW50CgoyMDA5LTEwLTE2IDE3OjI4OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogc3VwcG9ydCAoc29tZSkgVkJSIGF1ZGlvIG11eGluZwoJICBBVkkgZm9ybWF0IGNhbiBoYW5kbGUgVkJSIGF1ZGlvIHByb3ZpZGVkIGF1ZGlvIGNodW5rcyBhcmUgb2YgZml4ZWQgZHVyYXRpb24KCSAgKGNmciBmaXhlZCBkdXJhdGlvbiB2aWRlbyBmcmFtZXMpLiAgQXBwbHkgdGhpcyBhcHByb2FjaCB0byAoYWx3YXlzKSBwYXJzZWQKCSAgcmF3IEFBQyBhbmQgKGlmIHBhcnNlZCkgdG8gTVBFRy0xLzIgYXVkaW8uCgkgIFNlZSAjMzY4NjgxLgoKMjAwOS0xMC0xNiAxMzo0MTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBicmFuY2ggaGludHMKCSAgUmVtb3ZlIGluYXBwcm9wcmlhdGUgYnJhbmNoaW5nIGhpbnRzIGFuZCBhZGQgc29tZSBuZXcgb25lcy4KCjIwMDktMTAtMTYgMTI6MzM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggcmVncmVzc2lvbiBpbiBpbmRpcmVjdCBkZWNvZGUgcGF0aAoJICBSZXZlcnQgdmFyaWFibGUgbmFtZSBiYWNrIHRvIHdoYXQgaXQgd2FzIGJlZm9yZSB0aGUgR19MSUtFTFkgd2FzCgkgIGFkZGVkIChpbiBjb21taXQgNjljMjRmYjkpLiBUaGUgY29kZSB3b3JrcyBiZXR0ZXIgdGhhdCB3YXkuCgoyMDA5LTEwLTE2IDAyOjQ3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHJlZ3Jlc3Npb24gd2l0aCBjZXJ0YWluIGZvcm1hdHMKCSAgRml4IHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBwcmV2aW91cyBjb21taXQgKCM1OTg1MTcpLgoKMjAwOS0xMC0xNSAxOTo0OTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IHVzZSBkZWNvbXByZXNzIHN0cnVjdHVyZSBtZW1iZXJzIHdlIHNob3VsZG4ndCBiZSB1c2luZwoKMjAwOS0xMC0xNCAxNzo1Mzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHJlbW92ZSBzb21lIHVudXNlZCBtZW1iZXJzIGZyb20ganBlZ2RlYyBpbnN0YW5jZSBzdHJ1Y3R1cmUKCjIwMDktMTAtMTYgMTE6NTM6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICBidWlsZDogdXNlIGdzdC1nbGliLWdlbi5tYWsgdG8gZml4IHRoZSBnbGliIGJ1aWxkIHJ1bGVzLgoJICBUaGUgYnVpbGQgcnVsZXMgaW4gZ2xpYi1nZW4ubWFrIHdlcmUgdXNpbmcgcGF0dGVybiBydWxlcyBpbiBhIG5vbiBzYXZlIHdheS4KCjIwMDktMTAtMTYgMTA6MTU6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODVkMTUzMCB0byAwNzAyZmUxCgoyMDA5LTEwLTE1IDIxOjA0OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkanVzdCBmbG93IHJldHVybiBhZ2dyZWdhdGlvbiB0byB1cGRhdGVkIGxvb3BfZGF0YQoJICBJbiBwYXJ0aWN1bGFyLCBlYWNoIHN0cmVhbSBpcyBub3cgdHJlYXRlZCBzZXBhcmF0ZWx5LCBhbmQgb25lIHN0cmVhbSdzCgkgIEVPUyBzaG91bGQgbm90IGxlYWQgdG8gb3ZlcmFsbCBFT1MuCgoyMDA5LTEwLTE1IDExOjUyOjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgc29tZSBtb3JlIGF0b20gc2l6ZXMgcHJpb3IgdG8gcGFyc2luZwoKMjAwOS0xMC0xNSAxMzoxOToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogaGFuZGxlIGV2ZW50cyBpbiBUQ1AgbW9kZQoJICBXZSBuZWVkIHRvIGhhbmRsZSBldmVudHMgaW4gVENQIG1vZGUgc28gdGhhdCB3ZSBjYW4gcmVwbHkgdG8gdGhlIExBVEVOQ1kgZXZlbnQKCSAgd2l0aCBUUlVFLgoKMjAwOS0xMC0xNSAxMToyNDo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgbWlzc2luZyBhcmd1bWVudCBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDA5LTEwLTE0IDE4OjU4OjA2ICswMjAwICBNYXJ2aW4gU2NobWlkdCA8bWFydkBleGhlcmJvLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IFVzZSBsb29wIHRlc3QgdG8gcHJldmVudCB0aW1lb3V0IG9uIHNsb3cgbWFjaGluZXMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTk3NzM5LgoKMjAwOS0xMC0xNCAxNjoxNTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZm9yd2FyZCBldmVudHMgaW50byB0aGUgcnRwYmluCgkgIE9ubHkgY2F0Y2ggdGhlIFNFRUsgZXZlbnQgb24gdGhlIHNyY3BhZCBhbmQgbGV0IG90aGVyIGV2ZW50cyBlbnRlciB0aGUgcnRwYmluLgoKMjAwOS0xMC0xNCAxMTozMzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IGxhdGUgdGFncyBmaW5kaW5nCgkgIFVzZSB0aGUgY29ycmVjdCB0YWdsaXN0IHZhcmlhYmxlIHdoZW4gbm90aWZ5aW5nIG9mIGxhdGUgdGFncy4KCjIwMDktMTAtMTQgMTM6MDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiB1c2UgR3N0SW5kZXggZm9yIChsaW1pdGVkKSBzZWVraW5nIGluIHB1c2ggbW9kZQoJICAuLi4gYnV0IGRpc2FibGUgdGhpcyBmb3Igbm93LiAgQWx0aG91Z2ggaXQgYmFzaWNhbGx5IHdvcmtzIGZpbmUsCgkgIHVzZXIgZXhwZXJpZW5jZSBtaWdodCBiZSBzaGFreSAoZGVwZW5kaW5nIG9uIHRhc3RlKSwgc2luY2UgdGhlcmUKCSAgaXMgbm8ga2V5ZnJhbWUgaW5mbyBpbiBwdXNoIG1vZGUuCgoyMDA5LTEwLTE0IDEzOjA4OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogYWRkIEdzdEluZGV4IHN1cHBvcnQKCjIwMDktMTAtMTQgMTE6NTU6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWxzbyBkZXRlcm1pbmUgZHVyYXRpb24gaW4gcHVzaCBtb2RlCgoyMDA5LTEwLTE0IDExOjU0OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBhZGQgR3N0SW5kZXggc3VwcG9ydAoKMjAwOS0xMC0xNCAwNzozODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFNldCBkdXJhdGlvbiBvbiBidWZmZXJzCgkgIFVzZSBmcmFtZXJhdGUgdG8gZXN0aW1hdGUgZHVyYXRpb24gb2YgYnVmZmVycy4KCSAgRml4ZXMgIzU5MDM2MgoKMjAwOS0xMC0xNCAxMjoyODo1NSArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmIGF0IHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogb25seSBmb3J3YXJkIHRoZSBsb3N0LWV2ZW50IHRvIHRoZSBsYXN0IHNlZW4gcHQtbnVtYmVyCgkgIGZvcndhcmQgYWxsIGV2ZW50cyBvbiBhbGwgcGFkcyBleGNlcHQgZm9yIHRoZSBQYWNrZXRMb3N0IGV2ZW50LCB3aGljaCB3ZSB3YW50IHRvCgkgIGZvcndhcmQgdG8gdGhlIGxhc3Qgc2VlbiBwdCBwYWQuCgkgIEZpeGVzICM1OTgzNzcKCjIwMDktMTAtMDYgMjI6Mjg6NTAgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2V0IGRlc2lyZWQgbWlucmVxIHZhbHVlIHRvIHNlZ3NpemUvbGF0ZW5jeS10aW1lCgkgIElmIHdlIGxldCB0aGUgZGFlbW9uIGRlY2lkZSBmcmVlbHkgYnkgcGFzc2luZyAtMSwgd2UgZW5kIHVwIGFsd2F5cyBnZXR0aW5nIDIwbXMuCgkgIFdlIHdhbnQgdG8gc2V0IHRoaXMgdmFsdWUgYmVjYXVzZSBpbiBzb21lIGNhc2VzIHdlIHdhbnQgdG8gc2VsZWN0IGEgaGlnaGVyCgkgIGxhdGVuY3ktdGltZSBpbiBvcmRlciB0byBzYXZlIHBvd2VyLgoJICBGaXhlcyAjNTk3NjAxCgoyMDA5LTEwLTE0IDEwOjQxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhM2UzY2U0IHRvIDg1ZDE1MzAKCjIwMDktMTAtMTMgMTg6MzM6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICB0ZXN0cy9waXBlbGluZS9mbGFjOiBGaXggYnVpbGQgb24gbWFjb3N4IDEwLjUKCjIwMDktMTAtMTMgMTg6MTk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkZW1vdGUgc29tZSB3YXJuaW5ncyB0byBkZWJ1ZwoKMjAwOS0xMC0xMyAxNzo0Nzo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvYXZpLWlkcy5oOgoJICBhdmk6IGFkZCBuZXcgYXZpIGZsYWcgd2UgbWlnaHQgd2FudCB0byB1c2UKCjIwMDktMTAtMTMgMTc6NDY6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNhbGN1bGF0ZSBzdWdnZXN0ZWQgYnVmZmVyIHNpemUKCSAgQ2FsY3VsYXRlIHRoZSBzdWdnZXN0ZWQgYnVmZmVyIHNpemUgYmFzZWQgb24gdGhlIGxhcmdlc3QgY2h1bmsgaW4gdGhlIGZpbGUuCgkgIFNlZSAjNTk3ODQ3CgoyMDA5LTEwLTEzIDE3OjQ1OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGQganBlZzIwMDAgdG8gYWxsb3dlZCBjYXBzCgoyMDA5LTEwLTEzIDE3OjQxOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIGRlYnVnIGZvciB0aGUgc3VwZXJpbmRleCBvZmZzZXRzCgoyMDA5LTEwLTEzIDE2OjAyOjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgRml4IGFub3RoZXIgYm9ndXMgbWF5LWJlLXVzZWQtdW5pbml0aWFsaXplZCB3YXJuaW5nIGluIHF0ZGVtdXgKCjIwMDktMTAtMTMgMTM6MDg6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmk6IGxvd2VyIG1heCBmaWxlIHNpemUKCSAgTWFrZSBhIGNvbnN0YW50IG9mIHRoZSBtYXggZmlsZSBzaXplIGFuZCBsb3dlciB0aGUgdmFsdWUgdG8gd2hhdCBmZm1wZWcgZG9lcywKCSAgaG9wZWZ1bGx5IGltcHJvdmluZyBjb21wYXRpYmlsaXR5IHdpdGggd2luZG93cyBtZWRpYSBwbGF5ZXIuCgkgIFNlZSAjNTk3ODQ3CgoyMDA5LTEwLTEzIDAxOjAyOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGJvZ3VzIHdhcm5pbmcgYWJvdXQgZGlzY29udCBmbGFnIG9uIGZpcnN0IGJ1ZmZlcgoJICBUaGUgdmVyeSBmaXJzdCBidWZmZXIgc2hvdWxkIGFsd2F5cyBoYXZlIHRoZSBESVNDT05UIGZsYWcgc2V0LCBubwoJICBuZWVkIHRvIHdhcm4gYWJvdXQgdGhhdC4gT25seSB3YXJuIGlmIHdlIGdldCBhIERJU0NPTlQgYnVmZmVyIGluCgkgIG5vbi1wYWNrZXRpc2VkIG1vZGUgYW5kIHdlIGFscmVhZHkgaGF2ZSBzb21lIGRhdGEuCgoyMDA5LTEwLTEzIDAwOjQxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGNyYXNoIGZvciB1bnVzdWFsIHZlcnRpY2FsIGNocm9tYSBzdWJzYW1wbGluZyBmYWN0b3JzCgkgIEZpeGVzICM1OTczNTEuCgoyMDA5LTEwLTEzIDAwOjEyOjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmdzCgkgIFRoZSBnY2Mgb24gdGhlIE9TL1ggYnVpbGRib3QgY29tcGxhaW5zIGFib3V0IHRoZXNlIHZhcmlhYmxlcyBub3QgYmVpbmcKCSAgaW5pdGlhbGl6ZWQsIGV2ZW4gdGhvdWdoIHRoZXkgY2FuJ3QgcG9zc2libHkgYWN0dWFsbHkgYmUgdXNlZAoJICB1bmluaXRpYWxpemVkLgoKMjAwOS0xMC0xMCAwMDozNzowOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXhlcyB3YXJuaW5nIGJ1aWxkaW5nIGluIHNub3cgbGVvcGFyZAoKMjAwOS0xMC0wOSAxNzoxMjo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gY29uc2lkZXIgUXVpY2t0aW1lIHRleHQgc3VidGl0bGVzCgoyMDA5LTEwLTA5IDE3OjAyOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvdmlkZSBsYW5ndWFnZSB0YWcgZm9yIHN0cmVhbQoKMjAwOS0xMC0wOSAxNjozMDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIGNvbW1vbiBwYXJ0cyBpbiB0cmFjayBwYXJzaW5nCgoyMDA5LTEwLTA5IDE2OjIxOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiByZWZhY3RvciBidWZmZXIgcHJvY2Vzc2luZyBhbmQgc2VuZGluZwoJICAuLi4gc28gaXQgY2FuIGJlIHVzZWQgaW4gYm90aCBwdWxsIGFuZCBwdXNoIGJhc2VkIG1vZGUuCgoyMDA5LTEwLTA4IDEzOjM5OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBwYWxldHRlIGRhdGEgZm9yIGR2ZCBzdWJwaWN0dXJlIHN0cmVhbXMKCSAgLi4uIGFuZCBzZW5kIGl0IGRvd25zdHJlYW0gdXNpbmcgY3VzdG9tIGR2ZCBldmVudAoKMjAwOS0xMC0wNyAxNDowMzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogc3VwcG9ydCAzR1BQIHRpbWVkIHRleHQgc3VidGl0bGVzCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gbWFrZSBzdWJ0aXRsZSBzdXBwb3J0IGxlc3Mgc3VicChpY3R1cmUpLWNlbnRyaWMuCgoyMDA5LTEwLTA3IDE2OjE1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTlVMTCBpcyBub3QgYSB2YWxpZCB0YWdsaXN0CgoyMDA5LTA5LTIzIDE3OjIwOjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcmVjb2duaXplIHNvbWUgbW9yZSBlbmN5cHRlZCB0cmFjayBjYXNlcwoKMjAwOS0xMC0wOSAxNTo1OToyNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzOiBmaXhlcyB3YXJuaW5ncyBidWlsZGluZyBvbiBtYWNvc3gKCSAgQW5vdGhlciByb3VuZCBvbiB0aGUgZm9ybWF0aW5nIG9mIHRoYXQgZGVidWcgbGluZS4KCjIwMDktMTAtMDkgMTQ6NDQ6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkMzogY2FzdCBwb2ludGVyIG1hdGggcmVzdWx0cyB0byBnbG9uZwoKMjAwOS0xMC0wOSAxNDozNzozMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjOiBhcHBhcmVudGx5IG9uIHNvbWUgcGxhdGZvcm1zIGEgRkxBQ19fdWludDY0IT1ndWludDY0CgoyMDA5LTEwLTA5IDE0OjIxOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIGJ1aWtkOiBleHBsaWNpdGVseSBjYXN0LCB0byB0ZWxsIHNvbWUgY29tcGlsZXJzIHRoYXQgdGhpcyBpcyBub3QgbG9uZyBpbnQKCjIwMDktMTAtMDkgMTM6Mzg6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBidWlsZDogZG9uJ3QgY2FzdCwgYnV0IHVzZSB0aGUgcmlnaHQgZm9ybWF0IHNwZWNpZmllZCBpbnN0ZWFkCgkgIFRoaXMgY29ycmVjdCBzb21lIG9mIHRoZSBwcmV2aW91cyBtYWNvcyBmaXhlcy4KCjIwMDktMTAtMDkgMTI6NDA6NDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2OiBmaXggd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjI1OjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhYzogZml4IHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMjoxOTozNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGFubm9kZXg6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3gKCjIwMDktMTAtMDkgMTI6MTQ6MjIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlbzogZml4IGEgd2FybmluZyBkb2luZyBhIGNhc3QKCjIwMDktMTAtMDkgMTI6MTE6MTIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvOiBmaXggd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjAxOjEwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogZml4IHdhcm5pbmcgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjU3OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IHdhcm5pbmcgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjU0OjAzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB3YXJuaW5ncyBidWlsZGluZyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTE6NDI6MzYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBmaXggcHJpbnRmIHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMTozMDowMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHdhcm5pbmcgaW4gbWFjb3N4IG1ha2luZyB0aGUgZm9ybWF0IHBvcnRhYmxlCgoyMDA5LTEwLTA5IDEwOjUxOjI5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiB1c2UgR19HVUlOVDY0X0ZPUk1BVCB0byBmaXggd2FybmluZ3Mgb24gT1NYCgoyMDA5LTEwLTA5IDEwOjExOjM4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogRml4ZXMgYnVpbGQgb24gbWFjb3N4IHNub3cgbGVvcGFyZC4KCjIwMDktMTAtMDkgMTE6MzQ6MTYgKzAyMDAgIFBhdSBHYXJjaWEgaSBRdWlsZXMgPHBncXVpbGVzQGVscGF1ZXIub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBJbmNsdWRlIHN5cy9pb2N0bC5oIGZvciB0aGUgVjRMIGlvY3RsIHJlcXVlc3RzCgkgIE9sZCB2aWRlb2RldmljZTIuaCBrZXJuZWwgaGVhZGVycyB1c2VkIGlvY3RsIHN0dWZmIHdpdGhvdXQKCSAgaW5jbHVkaW5nIGlvY3RsLmgsIG1ha2luZyBjb21waWxhdGlvbiBmYWlsIG9uIG9sZGVyIHN5c3RlbXMuCgkgIE5vdGU6IEluY2x1ZGluZyBpb2N0bC5oIGhlcmUgaXMgb25seSBhIHdvcmthcm91bmQgZm9yIG9sZCBrZXJuZWwKCSAgaGVhZGVycywgc2hvdWxkIGJlIHJlbW92ZWQgb25jZSBldmVyeWJvZHkgaGFzIG5ldyBlbm91Z2ggaGVhZGVycy4KCSAgRml4ZXMgYnVnICM1OTc4NjcuCgoyMDA5LTEwLTA5IDAwOjE0OjA3ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgY2hlY2s6IE1ha2UgdGhlIGxldmVsIHVuaXQgdGVzdCBzdWNjZWVkIG9uIFNvbGFyaXMgMTAKCSAgQWRkIGEgY29uZmlndXJlIGNoZWNrIGZvciBmdW5jdGlvbmFsIGlzaW5mKCkgYW5kIGZwY2xhc3MoKSwgYW5kCgkgIHVzZSBmcGNsYXNzKCkgd2hlcmUgcG9zc2libGUgd2hlbiBpc2luZigpIGlzIG5vdCBhdmFpbGFibGUuCgoyMDA5LTA1LTE2IDEzOjUyOjUwICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzdHJzdHIoKSB1c2FnZSBvbiBwb3NzaWJseSB1bnRlcm1pbmF0ZWQgc3RyaW5nCgoyMDA5LTEwLTA4IDE2OjE2OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgY2hlY2s6IExpbmsgYWdhaW5zdCBMSUJNIGFuZCBpbmNsdWRlIG1hdGguaCBmb3IgaXNpbmYoKQoKMjAwOS0xMC0wNyAyMTo1MTozOCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkgIG9zczogRG93bmdyYWRlIHRoZSByYW5rIG9mIG9zc3NyYyB0byBTRUNPTkRBUlkKCSAgd2hpY2ggaXMgdGhlIHNhbWUgcmFuayBhcyBvc3NzaW5rIGhhcy4KCSAgRml4ZXMgYnVnICM1OTc3MzAuCgoyMDA5LTEwLTA4IDEwOjU5OjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5ZmE0ZjMgdG8gYTNlM2NlNAoKMjAwOS0xMC0wOCAxMDoyMDowOSArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmkvd2F2OiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncyBhYm91dCBpbmNvbXBhdGlibGUgcG9pbnRlcnMuCgoyMDA5LTEwLTA1IDE3OjM2OjU1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IEZpeCBwbHVnaW4gZGVzY3JpcHRpb24KCjIwMDktMTAtMDcgMTQ6MDM6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgYnVpbGQ6IGZwcmludGYsIHNwcmludGYsIHNzY2FuZiBuZWVkIHN0ZGlvLmgKCjIwMDktMTAtMDcgMDA6MzM6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogdXNlIHNoZWxmaW5nIGZpbHRlcnMgZm9yIGZpcnN0IGFuZCBsYXN0IGJhbmQKCSAgUmVmYWN0b3IgdGhlIGZpbHRlciBzZXR1cC4gQWRkIHR3byBuZXcgZmlsdGVycyB3aXRoIHNoZWxmIGNoYXJhY3RlcmlzdGljcyBmb3IKCSAgZmlyc3QgYW5kIGxhc3QgYmFuZC4gQ2hhbmdlIGdhaW4gY2FsY3VsYXRpb24gYXMgcmVjb21tZW5kZWQgaW4gdGhlIHF1b3RlZAoJICBkb2N1bWVudCAobm8gcXJ0IG5lZWRlZCkuIFJlbmFtZSB2YXJpYWJsZXMgdG8gbWF0Y2ggdGhlIGZvcm11bGFzIGluIHRoZQoJICBkb2N1bWVudC4KCjIwMDktMTAtMDIgMjM6NTE6MjkgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGd1YXJkIGZyYWdtZW50IHNpemUgd2l0aCBhIGxvd2VyIGxpbWl0IGJhc2VkIG9uIGxhdGVuY3ktdGltZQoJICBJbiBjYXNlIHRoYXQgdGhlIHB1bHNlIGRhZW1vbiBydW5zIHRoZSBzb3VyY2UgZGV2aWNlIGF0IGEgcmVsYXRpdmVseSBsb3cgZml4ZWQKCSAgZnJhZ21lbnQgc2l6ZSBjb21wYXJlZCB0byB0aGUgcmVxdWVzdGVkIGxhdGVuY3ktdGltZSwgY29uZmlndXJlIHRoZSByaW5nIGJ1ZmZlcgoJICBzZWdzaXplIHRvIHRoZSBsYXJnZXN0IGludGVnZXIgbXVsdGlwbGUgb2YgdGhlIGZyYWdtZW50IHNpemUgdGhhdCBpcyBzdGlsbAoJICBzbWFsbGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHJlcXVlc3RlZCBsYXRlbmN5LXRpbWUuCgkgIEZpeGVzIGJ1ZyAjNTk3NDYzLgoKMjAwOS0xMC0wNiAxNzo0MDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBjb21tZW50L2xvZ2dpbmcgY2xlYW51cHMgYW5kIG1vcmUgYnJhbmNoIGd1aWRlcwoKMjAwOS0xMC0wNSAyMjo0MzoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBmaXggZmlsdGVyIGhpc3RvcnkgdXNhZ2UuIEZpeGVzICM1OTczOTcKCSAgVGhlIHByb2Nlc3MgZnVuY3Rpb25zIHdoZXJlIG92ZXJ3cml0aW5nIHRoZSBoaXN0b3J5IGZvciBlYWNoIGNoYW5uZWwuIEFsc28gcHVsbAoJICBzb21lIHN0YXRpYyB0aGluZ3Mgb3V0IG9mIHRoZSBpbm5lciBsb29wLgoKMjAwOS0xMC0wNSAxNjowNzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBsb2NraW5nIGFyb3VuZCB0aGUgc2Vzc2lvbnMKCjIwMDktMTAtMDUgMTE6NDY6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYWtlIHN1cmUgY29tcGF0aWJsZSBicmFuZHMgYnVmZmVyIGV4aXN0cyBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdAoKMjAwOS0xMC0wNCAyMTo1OToyNCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcHJpbnRmIHdhcm5pbmdzIG9uIE9TWAoJICBDYXN0IHZhcmlhYmxlcyBwYXNzZWQgdG8gcHJpbnRmIHRvIGF2b2lkIHdhcm5pbmdzIGFib3V0IGluY29ycmVjdAoJICBmb3JtYXRzIChtb3N0IGxpa2VseSBjYXVzZWQgYnkgc2l6ZW9mIHJldHVybmluZyBhIHNpemVfdCkuCgkgIEZpeGVzICM1OTczNDguCgoyMDA5LTEwLTAyIDAwOjIzOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGludGVybmFsIGdlbnJlIHRhYmxlCgkgIE5vIG5lZWQgdG8gbWFpbnRhaW4gb3VyIG93biBnZW5yZSB0YWJsZSBpbiBxdGRlbXV4LiBUaGUgZ2VucmVzIGFyZQoJICBpZGVudGljYWwgdG8gdGhlIElEMyBnZW5yZXMsIHNvIHdlIGNhbiBqdXN0IHVzZSBsaWJnc3R0YWcncwoJICBnc3RfdGFnX2lkM19nZW5yZV9nZXQoKSB0byBsb29rIHRoZW0gdXAuCgoyMDA5LTEwLTAzIDE3OjE4OjI4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCBwcmludGYgZm9ybWF0cyB0byBhdm9pZCB3YXJuaW5ncyBpbiBhdmlkZW11eC4gRml4ZXMgIzU5NzIxNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk3MjE0CgoyMDA5LTEwLTAzIDA5OjUyOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDaGFuZ2Ugb25lIEdTVF9XQVJOSU5HIHRvIGEgR1NUX0RFQlVHCgoyMDA5LTEwLTAyIDE0OjM3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBJZiB0aGVyZSdzIG5vIGF1ZGlvIHN0cmVhbSBhZnRlciA2IHNlY29uZHMgb2YgdmlkZW8gc2lnbmFsIG5vLW1vcmUtcGFkcwoJICAuLi5hbmQgdGhlIG90aGVyIHdheSBhcm91bmQuIEFsc28gaWdub3JlIGFueSBhdWRpby92aWRlbyBzdHJlYW1zIHRoYXQgYXBwZWFyCgkgIGFmdGVyIG5vLW1vcmUtcGFkcy4KCSAgRml4ZXMgYnVnICM1OTcwOTEuCgoyMDA5LTEwLTAyIDE0OjM3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBNYWtlIHN1cmUgdG8gb25seSBzaWduYWwgbm8tbW9yZS1wYWRzIGEgc2luZ2xlIHRpbWUKCjIwMDktMTAtMDIgMjI6NTU6NDUgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogcmVuYW1lIHBhX2J1ZmZlcl9hdHRyIHZhcmlhYmxlcwoJICBNYWtlcyBpdCBtdWNoIGVhc2llciB0byBzZWUgd2hhdCBpcyBnb2luZyBvbiBhbmQgaXMgYSBsb3QgbGVzcyBlcnJvciBwcm9uZS4KCjIwMDktMTAtMDIgMTg6MjU6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cDogYWRkIG1pc3NpbmcgaW5jbHVkZSB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTEwLTAyIDEzOjE1OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2ZpbHRlcjogYWRkIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRCB0byBwcm9wZXJ0eSBzZXR0ZXIKCjIwMDktMTAtMDIgMTM6MTA6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZG9uJ3QgZ2l2ZSB3cm9uZyBudW1iZXIgb2YgZmllbGRzIGluIHRoZSBtZXNzYWdlIGRvY3MKCjIwMDktMTAtMDEgMTI6NTI6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBjYWNoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmRzCgkgIENhY2hlIHRoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmRzIHVuaXRzIHRvIGF2b2lkIGhhdmluZyB0byBjb252ZXJ0IHRoZQoJICBtaWxsaXNlY29uZHMgdmFsdWUgdG8gbmFub3NlY29uZHMgYWxsIHRoZSB0aW1lLgoKMjAwOS0xMC0wMSAxMjoxMjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSAtMSBpbnB1dCB0aW1lc3RhbXBzCgkgIERvbid0IHRyeSB0byBjaGVjayBhIC0xIHRpbWVzdGFtcCBhZ2FpbnN0IHRoZSBtYXggZGVsYXkuCgoyMDA5LTEwLTAxIDEwOjU0OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZG9uJ3QgbWlzdWVzIHBlcmYtY2F0ZWdvcnkgYW5kIHJlbW92ZSB1bnVzZWQgZXh0IGNhdGVnb3J5CgkgIFRoZSBwZXJmb3JtYW5jZSBjYXRlZ29yeSBpcyBtZWFudCB0byBiZSB1c2VkIHRvIGF1ZGl0IGNvZGVwYXRocyB0aGF0IGxlYWQgdG8gYmFkCgkgIHBlcmZvcm1hbmNlIChlLmcuIGNvcGllcywgY29udmVyc2lvbiB0aGF0IGNhbiBiZSBhdm9pZGVkKS4KCSAgUmVtb3ZlIHRoZSBldmVudCBjYXRlZ29yeSB3aGljaCBpcyBub3QgdXNlZC4KCjIwMDktMDktMTYgMTQ6MjM6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5L2RlcGF5OiBEZW1vdGUgcGVyLWJ1ZmZlciBkZWJ1ZyBtZXNzYWdlcyB0byBsb2cgbGV2ZWwKCjIwMDktMDktMTYgMTQ6MTY6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBEb24ndCBsZWFrIGluY29taW5nIGJ1ZmZlcnMgYWZ0ZXIgc3ViYnVmZmVyaW5nIHRoZW0KCjIwMDktMDktMTYgMTM6NTc6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5L2RlcGF5OiBBZGQgZGVidWcgY2F0ZWdvcmllcwoKMjAwOS0wOS0xNiAxMzo1NToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IFJlbW92ZSBsb25nIHVubmVlZGVkIGRlZmluZSByZXBsYWNlbWVudAoKMjAwOS0wOS0zMCAxODowNjowNyArMDEwMCAgQ2hyaXN0aWFuIEYuSy4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBtYWtlZmlsZSB3aXRoIG1pc3NpbmcgaGVhZGVyIGZpbGUKCjIwMDktMDktMzAgMTg6NDU6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBydHA6IFVzZSBhdXRvYXVkaW97c2luayxzcmN9IGluc3RlYWQgb2YgYWxzYSBpbiB0aGUgZXhhbXBsZXMKCjIwMDktMDktMjkgMTc6NTE6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgbGVhayBvdXRwdXQgYnVmZmVycyBvbiBkZWNvZGluZyBlcnJvcnMKCSAgVGhlIHNldGptcCBoYW5kbGVzIGxpYmpwZWcgZXJyb3IuIEZyZWUgdGhlIG91dHB1dGJmZmVyIGlmIHdlIGRvbid0IG5lZWQgaXQuCgoyMDA5LTA5LTI5IDAwOjAxOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4ICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcKCjIwMDktMDktMjMgMTQ6MjU6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogc21hbGwgY2xlYW51cHMKCjIwMDktMDktMjMgMTM6NTc6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHRpbWVzdGFtcGluZyBpbiBzb21lIGF1ZGlvIHN0cmVhbXMKCSAgRm9yIHZiciBhdWRpbyBzdHJlYW1zIHdlIG5lZWQgdG8gdXNlIHRoZSBudW1iZXIgb2YgYmxvY2tzIHRvIGNhbGN1bGF0ZSB0aGUKCSAgdGltZXN0YW1wcy4KCSAgV2hlbiB0aGUgYWxsb2NhdGlvbiBvZiBhZGRpdGlvbmFsIGluZGV4IG1lbW9yeSBmYWlscywgZG9uJ3QgdGhyb3cgYXdheSB3aGF0CgkgIHdlIGhhZCBiZWZvcmUuCgkgIFZhcmlvdXMgY2xlYW51cHMuCgoyMDA5LTA5LTIzIDEyOjU2OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGFkZCBzdXBwb3J0IGZvciBPRE1MIGluZGV4ZXMgYWdhaW4KCjIwMDktMDktMjIgMjI6MTI6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpOiBpbXBsZW1lbnQgaW5kZXggc2Nhbm5pbmcKCSAgSW1wbGVtZW50IHNjYW5uaW5nIG9mIHRoZSBmaWxlIHdoZW4gd2UgY2FuIHBhcnNlIHRoZSBpbmRleC4KCSAgU29tZSByZWZhY3RvcmluZyBvZiBjb21tb24gY29kZS4KCSAgQ2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBSZW1vdmUgc29tZSByZWltcGxlbWVudGVkIGNvZGUuCgkgIFJlbW92ZSBpbmRleCBtYXNzYWdlIGNvZGUgYW5kIHB1dCBhIEZJWE1FIHdoZXJlIHdlIHNob3VsZCBkbyBzb21ldGhpbmcKCSAgZXF1aXZhbGVudCBsYXRlci4KCjIwMDktMDktMjIgMTg6MTg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHJldmVyc2UgcGxheWJhY2sKCjIwMDktMDktMjIgMTc6NDI6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHByZXYga2V5ZnJhbWUgc2VhcmNoIGFuZCBjbGVhbnVwcwoKMjAwOS0wOS0yMiAxNDo1MTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiByZW1vdmUgY29kZSB0aGF0IGdvdCBjb252ZXJ0ZWQKCjIwMDktMDktMjIgMTQ6NDQ6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpOiBtb3JlIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIGR1cGxpY2F0ZSBjb3VudGVycy4KCSAgQmUgc21hcnRlciB3aGVuIHVwZGF0ZWluZyB0aGUgY3VycmVudCB0aGUgdGltZXN0YW1wIGFuZCBvZmZzZXQgaW4gdGhlIHN0cmVhbQoJICBiZWNhdXNlIHdlIGNhbiByZXVzZSBwcmV2aW91c2x5IGNhbGN1bGF0ZWQgdmFsdWVzIHdoZW4gc2ltcGx5IGdvIGZvcndhcmQgb25lCgkgIHN0ZXAuCgkgIENvcnJlY3RseSBzZXQgbWV0YWRhdGEgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDktMDktMjIgMTI6MzU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHNtYWxsIGNsZWFudXBzCgoyMDA5LTA5LTIyIDAxOjI4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCByZWFkIG9mZnNldCBhbmQgY2xlYW51cHMKCjIwMDktMDktMjEgMTg6MDQ6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpOiByZXdyaXRlIGluZGV4IHBsYXliYWNrCgkgIGRpc2FibGUgY29kZSwgc3RhcnQgb24gcmVpbXBsZW1lbnRpbmcgbG9vcCBiYXNlZCBvcGVyYXRpb24uCgkgIFJld3JpdGUgdGhlIGluZGV4IGhhbmRsaW5nIHNvIHRoYXQgYWxsIHN0cmVhbXMgdXNlIHRoZWlyIG93biBpbmRleCBmb3IgZGVjb2RpbmcKCSAgbWVkaWEuCgoyMDA5LTA5LTIxIDE1OjM1OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBhZGQgbmV3IGluZGV4IHBhcnNpbmcgY29kZQoJICBBZGQgYSBuZXcgZnVuY3Rpb24gYW5kIGRhdGFzdHJ1Y3R1cmUgdG8gcGFyc2UgYW5kIGhvbGQgdGhlIGluZGV4IGVudHJpZXMgb24gYQoJICBwZXIgc3RyZWFtIGJhc2UuIEFsc28gYXZvaWQgZG9pbmcgdG9vIG11Y2ggd29yayB0cnlpbmcgdG8gZmlndXJlIG91dCB0aGUKCSAgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIGFzIHdlIGNhbiB0cml2aWFsbHkgZG8gdGhhdCBsYXRlci4KCSAgTGVzcyBpbmZvcm1hdGlvbiBpbiB0aGUgZW50cmllcyBtYWtlcyB0aGVtIDIgdGltZXMgc21hbGxlciBhbmQgbm90IGRvaW5nIHRvbwoJICBtdWNoIHdvcmsgbWFrZXMgdGhpcyBjb2RlIGFib3V0IDEyIHRpbWVzIGZhc3RlciB0aGFuIHRoZSByZWd1bGFyIGNhc2UuCgkgIEhvb2sgaW4gdGhlIG5ldyBmdW5jdGlvbiBhbG9uZ3NpZGUgdGhlIGV4aXN0aW5nIGZ1bmN0aW9uIGZvciBjb21wYXJpc29uIHVudGlsCgkgIHRoZSByZXN0IG9mIHRoZSBjb2RlIGlzIHVwZGF0ZWQgdG8gaGFuZGxlIHRoZSBuZXcgaW5kZXggZGF0YXN0cnVjdHVyZS4KCjIwMDktMDktMjggMTY6Mjk6NDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZzogaGFuZGxlIG1vcmUgbGlianBlZyByZXR1cm4gdmFsdWVzLCBhZGQgc29tZSBtb3JlIGJyYW5jaCBoaW50cwoJICBBbHNvIHJlbW92ZSB1bnVzZWQgc2l6ZSB2YXJpYWJsZSBpbiBfY2hhaW4oKS4KCjIwMDktMDktMjUgMTk6MjE6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb21lIG9wdGlvbmFsIFFUIHNwZWNpZmllZCBzdHNkIE1QRUctNCBhdG9tcyBhbHNvIGFwcGx5IHRvIEgyNjQKCSAgRml4ZXMgIzU5NjMxOS4KCjIwMDktMDktMjUgMTY6NDA6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHNlbmQgdGFnIGV2ZW50cyBkb3duc3RyZWFtIGFmdGVyIG5ld3NlZ21lbnQKCjIwMDktMDktMjUgMTQ6MTQ6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpZiB0cmFuc3BvcnQgcHJvdG9jb2wgdW5zdXBwb3J0ZWQsIHRyeSBhbm90aGVyIG9uZQoJICBBbHNvIGNoYW5nZSBlcnJvciBtZXNzYWdlIHRvIG1vcmUgYWNjdXJhdGVseSByZWZsZWN0IGNhc2VzIGluIHdoaWNoCgkgIGl0IGNhbiBvY2N1ci4KCjIwMDktMDktMjUgMTE6NTQ6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBkdXJhdGlvbnMgbW9kdWxvIDE8PDMyCgkgIEZvciBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb25zIG9mIGVhY2ggc2FtcGxlLCB3ZSBhcmUgc3VwcG9zZWQgdG8gYWRkIGVhY2gKCSAgZHVyYXRpb24gbW9kdWxvIDE8PDMyIHNvIG1ha2UgdGhlIGVsYXBzZWQgdGltZSBjb3VudGVyIGEgdWludDMyLgoJICBGaXhlcyAjNTk1OTQyCgoyMDA5LTA5LTI0IDIwOjM4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzbWFsbCBjbGVhbnVwCgoyMDA5LTA5LTI0IDE5OjMzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJICBxdGRlbXV4OiBkb24ndCB1c2UgY29yZSBBUEkgdGhhdCBkb2Vzbid0IGV4aXN0IHlldAoJICBUaGVyZSdzIG5vIGdzdF9ieXRlX3JlYWRlcl9oYXNfcmVtYWluaW5nKCkgeWV0LiBGaXhlcyBidWlsZC4KCjIwMDktMDktMjQgMTM6MjA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkgIHF0ZGVtdXg6IG1hcCBzb21lIGF0b21wYXJzZXIgZnVuY3Rpb25zIHRvIHRoZWlyIG5ldyBieXRlcmVhZGVyIGVxdWl2YWxlbnRzCgkgIE5vdyB0aGF0IEdzdEJ5dGVSZWFkZXIgaGFzIHVuY2hlY2tlZCBhbmQgaW5saW5lZCB2YXJpYW50cyBhcyB3ZWxsLCBtYXAKCSAgYXRvbXBhcnNlciBmdW5jdGlvbnMgdG8gdGhlaXIgcmVzcGVjdGl2ZSBieXRlcmVhZGVyIGVxdWl2YWxlbnRzLgoKMjAwOS0wOC0yNSAxMjoxMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogYWRkIHF0X2F0b21fcGFyc2VyX2hhc19jaHVua3MoKSBhbmQgZml4IGluZGVudGF0aW9uCgoyMDA5LTA4LTIwIDE4OjIxOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYmFpbCBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gYWxsb2Mgc2lsbHkgaW5kZXggc2l6ZXMKCSAgSWYgaXQgbG9va3MgbGlrZSB3ZSB3b3VsZCBiZSBhbGxvY2F0aW5nIGEgc2lsbHkgc2l6ZSBmb3Igb3VyIHNhbXBsZQoJICBpbmRleCwganVzdCBiYWlsIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBhbGxvY2F0ZSBpdC4gSGVscHMgd2l0aAoJICBicm9rZW4gb3IgZnV6emVkIGZpbGVzIHdoZXJlIHdlIG1pZ2h0IGVuZCB1cCB0cnlpbmcgdG8gbWFsbG9jIGEKCSAgY291cGxlIG9mIGh1bmRyZWQgTUJzIG90aGVyd2lzZS4KCjIwMDktMDgtMjAgMTY6NDc6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlcnJvciBvdXQgY29ycmVjdGx5IGlmIHdlIGRvbid0IGV2ZW4gaGF2ZSBlbm91Z2ggYnl0ZXMgZm9yIGFuIGF0b20gaGVhZGVyCgoyMDA5LTA4LTIwIDE1OjM5OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5pdCBmb3VyY2MgdG8gMCBhcyB3ZWxsIHRvIGF2b2lkIGludmFsaWQgcmVhZHMgd2hlbiBwcmludGYnaW5nIGVycm9yIG1lc3NhZ2UKCjIwMDktMDgtMjAgMDE6Mzk6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGFkZCBxdF9hdG9tX3BhcnNlX2hhc19yZW1haW5pbmcoKSB0byBhdm9pZCBvdmVyZmxvd3Mgd2l0aCBfZ2V0X3JlbWFpbmluZygpCgoyMDA5LTA4LTIwIDAxOjIxOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIEdzdEJ5dGVSZWFkZXIgd2hlbiBwYXJzaW5nIHRraGQgYXRvbQoKMjAwOS0wOC0xOSAxOToxMzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSB1bnNpZ25lZCBpbnRzIGZvciBub2RlIGxlbmd0aCBhbmQgZG8gbW9yZSBzYW5pdHkgY2hlY2tpbmcgb2YgdGhlIGF0b20gbGVuZ3RoCgoyMDA5LTA4LTE5IDAxOjM2OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogdXNlIEdzdEJ5dGVSZWFkZXIgZm9yIGF0b20gZHVtcGluZyBhbmQgZml4IGEgZmV3IGJ1Z3MKCjIwMDktMDgtMjEgMTQ6MjE6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3ZlIHN0Y28sIHN0dHMsIHN0c3MgYW5kIHN0cHMgYXRvbSBwYXJzaW5nIG92ZXIgdG8gR3N0Qnl0ZVJlYWRlcgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGF0b20gYm91bmRhcnkuIE5vdGUgdGhhdCB0aGUgY29kZQoJICBiZWhhdmVzIHNsaWdodGx5IGRpZmZlcmVudGx5IGluIHRoZSBjb3JuZXIgY2FzZSB3aGVyZSB0aGVyZSBpcyBub3QKCSAgZW5vdWdoIGF0b20gZGF0YSBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2Ygc2FtcGxlcyAobl9zYW1wbGVzX3RpbWUpCgkgIGluIHRoZSBhdG9tLCBidXQgc3RpbGwgZW5vdWdoIGRhdGEgdG8gZmlsbCB0aGUgcHJlLWFsbG9jYXRlZCBpbmRleCBvZgoJICBuX3NhbXBsZXMgZW50cmllczogYmVmb3JlIHdlIHdvdWxkIGp1c3Qgc3RvcCBwYXJzaW5nIHRoZSBzdHRzIGRhdGEKCSAgYW5kIGNvbnRpbnVlLCB3aGVyZWFzIG5vdyB3ZSB3aWxsIGxpa2VseSBlcnJvciBvdXQuIFRoaXMgc2hvdWxkIG5vdAoJICBiZSBhIHByb2JsZW0gaW4gcHJhY3RpY2UgdGhvdWdoLiBXZSBjb3VsZCBtYWludGFpbiB0aGUgb2xkIGJlaGF2aW91cgoJICBieSBkb2luZyByZWFkcyB3aXRoIGEgc2l6ZSBjaGVjayBpbnNpZGUgdGhlIGxvb3AgaWYgbmVlZGVkLgoKMjAwOS0wNi0zMCAxOTo1MToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBieXRlcmVhZGVyIHRvIHBhcnNlIHN0c3ogYW5kIHN0c2MgYXRvbXMKCSAgVXNlIEdzdEJ5dGVSZWFkZXIgdG8gcGFyc2Ugc3RzeiBhbmQgc3RzYyBjaHVua3MsIGFuZCBjaGVjayBzaXplIG9mCgkgIGF2YWlsYWJsZSBkYXRhIGJlZm9yZSBwYXJzaW5nIGl0LCBpbnN0ZWFkIG9mIGJsaW5kbHkgYXNzdW1pbmcgdGhlcmUKCSAgd2lsbCBiZSBlbm91Z2ggZGF0YS4gRml4ZXMgY3Jhc2hlcyB3aXRoIHNvbWUgZnV6emVkL2Jyb2tlbiBmaWxlcy4KCjIwMDktMDgtMTUgMjA6Mzg6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkgIHF0ZGVtdXg6IGFkZCBxdF9hdG9tX3BhcnNlcl9nZXRfb2Zmc2V0KCkgYW5kIG9wdGltaXNlIF9wZWVrX3N1YigpCgoyMDA5LTA3LTAxIDEzOjQ5OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgUXRBdG9tUGFyc2VyLCBhbiBpbmxpbmVkIEdzdEJ5dGVSZWFkZXIgdmFyaWFudAoKMjAwOS0wOS0yMyAxNzoxOTozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHVzZSBwcm9wZXIgb3JkZXIgZm9yIG5vLW1vcmUtcGFkcyBhbmQgbmV3c2VnbWVudCBhbmQgdGFnIHNlbmRpbmcKCjIwMDktMDktMjMgMDk6NTA6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNwcmlua2xlIGEgZmV3IGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0yMiAxNTowMzoyMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgRml4IGNvbXBpbGUgd2FybmluZ3Mgd2l0aCBnY2MgNC4wLjEuCgoyMDA5LTA5LTIyIDExOjQ4OjUwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBEb24ndCBnZXQgc3R1Y2sgaW4gYW4gaW5maW5pdGUgbG9vcCB3aXRoIERpcmFjCgkgIEF0IHRoZSBlbmQsIERpcmFjIHN0cmVhbXMgaGF2ZSBhbiBFT1MgcGFja2V0IHdpdGggMCBsZW5ndGguCgkgIERvbid0IGV2ZXIgc2l0IGluIGFuIGluZmluaXRlIGxvb3Agd2hlbiBwcm9jZXNzaW5nIG9uZS4gQWxsb3dzCgkgIG11eGluZyBEaXJhYyBpbnRvIG1rdiB0byBjb21wbGV0ZSBzdWNjZXNzZnVsbHkuCgoyMDA5LTA5LTIyIDExOjAzOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDA5LTA5LTIyIDExOjAyOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICB2aWRlb21peGVyOiBmaXggdXAgTWFrZWZpbGUgc29tZSBtb3JlCgkgIFJlbW92ZSBDRkxBR1MgZnJvbSBMSUJBREQgYW5kIG1ha2Ugb3JkZXIgb2YgdGhlIHZhcmlvdXMgQ0ZMQUdTIGFuZAoJICBMSUJTIGF0IGxlYXN0IGNvbnNpc3RlbnQgd2l0aCBlYWNoIG90aGVyLgoKMjAwOS0wOS0yMiAwODowMjo0OCArMDIwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWl4ZXI6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gTERGTEFHUyBmb3IgbGlua2luZyBsaWJnc3R2aWRlbwoJICBGaXhlcyBidWcgIzU5NTg5Ny4KCjIwMDktMDktMjEgMTg6MDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHRpbWVzdGFtcHMgaW4gcHVzaCBtb2RlCgoyMDA5LTA5LTE4IDE3OjI2OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBhIEdfVU5MSUtFTFkgYW5kIHB1dCBwZXJmLWNhdCBsb2cgdG8gY29kZSBwYXRoIHRoYXQgY29waWVzCgoyMDA5LTA5LTIxIDEyOjMyOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGFkZCBzb21lIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50cwoJICBNZWFzdXJlIHRoZSBwZXJmb3JtYW5jZSBvZiB2YXJpb3VzIGluZGV4IGFuZCBoZWFkZXIgcGFyc2luZyBzdGVwcyB0byB0aGUKCSAgUEVSRk9STUFOQ0UgZGVidWcgY2F0ZWdvcnkuCgoyMDA5LTA5LTE4IDExOjUzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogYWxsb3cgZm9yIHVua25vd24gdmFyeWluZyBudW1iZXIgb2YgZnJhbWVzIHBlciBidWZmZXIKCSAgSW4gcGFydGljdWxhciwgdGhpcyBjYXRlcnMgZm9yIFJUUCBwYXlsb2FkcyB3aXRoIG11bHRpcGxlIGZyYW1lcwoJICBwZXIgcGFja2V0LgoKMjAwOS0wOS0xOCAxMTo0NTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHVzZSBjb3JyZWN0IHNhbXBsZSBzaXplIGluIGNvbnZlcnNpb25zCgoyMDA5LTA5LTE4IDExOjQzOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZml4IGJ1ZmZlciB0aW1lIGFuZCBkdXJhdGlvbiBmb3IgbXVsdGlwbGUgZnJhbWVzIHBlciBwYWNrZXQKCjIwMDktMDktMTggMTQ6MjI6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNvbWUgbG9nZ2luZyBjbGVhbnVwIHRvIGhlbHAgdW5kZXJzdGFuZGluZyB0aGUgaW5kZXggcGFyc2luZyBvdmVyaGVhZAoKMjAwOS0wOS0xNiAxMzoyODoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIG9zeGF1ZGlvOiBsaW5rIGFnYWluc3QgR1NUX0JBU0VfTElCUwoKMjAwOS0wOS0xNSAxNzoyNDoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IEZpeCBhZGFwdGVyIGxlYWsKCSAgVGhlIGFkYXB0ZXIgd291bGQgYmUgbGVha2VkIGlmIGl0IHdhcyBlbXB0eSBhbmQgdGhlIGRhdGEgY291bGQgYmUgcHVzaGVkIG91dCBkaXJlY3RseS4KCjIwMDktMDktMTUgMTA6MDQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXJzCgkgIHBhX3N0cmVhbV9nZXRfdGltaW5nX2luZm8oKSBjYW4gcmV0dXJuIE5VTEwuCgkgIEZpeGVzIGJ1ZyAjNTk1MjIwLgoKMjAwOS0wOS0xNSAxMDowMTo1NCArMDIwMCAgRGF2aWQgSGVubmluZ3Nzb24gPGdub21lLndlYkBlcG9zdC5kaXdpYy5zZT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXJzCgkgIHBhX3N0cmVhbV9nZXRfdGltaW5nX2luZm8oKSBjYW4gcmV0dXJuIE5VTEwuCgkgIEZpeGVzIGJ1ZyAjNTk1MjIwLgoKMjAwOS0wOS0xNCAxNjowNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgc3RyZWFtIGV2ZW50cwoJICBIYW5kbGUgc3RyZWFtIGV2ZW50cyBhbmQgcmVxdWVzdCBhIFBBVVNFL1BMQVkgc3RhdGUgY2hhbmdlIGZyb20gdGhlIGFwcGxpY2F0aW9uCgkgIHdoZW4gd2UgcmVjZWl2ZSBhIENPUksvVU5DT1JLIGV2ZW50LgoKMjAwOS0wOS0xMyAxMjozMDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IEFkZCBuZXh0LWZpbGUgcHJvcGVydHkKCSAgQWRkIGEgcHJvcGVydHkgdG8gYWxsb3cgY29udHJvbCBvdmVyIHdoYXQgZXZlbnQgY2F1c2VzIGEgZmlsZQoJICB0byBmaW5pc2ggYmVpbmcgd3JpdHRlbiBhbmQgYSBuZXcgZmlsZSBzdGFydC4gIFRoZSBkZWZhdWx0IGlzCgkgIHRoZSBzYW1lIGFzIGJlZm9yZSAtLSBlYWNoIGJ1ZmZlciBjYXVzZXMgYSBuZXcgZmlsZSB0byBiZQoJICB3cml0dGVuLiAgQWRkZWQgaXMgYSBjYXNlIHdoZXJlIGJ1ZmZlcnMgYXJlIHdyaXR0ZW4gdG8gdGhlCgkgIHNhbWUgZmlsZSB1bnRpbCBhIGRpc2NvbnRpbnVpdHkgaW4gdGhlIHN0cmVhbS4KCjIwMDktMDktMTMgMTU6NTU6MDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogVXNlIHZhbHVlcyBmcm9tIGRlY29kZXIgc3RydWN0dXJlIGRpcmVjdGx5CgkgIERvbid0IHN0b3JlIHRoZSBzYW1lIHZhbHVlcyBpbiB0aGUgR3N0RHZEZW11eC4gIFRoaXMKCSAgZml4ZXMgYSBidWcgd2hlcmUgZHZkZW11eCB3b3VsZCBkZXRlY3QgYSBzdHJlYW0gYXMgUEFMCgkgIGluc3RlYWQgb2YgTlRTQywgYW5kIHNpbGVudGx5IHBhcnNlIGl0IHdyb25nLgoKMjAwOS0wOS0xMyAxMjoyMDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmM6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmg6CgkqIGV4dC9kdi9zbXB0ZV90ZXN0LmM6CgkgIGR2ZGVtdXg6IEFkZCBjb2RlIHRvIHBhcnNlIFNNUFRFIHRpbWUgY29kZXMKCSAgQ29kZSB0byBjb252ZXJ0IHRpbWUgY29kZXMgdG8vZnJvbSB0aW1lc3RhbXBzIGFuZCBmcmFtZSBudW1iZXJzLgoKMjAwOS0wOS0xMyAxMjowMToyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBGaXggZGV0ZWN0aW9uIG9mIG5ldyBtZWRpYQoJICBUaGVyZSBhcmUgNSBvciA2IEFBVVggc291cmNlIGNvbnRyb2wgcGFja3MgaW4gYSBmcmFtZSwgYW5kIGFueQoJICBvZiB0aGVtIGNvdWxkIGhhdmUgUkVDX1NUIGNsZWFyZWQsIGluZGljYXRpbmcgYSByZWNvcmRpbmcgc3RhcnQKCSAgcG9pbnQuICBsaWJkdiBvbmx5IGNoZWNrcyB0aGUgZmlyc3QuCgoyMDA5LTA5LTEyIDE5OjI1OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogU2V0IERJU0NPTlQgZmxhZyBvbiBidWZmZXJzIHdoZW4gUkVDX1NUIGZsYWcgaXMgc2V0LgoJICBBbHNvIGFkZCBhIGZldyBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMTIgMDA6MTM6MDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICBjaGVjazogRml4IGEgY291cGxlIG9mIHRlc3RzLgoJICBUaGUgc291cGh0dHBzcmMgdGVzdCB3YXNuJ3QgY29tcGlsaW5nLiBUaGUgc291cC1taXNjLmggaGVhZGVyIGlzIG5lZWRlZCBmb3IKCSAgc291cF9zc2xfc3VwcG9ydGVkLgoJICBGaXggdGhlIHk0bWVuYyB0ZXN0IHRvIHVzZSBhICdwcm9ncmVzc2l2ZScgaGVhZGVyIGZvciB0aGUgdGVzdCBkYXRhIG5vdyB0aGF0CgkgIHRoZSBlbGVtZW50IG91dHB1dHMgY29ycmVjdCBpbnRlcmxhY2luZyBpbmZvLgoKMjAwOS0wOS0xMSAxMzozMjozOSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHRyZWF0IGEgemVyby1zaXplZCBkYXRhIGNodW5rIGFzIGV4dGVuZGluZyB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMgdGhhdCBkb24ndCBoYXZlIGEgdmFsaWQgZGF0YSBjaHVuayBsZW5ndGgsCgkgIGFwcGFyZW50bHkgc29tZSBwcm9ncmFtIGNyZWF0ZXMgdGhlc2UuCgoyMDA5LTA5LTExIDIyOjI0OjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGEgZnVuY3Rpb24gcG9pbnRlciBmb3IgZ2V0X2ZyYW1lIGZ1bmN0aW9uIGFuZCBvcHRpbWl6ZSBhIGJpdAoJICBVc2UgYSBmdW5jdGlvbi1wb2ludGVyIGZvciBtbWFwL3JlYWQsIGFzIHRoaXMgY2FuJ3QgY2hhbmdlIGR1cmluZyBjYXB0dXJlLiBBbHNvCgkgIHNwcmlua2xlIGEgZmV3IEdfTElLRUxZL1VOTElLRUxZIHRvIGltcHJvdmUgdGhlIGVycm9yLWxlc3MgY29kZSBwYXRoLgoKMjAwOS0wOS0xMSAyMjoxNTowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IGxvZyBidWZmZXIgY29waWVzIG9uIHF1ZXVlIHVuZGVycnVuIGluIHBlcmYgY2F0ZWdvcnkKCSAgdjRsMnNyYyBoYXMgYSBzbG93IHBhdGggd2hlcmUgaXQgZG9lcyBidWZmZXItY29waWVzIHdoZW4gaXQgcnVucyBvdXQgb2YgcXVldWVkCgkgIGJ1ZmZlcnMuIExvZyB0aGlzIHRvIHBlcmZvcm1hbmNlIGNhdGVnb3J5IHRvIGhlbHAgbW9uaXRvcmluZyBpdC4KCjIwMDktMDktMTEgMTU6MTQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlCgoyMDA5LTA5LTExIDE2OjA5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEltcGxlbWVudCBtdXRlIHByb3BlcnR5CgoyMDA5LTA5LTExIDEzOjMzOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiBmaXggZG9jcyByZWZlcmluZyB0byBzZW5kLW1lc3NhZ2VzCgoyMDA5LTA5LTExIDEzOjI4OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogYWRkIHBvc3QtbWVzc2FnZXMgcHJvcGVydHkKCSAgQWRkIGEgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlIHRoZSBsZXNzIGRlc2NyaXB0aXZlIG1lc3NhZ2UKCSAgcHJvcGVydHkuCgoyMDA5LTA5LTExIDEzOjIwOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkgIHBpeGJ1ZnNpbms6IGFkZCBwb3N0LW1lc3NhZ2VzIHByb3BlcnR5CgkgIEFkZCBwb3N0LW1lc3NhZ2VzIGFuZCBkZXByZWNhdGUgc2VuZC1tZXNzYWdlcyBhcyB0aGUgZm9ybWVyIGlzIG1vcmUKCSAgZGVzY3JpcHRpdmUgb2Ygd2hhdCBhY3R1YWxseSBoYXBwZW5zLgoKMjAwOS0wOS0xMSAxMzoxMjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogcmVuYW1lIHNpbGVudCB0byBwb3N0LW1lc3NhZ2VzCgkgIFVzZSB0aGUgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eSBuYW1lIGluc3RlYWQgb2Ygc2lsZW50IGFzIGl0IGlzIG1vcmUKCSAgZGVzY3JpcHRpdmUuCgoyMDA5LTA5LTExIDEyOjE2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IG1lc3NhZ2VzIGZvciBlYWNoIGJ1ZmZlcgoJICBBZGQgYSBzaWxlbnQgcHJvcGVydHkgdGhhdCBjYW4gYmUgc2V0IHRvIEZBTFNFIHRvIHBvc3QgbWVzc2FnZXMgb24gdGhlIGJ1cyBmb3IKCSAgZWFjaCB3cml0dGVuIGZpbGUuCgkgIERvIHNvbWUgbW9yZSBjbGVhbnVwcy4KCSAgQWRkIHNvbWUgZG9jcy4KCSAgRml4ZXMgIzU5NDY2MwoKMjAwOS0wOS0wOSAxODoxMzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEFsbG9jYXRlIEJvdW5kcnkgc3RydWN0cyBvbiB0aGUgc3RhY2sgaW5zdGVhZCBvZiB0aGUgaGVhcCB0byBhdm9pZCBsZWFrcwoJICBGaXhlcyBidWcgIzU5NDY5MS4KCjIwMDktMDktMTAgMTA6Mjg6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIGRvY3M6IGZpeCBndGstZG9jIHdhcm5pbmdzCgoyMDA5LTA5LTEwIDEwOjI2OjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIGRvY3M6IGZpeCBndGstZG9jIHdhcm5pbmdzCgoyMDA5LTA5LTA5IDE3OjUxOjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgZHYxMzk0c3JjOiBBZGQgYSBjbG9jayBiYXNlZCBvbiBpc29jaHJvbm91cyBjeWNsZSBjb3VudGVyCgkgIFBhcnRpYWwgZml4IGZvciAjMTY5MzgzLgoKMjAwOS0wOS0wOSAxNjowMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBBWVVWLT5JNDIwIGNvbnZlcnNpb24KCSAgRm9yIHRoaXMgZml4IHRoZSBhdmVyYWdpbmcgb2YgdGhlIGNocm9tYSB2YWx1ZXMuIEl0IHNob3VsZCd0IGJlIChhLzIgKyBiKS8yCgkgIGJ1dCBqdXN0IChhICsgYikvMi4KCSAgRml4ZXMgYnVnICM1OTQ1OTkuCgoyMDA5LTA5LTA5IDE2OjI1OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVtb3ZlIHJpbmdidWZmZXIgcmVzZXQgY29tcGVuc2F0aW9uCgkgIFJlbW92ZSB0aGUgY29kZSB0byBkZWFsIHdpdGggYSByaW5nYnVmZmVyIHJlc2V0IGFzIHRoaXMgY29kZSBpcyBub3cgaW4gdGhlIGJhc2UKCSAgY2xhc3MuCgkgIEJ1bXAgdGhlIC1iYXNlIHJlcXVpcmVtZW50IGFzIHdlIG5lZWQgdGhlIG5ldyBiYXNlYXVkaW9zaW5rIGNvZGUgdG8gZnVuY3Rpb24KCSAgcHJvcGVybHkuCgoyMDA5LTA5LTA5IDE2OjI0OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDkgMTA6Mjc6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgIHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDggMTk6MzQ6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSAgcHVsc2U6IHNtYWxsIGNsZWFudXBzCgkgIEFkZCBzb21lIGRlYnVnIGluZm8KCSAgRml4IHRoZSBzdGF0ZSBjaGFuZ2VzCgoyMDA5LTA5LTA4IDE4OjI5OjM1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydG11eDogbWFyayBkYXRhIGJ1ZmZlciBhcyBkZWx0YS11bml0CgkgIFNvIHRoYXQgbXVsdGlmZHNpbmsgYWx3YXlzIHN0YXJ0IHNlbmRpbmcgaGVhZGVyIGJ1ZmZlciBmaXJzdAoJICBGaXhlcyAjNTk0NTIwCgoyMDA5LTA5LTA4IDE3OjM3OjE1ICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBpZ25vcmUtcHQgcGFyYW1ldGVyCgkgIEFkZCBhIHBhcmFtZXRlciAnaWdub3JlLXB0JyB0aGF0IGRpc2FibGVzIGNyZWF0aW5nIGEgZ3N0cnRwcHRkZW11eCBtb2R1bGUgYW5kCgkgIGdob3N0cyB0aGUgcGFkcyBvZiBnc3RydHBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiB0aGUgb25lcyBvZiBnc3RydHBwdGRlbXV4LgoJICBGaXhlcyAjNTk0NDkwCgoyMDA5LTA5LTA0IDEzOjUxOjM3ICswMjAwICBNYXJ2aW4gU2NobWlkdCA8bWFydmluX3NjaG1pZHRAZ214Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIGNoZWNrczogb25seSBydW4gSFRUUFMgdGVzdCBpZiBsaWJzb3VwIGhhcyBTU0wgc3VwcG9ydAoKMjAwOS0wOS0wOCAxMzo1OTo1NiArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBwcm9wYWdhdGUgcGF5bG9hZC10eXBlLWNoYW5nZSBzaWduYWwgZnJvbSBkZW11eGVyCgkgIGZpeGVzICM1OTQyNTQKCjIwMDktMDgtMzEgMTg6NDY6MjUgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGNoYW5nZSBzZXZlcml0eSBvZiBjbG9jay1yYXRlIGNoYW5nZSBkZWJ1ZwoJICBNYWtlIGxvZyBHU1RfREVCVUcgdW5kZXIgbm9ybWFsIGNpcmN1bXN0YW5jZXMsIEdTVF9XQVJOSU5HIG90aGVyd2lzZS4KCSAgRml4ZXMgIzU5NDI1MwoKMjAwOS0wOS0wOCAxMzozOTozMSArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIHRocm93aW5nIHJlb3JkZXJlZCBidWZmZXJzIHdpdGggc2FtZSB0aW1lc3RhbXBzCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIHJlb3JkZXJlZCBwYWNrZXQgd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgdGhlIHByZXZpb3VzIG9uZQoJICAod2hpY2ggY2FuIGhhcHBlbiBmb3IgZnJhZ21lbnRlZCBwYWNrZXRzKSBkb24ndCBjb25zaWRlciB0aGUgcGFja2V0IGFzIGxvc3QgYnV0CgkgIGluc3RlYWQgd2FpdCBmb3IgdGhlIHJlb3JkZXJlZCBwYWNrZXQgdG8gYXJyaXZlLgoJICBTd2l0Y2ggdGhlIHdhcm5pbmctbGV2ZWwsIHNvIHRoYXQgYSByZW9yZGVyaW5nIGRvZXMgbm90IGdldCBhIHdhcm5pbmcsIG9ubHkKCSAgYW4gYWN0dWFsIHByb2R1Y2VkIGxvc3QtcGFja2V0LgoJICBGaXhlcyAjNTk0MjUxCgoyMDA5LTA4LTMxIDIxOjE2OjU0ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IGFkZCBtaXNzaW5nIG1hdGguaCBpbmNsdWRlCgkgIEZpeGVzICM1OTQyNDcKCjIwMDktMDktMDggMTM6MzA6MjkgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrCgkgIEluIGdzdF9ydHNwc3JjX3BhcnNlX2RpZ2VzdF9jaGFsbGVuZ2UoKSwgcnRzcHNyYyBkb2VzIGEgZ19zdHJuZHVwIG9mIHRoZSBhdXRoCgkgIGhlYWRlciBpdGVtcyBhbmQgdGhlbiBwYXNzZXMgdGhlbSB0byBnc3RfcnRzcF9jb25uZWN0aW9uX3NldF9hdXRoX3BhcmFtKCkKCSAgd2l0aG91dCBmcmVlaW5nLgoJICBGaXhlcyAjNTk0MTMzCgoyMDA5LTA5LTA4IDEzOjE4OjI5ICswMjAwICBTdGlnIFNhbmRuZXMgPHN0aWcuc2FuZG5lc0B0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBtYWtlIGZyZWVfc2Vzc2lvbigpIHJlbW92ZSBzdHJlYW0gcmVmZXJlbmNlcwoJICBXaGVuIHJlY2VpdmluZyBhIHN5bmMtcGFja2V0LCBhbGwgc2Vzc2lvbnMgd2l0aCB0aGUgc2FtZSBjbmFtZSB3aWxsIGJlIGNvbXBhcmVkCgkgIGFuZCBzeW5jZWQgdG9nZXRoZXIuIEluIHRoaXMgcHJvY2VzcywgdGhlcmUgY291bGQgc3RpbGwgYmUgcmVmZXJlbmNlcyB0byBhCgkgIHNlc3Npb24gdGhhdCBoYXMgYmVlbiBzaHV0IGRvd24gaW4gdGhlIG1lYW53aGlsZS4KCSAgVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHRoYXQgdGhlc2UgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZCB3aGVuIHNodXR0aW5nIGRvd24gYQoJICBzZXNzaW9uLCBzbyB0aGF0IHRoZSBzeW5jaW5nIGNhbiBiZSBkb25lIHNhZmVseS4KCSAgRml4ZXMgIzU5NDI4MwoKMjAwOS0wOC0zMSAxODo0Njo1MSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIGxvY2tlZCBzdGF0ZSBvbiBpbnRlcm5hbCBiaW5zCgkgIFNldCB0aGUgbG9ja2VkIHN0YXRlIG9uIGludGVybmFsIGVsZW1lbnRzIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgZG9uJ3QgY2hhbmdlCgkgIGJhY2sgdG8gYW5vdGhlciBzdGF0ZSB3aGVuIHNodXR0aW5nIGRvd24uCgkgIEZpeGVzICM1OTQyNDgKCjIwMDktMDktMDcgMTg6Mjg6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBhZGQgc3VwcG9ydCBmb3IgbXBlZyBmb3JtYXRzCgoyMDA5LTA5LTA1IDIwOjUxOjE0IC0wNzAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtZW5jOiBBZGQgaW50ZXJsYWNlZCBzdXBwb3J0CgkgIEZpeGVzICM1OTE3MTMKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTA4LTI0IDEzOjQyOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgUmVtb3ZlIFJvbmFsZCBCdWx0amUgZnJvbSBBdXRob3JzIGZpZWxkCgkgIFJlcGxhY2VkIHdpdGggIkdTdHJlYW1lciBtYWludGFpbmVycwoJICA8Z3N0cmVhbWVyLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iIG9yIGp1c3QgcmVtb3ZlZCwKCSAgZGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2Ygb3RoZXIgYXV0aG9ycy4KCjIwMDktMDktMDUgMTA6MjE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMGE4NTllIHRvIDE5ZmE0ZjMKCjIwMDktMDktMDQgMTM6NDI6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmV2ZW50IGEgc3B1cmlvdXMgZGVidWcgd2FybmluZwoKMjAwOS0wOS0wNCAwOTozMjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IERlZmluZSBWNEwyX0ZNVF9GTEFHX0VNVUxBVEVEIGlmIGl0J3Mgbm90IGRlZmluZWQgeWV0CgkgIGxpYnY0bDIgYWxyZWFkeSB1c2VzIHRoaXMgZmxhZywgZXZlbiBvbiBMaW51eCBrZXJuZWwgdmVyc2lvbnMKCSAgYmVmb3JlIDIuNi4zMi4KCjIwMDktMDktMDQgMDc6MTA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENvcnJlY3RseSBoYW5kbGUgTlVMTCBHc3RJbmRleAoKMjAwOS0wOS0wMyAyMDo0MDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEZpeCBzdHVwaWQgdHlwbyBpbiBsYXN0IGNvbW1pdAoKMjAwOS0wOS0wMyAyMDozODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFB1dCBlbXVsYXRlZCBmb3JtYXRzIGJlaGluZCBuYXRpdmUgZm9ybWF0cwoJICBGaXhlcyBidWcgIzU5Mzc2NC4KCjIwMDktMDktMDMgMTk6Mzc6MTAgKzAyMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvby5mcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGZpeCBtZW1sZWFrCgkgIERvbid0IGxlYWsgdGhlIGlucHV0IGJ1ZmZlciB3aGVuIHRoZSByZWNlaXZlZCBhbmQgZXhwZWN0ZWQgc2VxbnVtIGFyZSBkaWZmZXJlbnQgd2hlbgoJICBpbiBwcm9iYXRpb24uCgkgIGZpeGVzICM1OTQwMzkKCjIwMDktMDktMDIgMTU6MjE6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IExvY2sgY2xvY2tfcmF0ZSB2YXJpYWJsZQoJICBUaGUgcHJpdi0+Y2xvY2tfcmF0ZSB2YXJpYWJsZSBjb3VsZCBiZWNvbWUgLTEgYmV0d2VlbiB3aGVuIGl0cyBjaGVja2VkIHRvIG5vdAoJICBiZSAtMSBhbmQgd2hlbiBpdHMgdXNlZCwgY2F1c2luZyBhbiBhc3NlcnRpb24uIEZpeGVkIGJ5IHRha2luZyB0aGUgbXV0ZXgKCSAgZWFybGllciBpbiB0aGUgY2hhaW4oKSBmdW5jdGlvbi4KCSAgRml4ZXMgIzU5Mzk1NQoKMjAwOS0wOS0wMyAxOToxMjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDMgMTk6MDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBydHBtcGFwYXk6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDMgMTk6MDg6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDMgMTc6MzM6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEF2b2lkIHVubmVjZXNzYXJ5IHByb2Nlc3NpbmcgdW50aWwgd2UgaGF2ZSBhIGZ1bGwgcGljdHVyZS4KCSAgVGhpcyBpcyBmb3Igbm9uLXBhY2tldGl6ZWQgbW9kZSwgd2hlbiB3ZSBrbm93IHRoZSB1cHN0cmVhbSBzaXplIGluIGJ5dGVzLgoKMjAwOS0wOS0wMyAxNDo0MDoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmdWxseSB1c2UgdGFnc2V0dGVyIHRvIG1hbmFnZSB0aGUgdGFncy4gRml4ZXMgIzU2MzIyMQoJICBUaGVyZSBpcyBubyBuZWVkIHRvIG1hbmFnZSBhIHNlcGFyYXRlIHRhZ2xpc3QuCgoyMDA5LTA5LTAzIDE0OjEzOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IHNtYWxsIHRhZ2xpc3QgaGFuZGxpbmcgY2xlYW51cAoJICBEb24ndCBldmVudHVhbHkgbGVhayB0aGUgbGlzdCBhbmQgaW5zdGVhZCBhc3NlcnQgKGxpa2UgaW4gb3RoZXIgZWxlbWVudHMpLgoKMjAwOS0wOS0wMiAyMzoxMjo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFsc28gZ3VhcmQgcmVzZXRpbmcgc3Vic2NyaWJlIGNhbGxiYWNrIHdpdGggaWZkZWZzCgkgIEl0IGlzIGNvbmRpdGlvbmFseSBzZXQsIHNvIGRvIHRoZSBzYW1lIHdoZW4gdW5zZXR0aW5nLgoKMjAwOS0wOS0wMSAxNTowNjo0NiArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IEZpeGVkIGEgY29weSAmIHBhc3RlIGVycm9yCgoyMDA5LTA5LTAxIDEzOjIxOjIzICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUgcHJpdgoJICBUaGUgdmFyaWFibGUgcHJpdiB3YXMgaW5pdGlhbGl6ZWQgaW4gYSBsb3Qgb2YgZnVuY3Rpb25zIGJ1dCB0aGVuIG5ldmVyCgkgIHVzZWQgZm9yIGFueXRoaW5nLgoKMjAwOS0wOS0wMSAxMzowMzo1NyArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IEEgbGl0dGxlIGNsZWFuIHVwCgkgIE1ha2UgdGhlIGNvZGUgZmxvdyBvZiBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKCkgYW5kCgkgIGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3AoKSBpZGVudGljYWwuCgoyMDA5LTA5LTAxIDEyOjQ3OjUxICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogTWFrZSBzdXJlIHRoYXQgdXNlZCBjYXBzIGFyZSBub3QgZnJlZWQgYWxyZWFkeSAodGFrZSAyKQoJICBUaGlzIHJlaW50cm9kdWNlcyB0aGUgZml4IGZvciBidWcgIzU5MzM5MS4gSXQgYWxzbyBhcHBsaWVzIGl0IGluCgkgIGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3AoKSB3aGljaCBoYXMgdmVyeSBzaW1pbGFyIGNvZGUgdG8KCSAgZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpLgoKMjAwOS0wOS0wMSAxMjo0MTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogbWFrZSBzdXJlIHRpbWUgZG9lcyBub3QgZ28gYmFja3dhcmRzCgkgIFdoZW4gd2UgY29uc3RydWN0IGEgdGltZXN0YW1wIHRoYXQgd291bGQgcmVzdWx0IGluIGEgdGltZXN0YW1wIHRoYXQgaXMgZWFybGllcgoJICB0aGFuIHdoZW4gdGhlIHBhY2tldCB3YXMgcmVjZWl2ZWQsIHJlc2V0IHRoZSBza2V3IGNhbGN1bGF0aW9uIGFzIHRoaXMgaXMKCSAgcHJvYmFibHkgYSBzaWduIHRoYXQgdGhlIHNlbmRlciByZXN0YXJ0ZWQgb3IgcGF1c2VkLgoJICBGaXhlcyAjNTkzMzU0CgoyMDA5LTA5LTAxIDExOjMyOjQxICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogU2V0IGNhcHMgaW4gZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpIGNvcnJlY3RseSBhZ2FpbgoJICBUaGUgdGVzdCBmb3Igd2hlbiB0byBzZXQgYW4gUlRDUCBjYXBzIG9uIHRoZSBvdXRwdXQgcGFkIGluCgkgIGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3AoKSBhY2NpZGVudGFsbHkgZ290IGludmVydGVkIGluIHRoZSBsYXN0IGNvbW1pdC4KCjIwMDktMDktMDEgMTA6MjY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgUUNFTFAgYXVkaW8KCSAgRml4ZXMgYnVnICM1OTM3NTcuCgoyMDA5LTA4LTMxIDE4OjEwOjExICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgIGVmZmVjdHY6IEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYyAzCgkgIFJlY2VudCBjaGFuZ2VzIGluIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L2VmZmVjdHYgcHJldmVudHMgaXQgZnJvbSBiZWluZyBjb21waWxlZAoJICB3aXRoIGdjYyAzLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBuZXcgY29kZSB1c2VzIHByZXByb2Nlc3NvciBjb25kaXRpb25hbHMKCSAgd2l0aGluIGEgbWFjcm8gY2FsbCB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgZ2NjLgoJICBGaXhlcyBidWcgIzU5MzY4OC4KCjIwMDktMDgtMzEgMTY6MjA6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHNtYWxsIGNsZWFuLXVwcyBpbiAtc2VjdGlvbnMudHh0CgkgIFJlbW92ZSBkdXBsaWNhdGUgZW50cnkgZm9yIHdhcnB0djsgdGhlcmUgaXMgbm8gdGFnbGlibXV4IGVsZW1lbnQuCgoyMDA5LTA4LTI3IDE1OjQ2OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogY29uc2lkZXIgKG9wdGlvbmFsKSBhdXhpbGlhcnkgZGF0YSB3aGVuIHBhcnNpbmcKCjIwMDktMDgtMjcgMTU6NDY6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgcnRwbXA0Z2RlcGF5OiBoYW5kbGUgYnJva2VuIEFVLUluZGV4IGluIG5vbi1pbnRlcmxlYXZlZCBzdHJlYW1zCgkgIEluIGNhc2Ugb2Ygbm9uLWludGVybGVhdmVkICg9IHNlcXVlbnRpYWxseSBwYXlsb2FkZWQpIHN0cmVhbXMsCgkgIHRoZSBBVS1JbmRleCBzZXJ2ZXMgbGl0dGxlIHB1cnBvc2UgKHRoYXQgaXMgbm90IGFscmVhZHkgY292ZXJlZCBieQoJICBSVFAgZmllbGRzKS4gIChCcm9rZW4pIFBheWxvYWRlcnMgbWlnaHQgY29uc2lkZXIgdGhpcyBmaWVsZCB0aGVuCgkgIHRvIGJlIGRpc3JlZ2FyZGVkIGFuZCBoYXZlIG5vbiBzcGVjIGNvbXBsaWFudCB2YWx1ZXMsIGUuZy4gZWFjaAoJICBSVFAgcGFja2V0IGhhdmluZyBBVS1JbmRleCAyIChyYXRoZXIgdGhhbiAwKS4gIEFzIHN1Y2gsIGVuc3VyZS9mb3JjZQoJICBzaW1wbGUgc2VxdWVudGlhbCBzZW5kaW5nIG9mIG5vbi1pbnRlcmxlYXZlZCBzdHJlYW1zLgoKMjAwOS0wOC0xOCAxNzoxNzoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gZXh0cmFjdCBmdHlwIGluZm8gaW4gcHVzaCBtb2RlCgoyMDA5LTA4LTEzIDE2OjExOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBjb25zaWRlciAzZ3BwIHN0eWxlIHRhZyBwYXJzaW5nIGluIHNvbWUgbW9yZSBjYXNlcwoJICAzR1BQIHNwZWNzIGRlZmluZSBhIG51bWJlciBvZiB0YWdzIGFsb25nIHdpdGggcHJlY2lzZSBsYXlvdXQuIFdoaWxlIHRoZXNlCgkgIGFyZSBub3JtYWxseSBleHBlY3RlZCB0byBiZSBmb3VuZCBpbiBhIGNvbnRhaW5lciB3aG9zZSBtYWpvciBicmFuZCBpcyBhCgkgIDNHUFAgYnJhbmQsIHRoaXMgbWF5IGFsc28gaGFwcGVuIHdoZW4gYSAzR1BQIGJyYW5kIGlzIG9ubHkgbWVudGlvbmVkIGFzIGEKCSAgY29tcGF0aWJsZSBicmFuZC4gIEFwcGx5IHNvbWUgY2hlY2tzLCBoZXVyaXN0aWMgYW5kIGZhbGxiYWNrcyB0byBleHRyYWN0CgkgIHN1Y2ggdGFncyBhcyB3ZWxsLgoKMjAwOS0wOC0xMSAxMzo1Njo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlZmxvdyBleGl0LCBhbmQgZml4IHNvbWUgbGVha3MKCjIwMDktMDgtMTEgMTM6NTQ6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBwdXNoIG1vZGU7IGFkZCBwYWQgaWYgbmVlZGVkIHNvIGRvd25zdHJlYW0gZ2V0cyBFT1MKCjIwMDktMDgtMTAgMTY6MTk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogcHVzaCBtb2RlOyBmaXgvaW1wcm92ZSBjaHVuayBoYW5kbGluZwoJICBIYW5kbGUgbGFyZ2UsIGludmFsaWQgb3Igb3RoZXJ3aXNlIHVudXN1YWwgY2h1bmsgc2l6ZXMuCgkgIFZlcmlmeSBzb21lIGNodW5rIHNpemVzIHRvIGJlIGF0IGxlYXN0IHRoZSBzaXplIHRoZXkgYXJlCgkgIGV4cGVjdGVkIHRvIGJlIGFuZCByb3VuZCB1cCBzb21lIHNpemVzIHRvIGV2ZW4gbnVtYmVyIGZvcgoJICBlLmcuIG9mZnNldCBhZG1pbmlzdHJhdGlvbiwgd2hpY2ggbXVzdCBhbHNvIGJlIHByb3Blcmx5CgkgIHRyYWNrZWQgaW4gcHVzaCBtb2RlLgoKMjAwOS0wOC0wOCAyMTo1NDowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgY2F0ZXIgZm9yIHVudXN1YWwgY2h1bmsgc2l6ZXMKCjIwMDktMDgtMzEgMTY6MzQ6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVzZSBwcm9wZXIgbG9ja2luZyBmb3IgcGFkcyBhbmQgY2FwcwoJICBVc2UgdGhlIHNlc2lvbiBsb2NrIGFuZCBzaG90ZG93biB2YXJpYWJsZSB0byBwcm90ZWN0IGFuZCByZWYgdGhlIHBhZHMgd2UgYXJlCgkgIGdvaW5nIHRvIHB1c2ggb24uCgkgIGZpeGVzICM1NjE4MjUKCjIwMDktMDgtMzEgMTY6MzM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA4LTMxIDEzOjM4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2xlYW4gdXAgYWRhcHRlciBwcm9wZXJseQoJICBSZWZsb3cgY29kZSBzbyB3ZSBkb24ndCB0cnkgdG8gY2xlYXIgb3IgcmUtdXNlIGFuIGFscmVhZHktZnJlZWQgYWRhcHRlci4KCjIwMDktMDgtMzEgMTM6MDc6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZmxhY3RhZywgd2F2cGFyc2U6IEdzdEFkYXB0ZXIgaXMgbm90IGEgR3N0T2JqZWN0CgoyMDA5LTA4LTMxIDEyOjI4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MgdG8gZ2l0IHZlcnNpb24KCjIwMDktMDgtMzEgMTE6MzI6MzkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB0ZXN0cyB3YXJuaW5nIGZyb20gc2V0dGluZyBhIE5VTEwgaW5kZXgKCSAgU2V0dGluZyBhIG51bGwgaW5kZXggaW4gdGhlIHRlc3RzIHdhcyBjYXVzaW5nIHdhcm5pbmdzIGJ5IHVucmVmZmluZwoJICBOVUxMIHBvaW50ZXJzLiBUaGlzIGlzIGEgYnVnIGV4cG9zZWQgYnkgYSByZWNlbnQgY2hhbmdlIGluIGNvcmUsIGl0CgkgIHNlZW1zLgoKMjAwOS0wOC0zMSAxMzowMjoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBzbG9wZSBlc3RpbWF0aW9uIGNvZGUgYW5kIGRlYnVnCgkgIEFkZCBzb21lIGNvZGUgdG8gbWVhc3VyZSB0aGUgc2VuZGVyIHNwZWVkIHZzIHRoZSByZWNlaXZlciBzcGVlZC4gVGhpcyBjYW4gYmUKCSAgdXNlZCB0byBkZXRlY3QgYnVyc3RzLgoKMjAwOS0wOC0zMSAxMjo1NzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlc2V0IHNrZXcgd2hlbiB0aW1lc3RhbXBzIGNoYW5nZQoJICBSZWZhY3RvciB0aGUgaml0dGVyYnVmZmVyIHJlc3luYyBjb2RlLgoJICBSZXNldCB0aGUgc2tldyBjb3JyZWN0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgYmlnIHRpbWVzdGFtcCBkaXNjb250LgoJICBTZWUgIzU5MzM1NAoKMjAwOS0wOC0zMSAxMjo0NzoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1ha2Ugc3VyZSB0aW1lIG5ldmVyIGdvZXMgaW52YWxpZAoJICBTaW5jZSB0aGUgc2tldyBjYW4gYmUgbmVnYXRpdmUsIHdlIG1pZ2h0IGVuZCB1cCB3aXRoIGludmFsaWQgdGltZXN0YW1wcy4gQ2hlY2sKCSAgZm9yIG5lZ2F0aXZlIHJlc3VsdHMgYW5kIGNsYW1wIHRvIDAuCgkgIFNlZSAjNTkzMzU0CgoyMDA5LTA4LTMxIDEyOjE2OjAxICswMjAwICBKYXJra28gUGFsdmlhaW5lbiA8amFya2tvLnBhbHZpYWluZW4gYXQgc2VzY2EuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHBzaW5rOiBBZGQgdHRsIG11bHRpY2FzdCBwcm9wZXJ0eQoJICBBZGQgYSBuZXcgdHRsLW1jIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIFRUTCBvbiBtdWx0aWNhc3QgYWRkcmVzc2VzLgoJICBGaXhlcyAjNTg4MjQ1CgoyMDA5LTA4LTMxIDEyOjEzOjA3ICswMjAwICBKYXJra28gUGFsdmlhaW5lbiA8amFya2tvLnBhbHZpYWluZW4gYXQgc2VzY2EuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogc3BsaXQgb3V0IFRUTCBhbmQgbG9vcCBvcHRpb25zCgkgIFNwbGl0IHNldHRpbmcgdGhlIFRUTCBhbmQgbG9vcCBwYXJhbWV0ZXJzIGluIDIgbWV0aG9kcyBhcyB0aGV5IGFyZSBub3QgcmVsYXRlZC4KCSAgRml4IHNldHRpbmcgdGhlIFRUTCBjb3JyZWN0bHkgZm9yIG11bHRpY2FzdCBzdHJlYW1zLgoJICBTZWUgIzU4ODI0NQoKMjAwOS0wOC0yNyAxMjozNjozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA4LTE0IDEzOjQ1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICB2aWRlb2JveDogQ29ycmVjdGx5IGFkZCB0byB0aGUgZG9jcwoKMjAwOS0wOC0xNCAxMzo0MDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IFNwbGl0IGRlY2xhcmF0aW9ucyBpbnRvIGEgaGVhZGVyIGZpbGUgYW5kIGFkZCBhdXRvY3JvcCBzdHVmZiB0byB0aGUgZG9jcwoKMjAwOS0wOC0xNCAxMzoyNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFJlY29uZmlndXJlIGJhc2V0cmFuc2Zvcm0gaWYgc29tZXRoaW5nIGNoYW5nZXMgYWdhaW4KCSAgRm9yIHRoaXMgaW52ZW50IGEgbmV3IGxvY2sgYW5kIGRvbid0IGFidXNlIHRoZSBiYXNldHJhbnNmb3JtIGxvY2ssCgkgIG90aGVyd2lzZSB3ZSdsbCBlbmQgdXAgaW4gZGVhZGxvY2tzLgoKMjAwOS0wOC0xNCAxMzoxNTo1NyArMDIwMCAgU3RlcGhlbiBKdW5nZWxzIDxzdGVwaGVuQGp1bmdlbHMubmV0PgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgYXV0b2Nyb3BwaW5nIGFjY29yZGluZyB0byB0aGUgY2FwcwoJICBGaXhlcyBidWcgIzU4MjIzOC4KCjIwMDktMDgtMzAgMjE6NTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBNYWtlIHN1cmUgdGhhdCB1c2VkIGNhcHMgYXJlIG5vdCBmcmVlZCBhbHJlYWR5CgkgIEZpeGVzIGJ1ZyAjNTkzMzkxLgoKMjAwOS0wOC0yNiAxNzowMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHA6IFVzZSBuZXcgZ3N0X2l0ZXJhdG9yX25ld19zaW5nbGUoKSBmb3IgdGhlIGludGVybmFsIGxpbmtlZCBwYWRzIGl0ZXJhdGlvbgoKMjAwOS0wOC0xOSAxNjo1NzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMTkgMTY6NDg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0xOSAxNjozNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTMwIDIzOjI3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbgoKMjAwOS0wOC0zMCAyMzoyNjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjE2LjEKCj09PSByZWxlYXNlIDAuMTAuMTYgPT09CgoyMDA5LTA4LTI5IDEyOjA1OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgUmVsZWFzZSAwLjEwLjE2CgoyMDA5LTA4LTI2IDAwOjU4OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC4xNS41IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI1IDE2OjUzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHVzZSByZWxhdGl2ZSBzZWVrcwoJICBEb24ndCB1c2UgcmVsYXRpdmUgc2Vla3MsIGl0J3MgdG9vIGhhcmQgdG8gdHJhY2sgd2hlcmUgd2UgYXJlIGFmdGVyIGEgZmx1c2gKCSAgZXRjLgoJICBmaXhlcyAjNTkzMDE1CgoyMDA5LTA4LTI0IDE3OjUwOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjE1LjQgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjQgMTY6MjI6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGRvbid0IGRpc2NhcmQgdGhlIHJlc3VsdCBvZiBfc2V0X2NhcHMoKQoJICBVc2UgdGhlIHJlc3VsdCBvZiBnc3RfcGFkX3NldF9jYXBzKCkgaW5zdGVhZCBvZiBhc3N1bWluZyBzdWNjZXNzLgoJICBTZWUgIzU5MDY3OAoKMjAwOS0wOC0yMSAxMTo0NDo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIGFnc20KCSAgRml4ZXMgIzU5MjUzMAoKMjAwOS0wOC0xOCAxNzoxNjoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBxdCBzdHlsZSBzdHJpbmcgdGFnIGV4dHJhY3Rpb24KCSAgUVQgc3R5bGUgdGFncyBhcmUgdGVzdGVkIG9uIHN0YXJ0aW5nIHdpdGggKEMpIHN5bWJvbCB1c2luZyA+PiwKCSAgYW5kICh1bnNpZ25lZCkgaW50IChtYXkpIGhhdmUgZGlmZmVyZW50ID4+IGJlaGF2aW91ci4KCSAgRml4ZXMgIzU5MjIzMi4KCjIwMDktMDgtMTcgMTU6NDg6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5jOgoJICBzbW9rZWVuYzogZG9uJ3QgY3Jhc2ggd2hlbiBjb21waWxlZCBhZ2FpbnN0IGxpYmpwZWc3CgkgIFNldCBwYXJhbWV0ZXJzIHNvIHRoYXQgd2UgZG9uJ3QgY3Jhc2ggd2l0aCBsaWJqcGVnNy4gQmFzZWQgb24KCSAgU3RlZmFuIEtvc3QncyBmaXggZm9yIGpwZWdlbmMuIEZpeGVzICM1OTE5NTEuCgoyMDA5LTA4LTE0IDIwOjE4OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMTUuMyBwcmUtcmVsZWFzZQoKMjAwOS0wOC0xNCAxMzo0NTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgY2hlY2tzOiBhZGQgdGVzdCBmb3IgbGVhayB0byBydHBiaW4gdW5pdCB0ZXN0CgkgIFNlZSAjNTkxNDc2LgoKMjAwOS0wOC0xMSAxNDo0NzoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRml4IHJlZmVyZW5jZSBsZWFrCgkgIEZpeGVzICM1OTE0NzYuCgoyMDA5LTA4LTE0IDEzOjM0OjUzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIGR2ZGVjOiBzZXQgYm90dG9tIGZpZWxkIGZpcnN0IG9uIFBBTCBpbnRlcmxhY2VkIGNvbnRlbnQsIG5vdCB0b3AgZmllbGQgZmlyc3QKCSAgRFYgaW50ZXJsYWNlZCBjb250ZW50IGlzIGFsd2F5cyBib3R0b20gZmllbGQgZmlyc3QuIEZpeGVzICM1OTE3MTIuCgoyMDA5LTA4LTE0IDEyOjQ0OjA2ICswMTAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBmaXggJ2hhbmcnIHdpdGggc29tZSBjYW1lcmFzIGNhdXNlZCBieSBiYWQgdGltZXN0YW1waW5nIGlmIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUKCSAgRm9yIGNhbWVyYXMvZHJpdmVycyB0aGF0IGRvbid0IHN1cHBvcnQgZS5nLiBWSURJT0NfR19QQVJNIHdlJ2QgZW5kIHVwIHdpdGhvdXQKCSAgYSBmcmFtZXJhdGUgYW5kIHdvdWxkIHRyeSB0byBkaXZpZGUgYnkgMCwgY2F1c2luZyBydW4tdGltZSB3YXJuaW5ncyBhbmQgYWxsCgkgIGZyYW1lcyB0byBiZSB0aW1lc3RhbXBlZCB3aXRoIDAsIHdoaWNoIG1ha2VzIHNpbmtzIHRoYXQgc3luYyBhZ2FpbnN0IHRoZSBjbG9jawoJICBkcm9wIHRoZW0sIGNhdXNpbmcgJ2hhbmdzJyAob2JzZXJ2ZWQgd2l0aCB0aGUgcHdjIGRyaXZlciBhbmQgYSBMb2dpdGVjaCBRdWlja0NhbQoJICBQcm8gNDAwMCkuIFNvIGlmIHdlIGRvIG5vdCBrbm93IHRoZSBmcmFtZXJhdGUsIHNpbXBseSBkb24ndCBhZGp1c3QgdGhlCgkgIHRpbWVzdGFtcHMuIEZpeGVzICM1OTE0NTEuCgoyMDA5LTA4LTE0IDEwOjExOjI1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBjbGVhciBmb3JtYXQgbGlzdCBpbiBSRUFEWS0+TlVMTAoJICBDbGVhciBmb3JtYXQgbGlzdCBhbmQgcHJvYmVkIGNhcHMgd2hlbiBnb2luZyB0byBOVUxMIHNvIGlmIGEgbmV3IGRldmljZQoJICBpcyBzZXQgd2UnbGwgcHJvYmUgdGhlIGZvcm1hdHMgYWdhaW4gaW5zdGVhZCBvZiB1c2luZyBwcmV2aW91c2x5CgkgIGRldGVjdGVkIG9uZXMuIEZpeGVzIGJ1ZyAjNTkxNzQ3LgoKMjAwOS0wOC0xMSAxNzozMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjE1LjIgcHJlLXJlbGVhc2UKCjIwMDktMDgtMTEgMTU6MjU6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTUFJTlRBSU5FUlM6CgkgIEFkZCBteXNlbGYgdG8gTUFJTlRBSU5FUlMgZmlsZSBhbmQgdXBkYXRlIFdpbSdzIGUtbWFpbC4KCjIwMDktMDgtMTEgMDM6MDg6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIHY0bDI6IGZpeCBtYWtlIGRpc3RjaGVjayBieSBkaXN0aW5nIHNvbWUgbW9yZSBoZWFkZXJzCgoyMDA5LTA4LTExIDAyOjQyOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDA5LTA4LTExIDAyOjMxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIE1vdmUgcnRwbWFuYWdlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgkgIEhvb2sgdXAgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUgKGF1dG90b29scywgZG9jcywgdW5pdCB0ZXN0KS4KCjIwMDktMDgtMDYgMTk6MjY6MjEgKzAyMDAgIHJpYyA8Y3N4bmp1IGF0IHNvZ291LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGF2b2lkIGJ1ZmZlciBsZWFrIG9uIGJhZCBzZXFudW0KCSAgRml4ZXMgIzU5MDc5NwoKMjAwOS0wNy0yOCAxODoxODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFsbG93IGZvciBOVUxMIGNhcHMgb24gYnVmZmVycwoJICBBZGQgdGhlIE5VTEwgY2FwcyBjaGVjayB3aGVyZSBpdCBtYXR0ZXJzIGFuZCBhbHNvIGNvdmVyIGFub3RoZXIgY2FzZSBvZgoJICBwb3RlbnRpYWwgTlVMTCBjYXBzLgoJICBGaXhlcyAjNTkwMDMwCgoyMDA5LTA3LTI4IDExOjU5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBJbmNvbWluZyBidWZmZXJzIGRvIG5vdCBhbHdheXMgaGF2ZSBjYXBzCgoyMDA5LTA3LTI3IDE1OjQ2OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBkb2luZyBsaXAtc3luYyBpbiBCWUUKCSAgV2hlbiB3ZSBnZXQgYSBCWUUgcGFja2V0LCBkb24ndCBkbyBsaXAtc3luYyB3aXRoIHRoZSBTUiBpbnNpZGUgYmVjYXVzZSBzb21lCgkgIHNlbmRlcnMgaGF2ZSB0cm91YmxlIGNvbnN0cnVjdGluZyB2YWxpZCBTUiBwYWNrZXRzIGFmdGVyIEJZRS4KCjIwMDktMDctMjcgMTM6MTc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgZG8gbGlwLXN5bmMgYWZ0ZXIgYSBCWUUKCSAgQWZ0ZXIgYSBCWUUgcGFja2V0IGZyb20gYSBzb3VyY2UsIHN0b3AgZm9yd2FyZGluZyB0aGUgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMKCSAgdG8gcnRwYmluLiBTb21lIHNlbmRlcnMgZG9uJ3QgdXBkYXRlIHRoZWlyIFNSIHBhY2tldHMgY29ycmVjdGx5IGFmdGVyIHNlbmRpbmcgYQoJICBCWUUgYW5kIHRoZW4gd2UgYnJlYWsgbGlwLXN5bmMuIFdlIHByZWZlciB0byBsZXQgdGhlIGppdHRlcmJ1ZmZlcnMgZHJhaW4gd2l0aAoJICB0aGUgY3VycmVudCBsaXAtc3luYyBpbnN0ZWFkLgoKMjAwOS0wNy0yNyAxMjo0MzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBvbmx5IHJlY29uc2lkZXIgb25jZSBmb3IgQllFCgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBzb3VyY2VzIG9mIGEgQllFIHBhY2tldCwgZG9uJ3Qgc2lnbmFsIGEgcmVjb25zaWRlcmF0aW9uIGZvcgoJICBlYWNoIG9mIHRoZW0gYnV0IHNpZ25hbCBhZnRlciB3ZSBoYW5kbGVkIGFsbCBzb3VyY2VzLgoKMjAwOS0wNy0yMSAxNTozMzo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGcmVlIGNvbmZsaWN0aW5nIGFkZHJlc3NlcyBvbiBmaW5hbGl6ZQoKMjAwOS0wNy0wMSAxMjo1NTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBiaW46IHVzZSBuZXcgbWV0aG9kIGZvciBuZXRhZGRyZXNzIHRvIHN0cmluZwoKMjAwOS0wNi0yOSAxODo0ODozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBkbyBiZXR0ZXIgY2xlYW51cCBvZiB0aGUgc3JjIGdob3N0cGFkcwoJICBDb25uZWN0IHRvIHRoZSBwYWQtcmVtb3ZlZCBzaWduYWwgb2YgdGhlIHB0ZGVtdXggZWxlbWVudHMgc28gdGhhdCB3ZSByZW1vdmUgdGhlCgkgIGdob3N0cGFkcyBmb3IgdGhlbS4gRml4ZXMgY2xlYW51cCB3aGVuIGdvaW5nIHRvIE5VTEwgYXMgd2VsbCBhcyB3aGVuIHJlbGVhc2luZwoJICB0aGUgc2lua3BhZHMuCgkgIEZpeGVzICM1NjE3NTIKCjIwMDktMDUtMjggMTk6MDg6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBhIGNvbW1lbnQKCjIwMDktMDYtMjkgMTY6Mzc6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0yOSAxNjoyMTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkgdGhhdCB0YWtlcyBHc3RTdHJ1Y3R1cmUKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMDIgMTc6NDY6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgIHJ0cGJpbjogcmVtb3ZlZCBvbGQgZ3N0cnRwY2xpZW50CgoyMDA5LTA2LTE5IDE5OjA5OjE5ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvLnN1YmFzaWMgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJICBydHBiaW46IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdAoJICBBZGQgc3VwcG9ydCBmb3Igc2VuZGluZyBidWZmZXItbGlzdHMuCgkgIEFkZCB1bml0IHRlc3QgZm9yIHRlc3RpbmcgdGhhdCB0aGUgYnVmZmVyLWxpc3QgcGFzc2VkIHRocm91Z2ggcnRwYmluLgoJICBmaXhlcyAjNTg1ODM5CgoyMDA5LTA2LTE5IDE2OjIxOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBNYWtlIGJ1aWxkIHdpdGhvdXQgd2FybmluZ3Mgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCjIwMDktMDUtMjggMTc6Mzc6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFRyYW5zZm9ybSB0aGUgcmlnaHQgc2Vzc2lvbiBzZGVzIG1lc3NhZ2UKCSAgRml4ZXMgIzU4NDE2NQoKMjAwOS0wNS0yOCAxNzozMzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIEFkZCBzc3JjIHRvIGFwcGxpY2F0aW9uL3gtcnRwLXNvdXJjZS1zZGVzIHN0cnVjdHVyZQoKMjAwOS0wNS0yNyAxMTowMzoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogdGhlIG5ldHdvcmsgYWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyCgkgIEJyaW5nIHRoZSBuZXR3b3JrIGFkZHJlc3MgaW4gbmV0b3drciBieXRlIG9yZGVyIHRvIHRoZSBob3N0IG9yZGVyLgoKMjAwOS0wNS0yNiAxNTo0MDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGJ5dGVzd2FwIHRoZSBwb3J0IGZyb20gR3N0TmV0QWRkcmVzcwoJICBTaW5jZSB0aGUgcG9ydCBpbiBHc3ROZXRBZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIgd2UgbWlnaHQgbmVlZCB0byBieXRlc3dhcCBpdAoJICBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBzb3VyY2Ugc3RhdGlzdGljcy4KCjIwMDktMDUtMjUgMTM6NDY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW1vdmUgcHRkZW11eCBnaG9zdHBhZHMKCjIwMDktMDUtMjUgMTM6MzM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCByZWNlaXZlIHJ0cGJpbiB1bml0IHRlc3QKCjIwMDktMDUtMjIgMTY6NDE6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgdG8gbmV3IHNpZ25hbCB0byByZW1vdmUgU1NSQyBwYWRzCgoyMDA5LTA1LTIyIDE2OjM1OjIwICswMjAwICBBbGkgU2FiaWwgPGFsaS5zYWJpbCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHNzcmNkZW11eDogZW1pdCBzaWduYWwgd2hlbiBwYWRzIGFyZSByZW1vdmVkCgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIGNsZWFyIGFuIFNTUkMgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgcmVtb3ZlZCBzc3JjLgoJICBTZWUgIzU1NDgzOQoKMjAwOS0wNS0yMiAxNTo0NToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBvdXIgZ2hvc3RwYWRzIGluc3RlYWQgb2YgaXRzIHRhcmdldAoJICBTaW5jZSB3ZSBrZWVwIGEgcmVmZXJlbmNlIHRvIG91ciBnaG9zdHBhZHMsIHdlIGNhbiB1c2UgdGhlbSB0byB0cmFjayBzZXNzaW9ucy4KCSAgVGhpcyBhdm9pZCB1cyBoYXZpbmcgdG8gbWVzcyB3aXRoIHRoZSB0YXJnZXQgb2YgdGhlIGdob3N0cGFkLgoKMjAwOS0wNS0yMiAxNTozNzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogbW9yZSBydHBiaW4gY2hlY2tzCgoyMDA5LTA1LTIyIDE1OjM2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZG9uJ3Qgd2FybiB3aGVuIGdldHRpbmcgcmVxdWVzdCBwYWRzIHR3aWNlCgkgIEFsbG93IGdldHRpbmcgdGhlIHJlcXVlc3QgcGFkcyBtdWx0aXBsZSB0aW1lcywganVzdCByZXR1cm4gdGhlIHByZXZpb3VzbHkKCSAgY3JlYXRlZCBwYWRzLgoKMjAwOS0wNS0yMiAxMzo0NzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFkZCBSVFAgYW5kIFJUQ1Agc291cmNlIGFkZHJlc3MKCSAgQWRkIHRoZSBSVFAgYW5kIFJUQ1Agc2VuZGVyIGFkZHJlc3NlcyBpbiB0aGUgc3RhdHMgc3RydWN0dXJlLgoKMjAwOS0wNS0yMiAxMzo0NToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmV1c2Ugc291cmNlIGNvZGUgZm9yIFNERVMKCSAgUmV1c2UgdGhlIFJUUFNvdXJjZSBvYmplY3QgcHJvcGVydHkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlLgoKMjAwOS0wNS0yMiAxMzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIG1vcmUgcnRwYmluIHRlc3RzCgoyMDA5LTA1LTIyIDEyOjIzOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgdGhlIGJlZ2lubmluZ3Mgb2YgYW4gcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgc29tZSBtb3JlIHN0dWZmIHRvIC5naXRpZ25vcmUKCjIwMDktMDUtMjIgMTI6MjA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBzZXQgdGFyZ2V0IHN0YXRlIG9uIG5ldyBlbGVtZW50cwoJICBTZXQgdGhlIHN0YXRlIG9uIG5ld2x5IGFkZGVkIGVsZW1lbnRzIHRvIHRoZSBzdGF0ZSBvZiB0aGUgcGFyZW50LgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvIGFuZCBkbyBzb21lIGNsZWFudXBzCgoyMDA5LTA1LTIyIDExOjU5OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdW5yZWYgcmVxdWVzdHMgcGFkcyBhZnRlciByZWxlYXNpbmcKCjIwMDktMDUtMjIgMDE6NDM6NTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgdGhlIHN0cmVhbXMKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTY6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEtlZXAgamIgc2lnbmFscyBoYW5kbGVyCgkgIEtlZXAgdGhlIHNpZ25hbCBoYW5kbGVycyBzbyB0aGV5IGNhbiBiZSBkaXNjb25uZWN0ZWQgYXQgcmVsZWFzZSB0aW1lCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjEyOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIHRoZSByaWdodCBsb2NrIGZvciB0aGUgc2Vzc2lvbnMKCSAgVXNlIHRoZSByaWdodCBsb2NrIHdoZW4gaXRlcmF0aW5nIHRoZSBzZXNzaW9ucy4KCjIwMDktMDUtMjIgMDE6MDM6NTUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZyZWUgc2Vzc2lvbiBpZiByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkCgkgIEZyZWUgdGhlIHNlc3Npb24gd2hlbiBhbGwgdGhlIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQuCgkgIERvbid0IG1lc3Mgd2l0aCB0aGUgc2Vzc2lvbiBsaXN0IGluIGZyZWVfc2Vzc2lvbiBhcyBpdCBpcyBjYWxsZWQgZnJvbSBhIGZvcmVhY2gKCSAgb24gdGhhdCBsaXN0LgoJICBTZXQgdGhlIHN0YXRlIG9mIHRoZSB1cHN0cmVhbSBlbGVtZW50IHRvIE5VTEwgZmlyc3QuCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjUxOjUzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsYXNpbmcgb2YgdGhlIHJ0cCByZWN2IHBhZAoKMjAwOS0wNS0yMiAwMDo0NDo1MSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydHAgc2VuZCBwYWRzCgoyMDA5LTA1LTIyIDAwOjM0OjM2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzZSBvZiB0aGUgcmVjdiBydGNwIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDoxNjoxOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydGNwIHNyYyBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMDUgMTY6NDg6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBkcm9wIHVuZXhwZWN0ZWQgUlRDUCBwYWNrZXRzCgkgIFdlIHVzdWFsbHkgb25seSBnZXQgU1IgcGFja2V0cyBpbiBvdXIgY2hhaW4gZnVuY3Rpb24gYnV0IGlmIGFuIGludmFsaWQgcGFja2V0CgkgIGNvbnRhaW5zIHRoZSBTUiBwYWNrZXQgYWZ0ZXIgdGhlIFJSIHBhY2tldCwgd2UgbXVzdCBub3QgZmFpbCBidXQgc2ltcGx5IGlnbm9yZQoJICB0aGUgbWFsZm9ybWVkIHBhY2tldC4KCSAgRml4ZXMgIzU4MTM3NQoKMjAwOS0wNC0yNyAxMTowOTowOCArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IG1ha2UgV0FSTklORyBpbnRvIExPRwoJICBTaW5jZSBuZWl0aGVyIHJ0cG1hbmFnZXIgbm9yIGFueSBvZiB0aGUgcGF5bG9hZGVycyBwcm9wZXJseSBpbXBsZW1lbnQKCSAgcGFkIGFsbG9jYXRpb24sIHRoZXJlIGlzIG5vIHdheSBmb3IgdGhlIHJ0cG1hbmFnZXIgdG8gaW5mb3JtIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgb2YgdGhlIG5ldyBTU1JDIGlmIHRoZXJlIGlzIGFuIFNTUkMgY29sbGlzaW9uLiBTbyB0aGUgd2FybmluZyBpcyBlbWl0dGVkIGFsbCB0aGUKCSAgdGltZSBhbmQgaXQgaXMgY29uZnVzaW5nLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTI3IDExOjA2OjAxICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbm90aWZ5IHdoZW4gU1NSQyBjaGFuZ2VzCgkgIEVtaXQgYSBnX29iamVjdF9ub3RpZnkgd2hlbiB0aGUgU1NSYyBjaGFuZ2VzIGJlY2F1c2Ugb2YgYSBjb2xsaXNpb24uCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMTcgMTY6MTY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGpvaW4gdGhlIFJUQ1AgdGhyZWFkCgkgIEF2b2lkIGEgY2FzZSB3aGVyZSBhIGpvaW5hYmxlIHRocmVhZCB3b3VsZCBiZSBsZWZ0IHVuam9pbmVkLCB3aGljaCBsZWFrZWQgdGhlCgkgIHRocmVhZCBzdHJ1Y3R1cmUuCgkgIEZpeGVzICM1NzczMTguCgoyMDA5LTA0LTE1IDE4OjE0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHJldmVudCBvdmVyZmxvdyBpbiBFT1MgZXN0aW1hdGlvbgoJICBVc2UgYSBndWludDY0IGluc3RlYWQgb2YgYSBndWludCB0byBob2xkIGEgNjRiaXQgdmFsdWUgdG8gcHJldmVudCBjb21wbGV0ZWx5CgkgIGJvZ3VlcyBFT1MgZXN0aW1hdGlvbiB2YWx1ZXMgZHVlIHRvIG92ZXJmbG93cy4KCjIwMDktMDQtMTUgMTc6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogd2Ugc2hvdWxkIG5vdCBwcm92aWRlIGEgY2xvY2sKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBwcm92aWRlIGEgY2xvY2suCgoyMDA5LTA0LTE1IDE3OjI4OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW9yZSBlc3RpbWF0ZWQgRU9TIGZpeGVzCgkgIERvIG1vcmUgYWNjdXJhdGUgRU9TIGVzdGltYXRlIGFuZCBndWFyZCBhZ2FpbnN0IGJhY2t3YXJkIHRpbWVzdGFtcHMuCgoyMDA5LTA0LTE1IDE3OjI1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIGJlZm9yZSBwdXNoaW5nIEVPUwoJICBNYWtlIHN1cmUgd2UgcmVsZWFzZSB0aGUgaml0dGVyYnVmZmVyIGxvY2sgYmVmb3JlIHdlIHN0YXJ0IHB1c2hpbmcgb3V0IGRhdGEKCSAgYmVjYXVzZSBlbHNlIHdlIG1pZ2h0IGRlYWRsb2NrLgoKMjAwOS0wMy0yNyAxNzo0NDo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IGFkZCBvbl9ucHRfc3RvcCBzaWduYWwKCSAgQWRkIHRoZSBvbl9ucHRfc3RvcCBzaWduYWwgdG8gcnRwYmluIGFuZCBydHBqaXR0ZXJidWZmZXIgdG8gbm90aWZ5IHRoZQoJICBhcHBsaWNhdGlvbiB0aGF0IHRoZSBOUFQgc3RvcCBwb3NpdGlvbiBoYXMgYmVlbiByZWFjaGVkLgoKMjAwOS0wMy0xMyAxNTo1OTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCByZXR1cm4gRkFMU0Ugb24gc2VlayBldmVudHMKCSAgU2lsZW50bHkgaWdub3JlIHRoZSBzZWVrIGV2ZW50IGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFLgoKMjAwOS0wMi0yNiAxMzoxMDoyOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBiaW46IERvbid0IGZvcndhcmQgcmV2YyBldmVudHMgdG8gc2VuZGVyCgkgIERvbid0IHNlbmQgZXZlbnRzIGZyb20gdGhlIHJlY2VpdmVyIHRvIHRoZSBzZW5kZXIgc2lkZS4KCSAgRml4ZXMgIzU3MjkwMC4KCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDEtMjMgMTI6MTM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBTZW5kIEJZRSBwYWNrZXRzIGltbWVkaWF0bHkgZm9yIHNtYWxsIHNlc3Npb25zCgkgIFdoZW4gdGhlIG51bWJlciBvZiBwYXJ0aWNpcGFudHMgaXMgbGVzcyB0aGFuIDUwLCB0aGUgUkZDIGFsbG93cyBmb3Igc2VuZGluZyB0aGUKCSAgQllFIHBhY2tldCBpbW1lZGlhdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhlIHJlZ3VsYXIgQllFIHRpbWVvdXQuCgkgIEZpeGVzICM1Njc4MjguCgoyMDA5LTAxLTIyIDEzOjMzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFVubG9jayB0aGUgaml0dGVyYnVmZmVyIGJlZm9yZSBwdXNoaW5nIG91dCB0aGUgcGFja2V0LWxvc3QgZXZlbnRzLiBNb3ZlIHNvbWUgY29kZSBiZWZvcmUgd2UgZG8gdGhlIHVubG9jayB0byBtYWtlIHRoZSBqaXR0ZXJidWZmZXIgc3RhdGUgY29uc2lzdGVudCB3aGlsZSB3ZSBhcmUgdW5sb2NrZWQuCgoyMDA5LTAxLTAyIDE3OjQwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZSBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRjYXBzX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlCgkgIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgoyMDA5LTAxLTAyIDE2OjUwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCjIwMDgtMTItMjkgMTU6NDk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgIFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25naXVyZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgRml4ZXMgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTU6MjE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4gdGhlIFNTUkMgYWN0dWFsbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuCgkgIHRoZSBTU1JDIGFjdHVhbGx5IGNoYW5nZWQuIFNlZSAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNDoyMTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS4qOiBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwgYXNzdW1lIHRoZSBjbG9jay1yYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsCgkgIGFzc3VtZSB0aGUgY2xvY2stcmF0ZSBjb3JyZXNwb25kcyB0byB0aGUgZmlyc3QgcGF5bG9hZCB0eXBlIGZvdW5kIGluIHRoZQoJICBSVFAgcGFja2V0cy4gRml4ZXMgIzU2NTUwOS4KCjIwMDgtMTItMjMgMTE6Mzk6NTkgKzAwMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUgdGltZS4gIFRpbWVzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXQgYXQgbWluZCBkb3QgYmU+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlCgkgIHRpbWUuICBUaW1lc3RhbXBzIGNhbiBvbmx5IGdvIGZvcndhcmQgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyCgkgIHNpZGUsIGNhbiBvbmx5IGdvIGJhY2sgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyIHNpZGUsIGFuZCByZW1haW4gdGhlCgkgIHNhbWUgaWYgdGhleSByZW1haW4gdGhlIHNhbWUgYXQgdGhlIHNlbmRlciBzaWRlLiBGaXhlcyAjNTY1MzE5LgoKMjAwOC0xMS0yNiAxMjo0MDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmIHRvIGl0IHdoZW4gYSBzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSk6CgkgIE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZgoJICB0byBpdCB3aGVuIGEgc2Vzc2lvbiBjbGVhbnVwIG9jY3VycyB3aGVuIHdlIGFyZSBlbWl0aW5nIGEgc2lnbmFsLgoJICBFbWl0IHRoZSBvbl9uZXdfc3NyYyBzaWduYWwgZm9yIHRoZSBDU1JDLCBub3QgdGhlIFNTUkMuCgkgIEZpeGVzICM1NjIzMTkuCgoyMDA4LTExLTI2IDEyOjAyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApOgoJICBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBGaXhlcyAjNTYyMzEyLgoKMjAwOC0xMS0yNiAxMTo0NDozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4gdGhlIG1ldGhvZCBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbgoJICB0aGUgbWV0aG9kIGNhbGwuCgkgIEFkZCBzaWduYWwgdG8gcmVzZXQgc3luYyBwYXJhbWV0ZXJzLgoJICBBdm9pZCBwYXJzaW5nIHRoZSBjYXBzIHRvIGdldCBhIGNsb2NrX2Jhc2UsIHdlIGdldCB0aGlzIGZyb20gdGhlIHN5bmMKCSAgc2lnbmFsIG5vdy4KCjIwMDgtMTEtMjUgMTU6MTI6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEZpeCBldmVudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBldmVudCBsZWFrLgoKMjAwOC0xMS0yMiAxNTozMTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgoyMDA4LTExLTIyIDE1OjI0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjb3B5X3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgQWRkIHByb3BlcnR5IHRvIHJldHVybiBhIEdWYWx1ZUFycmF5IG9mIGFsbCBrbm93biBSVFBTb3VyY2VzIGluIHRoZQoJICBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfY3JlYXRlX3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBSZW1vdmUgcHJvcGVydGllcyB0byBzZXQgdGhlIHZhcmlvdXMgU0RFUyBpdGVtcywgYW4gYXBwbGljYXRpb24gaXMgbmV2ZXIKCSAgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBSVFBTb3VyY2UgZGF0YS4KCSAgQ2hhbmdlIHRoZSBTREVTIGdldHRlciBwcm9wZXJ0aWVzIHRvIG9uZSBTREVTIHByb3BlcnR5IHRoYXQgcmV0dXJucyBhbGwKCSAgU0RFUyBpdGVtcyBpbiBhIEdzdFN0cnVjdHVyZS4KCjIwMDgtMTEtMjIgMTM6MTc6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoKMjAwOC0xMS0yMSAxNjoxNzoyMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgoyMDA4LTExLTIwIDE4OjQxOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnZXRfY3VycmVudF90aW1lcyksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApOgoJICBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBJbXByb3ZlIHRoZSB0aW1lIGZ1bmN0aW9uIHRvIHByb3ZpZGUgbW9yZSBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1hcmsgdGhlIGludGVybmFsIHNvdXJjZSB3aXRoIGEgZmxhZy4KCSAgVXNlIHJ1bm5pbmdfdGltZSBpbnN0ZWFkIG9mIHRoZSBtb3JlIHVzZWxlc3MgdGltZXN0YW1wLgoJICBWYWxpZGF0ZSBhIHNvdXJjZSB3aGVuIGEgdmFsaWQgU0RFUyBoYXMgYmVlbiByZWNlaXZlZC4KCSAgUGFzcyB0aGUgY3VycmVudCBzeXN0ZW0gdGltZSB3aGVuIHByb2Nlc3NpbmcgU1IgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9jcmVhdGVfc3RhdHMpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHNvdXJjZSBzdGF0cy4KCSAgTWFyayBwYXJhbXMgYXMgU1RBVElDX1NUUklOR1MuCgkgIENhbGN1bGF0ZSB0aGUgYml0cmF0ZSBhdCB0aGUgc2VuZGVyIFNTUkMuCgkgIEF2b2lkIG5lZ2F0aXZlIHZhbHVlcyBpbiB0aGUgcm91bmQgdHJpcCB0aW1lIGNhbGN1bGF0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVcGRhdGUgc29tZSBkb2NzIGFuZCBjaGFuZ2Ugc29tZSB2YXJpYWJsZSBuYW1lIHRvIG1vcmUgY2xvc2VseSByZWZsZWN0CgkgIHdoYXQgaXQgY29udGFpbnMuCgoyMDA4LTExLTIwIDA4OjE5OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCk6CgkgIEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQKCSAgdmFyaWFibGUuCgoyMDA4LTExLTE5IDE2OjQ4OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpOgoJICBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoKMjAwOC0xMS0xOSAwOTowNjoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jIG5vdGlmaWNhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLCAoZnJlZV9zdHJlYW0pLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYwoJICBub3RpZmljYXRpb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW50ZXJuYWxfbGlua3MpLCAoY3JlYXRlX3J0Y3Bfc2luayksCgkgIChyZW1vdmVfcnRjcF9zaW5rKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX3J0Y3BfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2VuZCBTUiBwYWNrZXRzIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIENoZWNrIGlmIHRoZSBTUiB0aW1lc3RhbXBzIGFyZSB2YWxpZCBieSBjb21wYXJpbmcgdGhlbSB0byB0aGUgUlRQCgkgIHRpbWVzdGFtcHMuCgkgIFNpZ25hbCB0aGUgU1IgcGFja2V0IGFuZCB0aGUgdGltaW5nIGluZm9ybWF0aW9uIHRvIGxpc3RlbmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgc2VlbiBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIGZpbHRlciBvdXQKCSAgaW52YWxpZCBTUiBwYWNrZXRzLgoKMjAwOC0xMS0xNyAxOTo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkCgkgIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcyBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTE3IDE1OjE3OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlIHZhbHVlIGZyb20gdGhlIGppLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZQoJICB2YWx1ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIFBhc3MgdGhlIGNsb2NrLXJhdGUgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQWxzbyBwYXNzIHRoZSBjbG9jay1yYXRlIGFsb25nIHdpdGggdGhlIHJ0cCB0aW1lc3RhbXAgd2hlbiBnZXR0aW5nIHRoZQoJICBzeW5jIHBhcmFtZXRlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgY2xvY2stcmF0ZSBjaGFuZ2VzIGFuZCByZXR1cm4gdGhlIGNsb2NrLXJhdGUgdG9nZXRoZXIgd2l0aAoJICB0aGUgcnRwIHRpbWVzdGFtcHMgdXNlZCBmb3Igc3luYy4KCSAgRG9uJ3QgdHJ5IHRvIGNvbnN0cnVjdCB0aW1lc3RhbXBzIHdoZW4gd2UgaGF2ZSBubyBiYXNlX3RpbWUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIFJlcXVlc3QgYSBuZXcgY2xvY2stcmF0ZSB3aGVuIHRoZSBwYXlsb2FkIHR5cGUgY2hhbmdlcy4KCSAgUmVzZXQgdGhlIGppdHRlciBjYWxjdWxhdGlvbiB3aGVuIHRoZSBjbG9jay1yYXRlIGNoYW5nZXMuCgoyMDA4LTExLTEzIDE1OjQ4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwOC0xMS0xMCAxNToyNjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2Ugb24gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2UKCSAgb24gdGhlIGNhcHMuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0xNiAxMzowNTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0IHNlcW51bSBkaXNjby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dAoJICBzZXFudW0gZGlzY29udGludWl0aWVzLgoJICBJbXByb3ZlIGdhcCBkZXRlY3Rpb24gYW5kIHJlY292ZXJ5LCByZXNldCBhbmQgZmx1c2ggdGhlIGppdHRlcmJ1ZmZlciBvbgoJICBzZXFudW0gcmVzdGFydC4gRml4ZXMgIzU1NjUyMC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIEZpeCB3cm9uZyBHX0xJS0VMWS4KCjIwMDgtMTAtMTYgMDk6NTE6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgVFJVRS4KCjIwMDgtMTAtMDcgMTg6NTQ6NDEgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9pbnRlcm5hbF9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBBZGQgcHJvcGVydHkgdG8gYWNjZXNzIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNoZWNrX2NvbGxpc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSBhbiBSVFBTb3VyY2Ugb2JqZWN0IGJ5IFNTUkMuCgkgIFNlZSAjNTU1Mzk2LgoKMjAwOC0xMC0wNyAxMTozMzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfcGFkKSwKCSAgKGZyZWVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwgKHJlbW92ZV9yZWN2X3J0cCksCgkgIChyZW1vdmVfcmVjdl9ydGNwKSwgKHJlbW92ZV9zZW5kX3J0cCksIChyZW1vdmVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBTdGFydCBpbXBsZW1lbnRpbmcgcmVsZWFzaW5nIHBhZHMgb2YgZ3N0cnRwYmluLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJlbW92ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3Bfc2luayksIChyZW1vdmVfc2VuZF9ydHBfc2luayksCgkgIChyZW1vdmVfc2VuZF9ydGNwX3NyYyksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBJbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgaW4gZ3N0cnRwc2Vzc2lvbi4KCjIwMDgtMTAtMDcgMTA6MDI6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZSBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2Fwcyk6CgkgIE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUKCSAgc3RyZWFtcy4KCjIwMDgtMDktMzAgMTU6MDg6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdCB0aGUgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fc3NyY19hY3RpdmUpLCAob25fc3NyY19zZGVzKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAob25fc2VuZGVyX3RpbWVvdXQpOgoJICBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQKCSAgdGhlIHNpZ25hbHMuCgoyMDA4LTA5LTIzIDE4OjEzOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgRml4IHNvbWUgZG9jcy4KCjIwMDgtMDktMTcgMTM6NTk6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCjIwMDgtMDktMTMgMDE6Mzc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQgc2VlbiBhbiBTUiBwYWNrZXQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgIERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0CgkgIHNlZW4gYW4gU1IgcGFja2V0LiBBdm9pZHMgbGFyZ2UgdHMtb2Zmc2V0cyBpbiBzb21lIGNhc2VzLgoKMjAwOC0wOS0wNSAxMzo1MjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIFR3ZWFrIGxpcC1zeW5jIGNvZGUsIGRvbid0IHN0b3JlIG91ciBvd24gY29weSBvZiB0aGUgdHMtb2Zmc2V0IG9mIHRoZQoJICBqaXR0ZXJidWZmZXIsIGRvbid0IGFkanVzdCBzeW5jIGlmIHRoZSBjaGFuZ2UgaXMgbGVzcyB0aGFuIDRtc2VjLgoJICBHZXQgdGhlIFJUUCB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZGlyZWN0bHkgZnJvbQoJICB0aGUgaml0dGVyYnVmZmVyIGluc3RlYWQgb2Ygb3VyIGluYWNjdXJhdGUgdmVyc2lvbiBmcm9tIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIEdfTElLRUxZIG1hY3JvcywgdXNlIGdsb2JhbCBkZWZpbmVzIGZvciBtYXggcGFja2V0IHJlb3JkZXIgYW5kCgkgIGRyb3BvdXRzLgoJICBSZXNldCB0aGUgaml0dGVyYnVmZmVyIGNsb2NrIHNrZXcgZGV0ZWN0aW9uIHdoZW4gcGFja2V0cyBzZXFudW1zIGFyZQoJICBjaGFuZ2VkIHVuZXhwZWN0ZWRseS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBHX0xJS0VMWSBtYWNyb3MuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGV4dGVuZGVkIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gcmVwb3J0IHRoZSBSVFAKCSAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGZvciBsaXAtc3luYy4KCSAgUmVtb3ZlIHNlcnZlciB0aW1lc3RhbXAgZ2FwIGRldGVjdGlvbiBjb2RlLCB0aGUgc2VydmVyIGNhbiBzb21ldGltZXMKCSAgbWFrZSBhIGh1Z2UgZ2FwIGluIHRpbWVzdGFtcHMgKHRhbGsgc3B1cnRzLC4uLikgc2VlICM1NDk3NzQuCgkgIERldGVjdCB0aW1ldGFtcCB3ZWlyZG5lc3MgaW5zdGVhZCBieSBvYnNlcnZpbmcgdGhlIHNlbmRlci9yZWNlaXZlcgoJICB0aW1lc3RhbXAgcmVsYXRpb24gYW5kIHJlc3luYyBpZiBpdCBjaGFuZ2VzIG1vcmUgdGhhbiAxIHNlY29uZC4KCSAgQWRkIG1ldGhvZCB0byByZXBvcnQgYWJvdXQgdGhlIGN1cnJlbnQgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uCgkgIHdoaWNoIGlzIG5lZWRlZCBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zZW5kZXJfdGltZW91dCksIChjaGVja19jb2xsaXNpb24pLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUsIHRoZQoJICBqaXR0ZXJidWZmZXIgY2FuIG5vdyBkbyBhbiBhY2N1cmF0ZSByZXBvcnRpbmcgYWJvdXQgdGhpcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIERlZmluZSBnbG9iYWwgbWF4LXJlb3JkZXIgYW5kIG1heC1kcm9wb3V0IGNvbnN0YW50cyBmb3IgdXNlIGluIHZhcmlvdXMKCSAgc3Vic3lzdGVtcy4KCjIwMDgtMDgtMjggMTU6MjE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIgdG8gaW5zdHJ1Y3QgdXMgdG8gc2VuZCBFT1MuIFdlCgkgIGN1cnJlbnRseSB3aWxsIEVPUyB3aGVuIHRoZSBzZXNzaW9uIGlzIGEgc2VuZGVyIGFuZCB3aGVuIHRoZSBzZW5kZXIgcGFydAoJICBnb2VzIEVPUy4gVGhpcyBpcyBub3QgZW50aXJlbHkgY29ycmVjdCBiZWhhdmlvdXIgYmVjYXVzZSB0aGUgc2Vzc2lvbgoJICBjb3VsZCBzdGlsbCBwYXJ0aWNpcGF0ZSBhcyBhIHJlY2VpdmVyLgoJICBGaXhlcyAjNTQ5NDA5LgoKMjAwOC0wOC0xMyAxNDozMTowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlCgkgIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgRG9uJ3QgdHJ5IHRvIGFkanVzdCB0aGUgdHMtb2Zmc2V0IHdoZW4gaXQncyB0b28gYmlnICg+IDNzZWNvbmRzKQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZXRfc3NyYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kIHRvIHNldCBzZXNzaW9uIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKSwgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkZWQgZGVidWdnaW5nIGZvciB0aGUgY29sbGlzaW9uIGNoZWNrcy4KCSAgQWRkIG1ldGhvZCB0byBjaGFuZ2UgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgUmVzZXQgdGhlIGNsb2NrIGJhc2Ugd2hlbiB3ZSBkZXRlY3QgbGFyZ2UganVtcHMgaW4gdGhlIHNlcW51bXMuCgoyMDA4LTA4LTExIDA3OjIwOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgIFVzZSAiLSIgaW5zdGVhZCBvZiAiXyIgaW4gcHJvcGVydHkgbmFtZXMuIENhbiB3ZSBjYWxsIHRoZW0ganVzdAoJICAiZGV2aWNlIiBsaWtlIGV2ZXJ5d2hlcmUgZWxzZT8KCjIwMDgtMDgtMDUgMDk6NDI6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlIGppdHRlcmJ1ZmZlciBiZWNhdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZQoJICBqaXR0ZXJidWZmZXIgYmVjYXVzZSB0aGUgaml0dGVyYnVmZmVyIHdpbGwgbW9kaWZ5IHRoZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgbWV0aG9kIGNvbW1lbnQgYWJvdXQgcmVxdWlyaW5nIHdyaXRhYmxlIG1ldGFkYXRhIG9uIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApOgoJICBNYWtlIHRoZSBSVENQIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWNhdXNlIHdlIHdhbnQgdG8gbW9kaWZ5IHRoZQoJICBtZXRhZGF0YS4KCSAgRml4ZXMgIzU0NjMxMi4KCjIwMDgtMDgtMDUgMDk6MDA6NTAgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoKMjAwOC0wOC0wNSAwODo1ODoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKToKCSAgUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBGaXhlcyAjNTQzNDgwLgoKMjAwOC0wNy0wMyAxNDo0NDo1MSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgoyMDA4LTA3LTAzIDE0OjMxOjEwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHB1c2hfcGFja2V0KSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgoyMDA4LTA3LTAzIDEzOjQ3OjE5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoKMjAwOC0wNi0xNiAwNzozMDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTYgMDc6MDM6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoKMjAwOC0wNi0xMiAxNDo0OToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoJICBBbHNvIGZpeGluZyB1cCB0aGUgQ2hhbmdlTG9nIG9yZGVyLgoKMjAwOC0wNi0wNiAxMzowMTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5IHNodXRkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKToKCSAgRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseQoJICBzaHV0ZG93bi4KCjIwMDgtMDUtMjcgMTY6NDg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgTWFrZSBzdXJlIG5vIHN0YXRlIGNoYW5nZXMgY2FuIGhhcHBlbiB3aGVuIHdlIHJlY29uZmlndXJlLgoKMjAwOC0wNS0yNiAxMDowOToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLCB3ZSBuZWVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsCgkgIHdlIG5lZWQgdG8gZG8gdGhpcyBzbyB0aGF0IHdlIGNhbiBiZXR0ZXIgaGFuZGxlIGEgcmVzdGFydGVkIHNvdXJjZS4KCSAgRml4IHNvbWUgY29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBUd2VhayB0aGUgc2tldyByZXN5bmMgZGlmZi4KCSAgVXNlIG91ciB3b3JraW5nIHNlcW51bSBjb21wYXJlIGZ1bmN0aW9uIGluIC1iYXNlLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBpbnNlcnQgY29kZSB0byBtYWtlIGl0IGNsZWFyZXIgYW5kIG1vcmUKCSAgcGVyZm9ybWFudCBieSBvbmx5IHJldHJpZXZpbmcgdGhlIHNlcW51bSBvZiB0aGUgaW5wdXQgYnVmZmVyIG9uY2UgYW5kIGJ5CgkgIGFkZGluZyBzb21lIEdfTElLRUxZIGNvbXBpbGVyIGhpbnRzLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBmb3IgZHVwbGljYXRlIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgRml4IGEgY29tbWVudCwgd2UgZG9uJ3QgZG8gc2tldyBjb3JyZWN0aW9uIGhlcmUuLgoKMjAwOC0wNS0yNiAxMDowMDoyNCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuIHRoZXkgYXJlIGNoYW5nZWQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KToKCSAgUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbgoJICB0aGV5IGFyZSBjaGFuZ2VkIG9uIHJ0cGJpbi4KCjIwMDgtMDUtMjYgMDk6NTc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IChzd2l0Y2hfdGltZXIpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKHNlbmRfdGFnX2V2ZW50KToKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgoyMDA4LTA1LTE2IDE5OjU2OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvTWFrZWZpbGUuYW06IERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBsaWJnc3R2aWRlbyB0byB0aGUgbGluay4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgRml4IGxpbmsgb3JkZXIsIGFuZCBtb3ZlIExJQlMgdGhpbmdzIHRvIF9MSUJTCgoyMDA4LTA1LTE0IDIxOjAyOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbiBlcnJvciBhbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuCgkgIGVycm9yIGFuZCBzdG9wcGluZy4gVGhpcyBpcyBhIHBlcmZlY3RseSByZWNvdmVyYWJsZSBldmVudCBhbmQgd2UgZG9uJ3QKCSAgZm9yY2UgcGVvcGxlIHRvIHVzZSBhbiBydHBiaW4gdG8gZmlsdGVyIG91dCBiYWQgcGFja2V0cyBmaXJzdC4KCjIwMDgtMDUtMTMgMDk6MDY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoKMjAwOC0wNS0xMiAxODo0Mzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYSBsb3dlciB0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEKCSAgbG93ZXIgdGltZXN0YW1wIHRoYW4gdGhlIGN1cnJlbnQgcGFja2V0LgoKMjAwOC0wNS0xMiAxNDoyODowOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0byBwcmV2ZW50IGEgbWVtb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8KCSAgcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0xMiAxNDoxMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA1LTA5IDA3OjQxOjU4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0wOCAwOTo0MzozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9jbG9ja19yYXRlKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCk6CgkgIFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUzMjAxMS4KCjIwMDgtMDUtMDggMDY6MjM6MzkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCjIwMDgtMDQtMjUgMTE6MzI6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgoyMDA4LTA0LTI1IDExOjIyOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEgcHJvcGVydHkgdG8gZW5hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYQoJICBwcm9wZXJ0eSB0byBlbmFiZSBpdC4gV2Ugd2lsbCBsaWtlbHkgZW5hYmxlIGl0IGJ5IGRlZmF1bHQgd2hlbiB0aGUgYmFzZQoJICBkZXBheWxvYWRlcnMgaGF2ZSBhIGRlZmF1bHQgaGFuZGxlciBmb3IgdGhlbSBzbyB0aGF0IHdlIGRvbid0IHNlbmQgdGhlc2UKCSAgZXZlbnRzIGFsbCB0aHJvdWdoIHRoZSBwaXBlbGluZSBmb3Igbm93LgoKMjAwOC0wNC0yNSAwOTozNTo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIEFkZCBzcmMgZXZlbnQgaGFuZGxlci4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgcHVzaGluZyBsb29wIHNvIHRoYXQgaXQgY2FuIHF1aWNrbHkgcmVhY3QgdG8KCSAgbG9zdCBwYWNrZXRzIGFuZCBpbnN0cnVjdCB0aGUgZGVwYXlsb2FkZXIgb2YgdGhlbS4gVGhpcyBjYW4gdGhlbiBiZSB1c2VkCgkgIHRvIGltcGxlbWVudCBlcnJvciBjb25jZWFsbWVudCBkYXRhLgoKMjAwOC0wNC0yNSAwODoyMTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UgdGhlIGRlZmF1bHRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZQoJICB0aGUgZGVmYXVsdHMgYXJlIHJlYWxseSBub3QgY29ycmVjdC4KCSAgSW1wbGVtZW50IGEgcXVlcnkgaGFuZGxlciBmb3IgdGhlIFJUQ1Agc3JjIHBhZCwgbW9zdGx5IHRvIGNvcnJlY3RseQoJICByZXBvcnQgYWJvdXQgdGhlIGxhdGVuY3kuCgoyMDA4LTA0LTI1IDA4OjE1OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgUlRQIHRpbWVzdGFtcCBhcyB0aGV5IGJvdGggYXJlIG5lZWRlZCB0byBjb25zdHJ1Y3QgdGhlIHRpbWluZyBvZgoJICBvdXRnb2luZyBwYWNrZXRzIGluIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGFyZSB0aGVyZWZvcmUgYWxzbyBuZWVkZWQgdG8KCSAgbWFuYWdlIGxpcC1zeW5jLiBUaGlzIGZpeGVzIGxpcC1zeW5jIGlmIHRoZSBmaXJzdCBSVFAgcGFja2V0cyBhcnJpdmUKCSAgd2l0aCBhIHdpbGRseSBkaWZmZXJlbnQgZ2FwLgoKMjAwOC0wNC0yMSAwODoyNjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIERvbid0IGxlYWsgcGFkcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBdm9pZCBhIGNhcHMgbGVhay4KCSAgRG9uJ3QgbGVhayByZWZjb3VudCBpbiBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBBdm9pZCBjYXBzIGxlYWtzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAocmV0dXJuX3RydWUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBGaXggc29tZSBtb3JlIGNhcHMgbGVha3MuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTE3IDA3OjMxOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLCAoZnJlZV9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX2dldF9mcmVlX3BhZF9uYW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2Fwcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBEb24ndCBsZWFrIGEgcGFkbmFtZS4KCSAgRG9uJ3QgbGVhayBjbGllbnQgc3RyZWFtcyBsaXN0LgoJICBMb2NrIHJ0cGJpbiB3aGVuIGFzc29jaWF0aW5nIHN0cmVhbXMuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTA5IDIyOjI3OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgoyMDA4LTAzLTExIDEyOjQwOjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi4qOiBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGZpbmRfYWRkX2NvbmZsaWN0aW5nX2FkZHJlc3NlcyksCgkgIChjaGVja19jb2xsaXNpb24pLCAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfbmV3X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIEZpeGVzICM1MjA2MjYuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Jlc2V0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZXRob2QgdG8gcmVzZXQgc3RhdHMuCgoyMDA4LTAzLTExIDExOjM2OjAzICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQgYmUgYmxvY2tlZCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChqb2luX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpOgoJICBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQKCSAgYmUgYmxvY2tlZCBkb3duc3RyZWFtLiBBbHNvIGF2b2lkIHNwYXduaW5nIG11bHRpcGxlIHJ0Y3AgdGhyZWFkcy4KCSAgRml4ZXMgIzUyMDg5NC4KCjIwMDgtMDMtMTEgMTA6NDM6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIEZpeGVzICM1MTkwMDUuCgoyMDA4LTAyLTIwIDA5OjMzOjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCjIwMDgtMDItMTQgMTY6MjU6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpOgoJICBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZwoJICBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgoyMDA4LTAxLTI5IDE4OjU3OjI3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwYXlsb2FkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciAgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3CgkgIHBheWxvYWQgdHlwZSBpbnN0ZWFkIG9mIGFsd2F5cyBmaXJpbmcgdGhlIHNpZ25hbC4gRml4ZXMgIzUxMjc3NC4KCjIwMDgtMDEtMjUgMTY6NTg6MDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dCB3aXRoIGEgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoY3JlYXRlX3N0cmVhbSksIChwYXlsb2FkX3R5cGVfY2hhbmdlKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQKCSAgd2l0aCBhIHNpZ25hbC4KCjIwMDgtMDEtMjUgMTY6MDA6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0IGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdAoJICBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkIHdpdGggZWFjaCBidWZmZXIgaW5zdGVhZC4gRml4ZXMgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMTU6NDk6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIFRyYWNrIHB0IG9uIGlucHV0IGJ1ZmZlcnMgYW5kIGdldCB0aGUgY2xvY2stcmF0ZSB3aGVuIGl0IGNoYW5nZXMuCgkgIElnbm9yZSBwYWNrZXRzIHdpdGggdW5rbm93biBjbG9jay1yYXRlLiBTZWUgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMDE6NDQ6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUKCSAgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgoyMDA4LTAxLTExIDE3OjAyOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQgb2YgcmV0dXJuaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkCgkgIG9mIHJldHVybmluZyBhbiBlcnJvci4gRml4ZXMgYSBUT0RPIGFzIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpLgoKMjAwOC0wMS0xMSAxNjo0NTo1NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzIGRvdCBhbGFvdWkgYXQgY29sbGFib3JhIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb2Nlc3NfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zeW5jX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X2Nsb2NrX3JhdGVfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3JlY29uc2lkZXJfY2FsbGJhY2spLCAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHNvdXJjZV9jbG9ja19yYXRlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUwODU4Ny4KCjIwMDgtMDEtMTAgMjA6NTc6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoKMjAwOC0wMS0xMCAxNDozNDozMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCjIwMDgtMDEtMDkgMTQ6Mzk6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlciBwYWQgY2FuIHJlbmVnb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIKCSAgcGFkIGNhbiByZW5lZ290aWF0ZSB0by4gRml4ZXMgIzUwNzk0MC4KCjIwMDgtMDEtMDQgMTg6NDc6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIEZpeGVzICM1MDcwMjAuCgoyMDA3LTEyLTMxIDEzOjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgoyMDA3LTEyLTEyIDE2OjU5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZ3N0X3J0cF9zc3JjX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDctMTItMTIgMTI6MTE6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBGaXggc29tZSBsZWFrcy4KCjIwMDctMTItMTAgMTg6MzY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChvbl9zc3JjX3NkZXMpOgoJICBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgVXBkYXRlIHNvbWUgY29tbWVudHMuCgoyMDA3LTEyLTEwIDE1OjM0OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zc3JjX3NkZXMpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19zZGVzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgRml4IG9iamVjdCB0eXBlIGluIHRoZSBzaWduYWwgY2FsbGJhY2tzLgoKMjAwNy0xMi0xMCAxNDowMzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aCB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksIChzZGVzX3R5cGVfdG9fbmFtZSksCgkgIChnc3RfcnRwX2Jpbl9zZXRfc2Rlc19zdHJpbmcpLCAoZ3N0X3J0cF9iaW5fZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aAoJICB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KToKCSAgRml4IFNTUkMgcHJvcGVydHkuCgoyMDA3LTEyLTEwIDExOjA4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVcGRhdGUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIFVwZGF0ZSBjb21tZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIERlZmluZSBzb21lIEdPYmplY3QgcHJvcGVydGllcyB0byBzZXQgU0RFUyBhbmQgb3RoZXIgY29uZmlndXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2ZyYWN0aW9uKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2ZyYWN0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc2Rlc19zdHJpbmcpLCAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9zZGVzKSwKCSAgKGlzX3J0Y3BfdGltZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2lnbmFsIHdoZW4gbmV3IFNERVMgaW5mb3IgaGFzIGJlZW4gZm91bmQgZm9yIGEgc291cmNlLgoJICBDcmVhdGUgcHJvcGVydGllcyBmb3IgU0RFUyBhbmQgb3RoZXIgaW5mby4KCSAgU2ltcGxpZnkgdGhlIFNERVMgQVBJLgoJICBBZGQgbWV0aG9kIGZvciBnZXR0aW5nIHRoZSBpbnRlcm5hbCBzb3VyY2Ugb2JqZWN0IG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfZmluYWxpemUpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NzcmMpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX2lzX2FzX2NzcmMpLCAocnRwX3NvdXJjZV9pc19hY3RpdmUpLAoJICAocnRwX3NvdXJjZV9pc192YWxpZGF0ZWQpLCAocnRwX3NvdXJjZV9pc19zZW5kZXIpLAoJICAocnRwX3NvdXJjZV9yZWNlaXZlZF9ieWUpLCAocnRwX3NvdXJjZV9nZXRfYnllX3JlYXNvbiksCgkgIChydHBfc291cmNlX3NldF9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NkZXMpLCAocnRwX3NvdXJjZV9nZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBHT2JqZWN0IHByb3BlcnRpZXMgZm9yIHZhcmlvdXMgdGhpbmdzLgoJICBEb24ndCBsZWFrIHRoZSBieWUgcmVhc29uLgoKMjAwNy0xMS0yMiAwOTowODoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vIG1heF9sYXRlbmN5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8KCSAgbWF4X2xhdGVuY3kgcmVxdWlyZW1lbnRzLgoKMjAwNy0xMS0wMiAyMTo0NTozOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgoyMDA3LTEwLTA5IDEwOjAxOjM5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoKMjAwNy0xMC0wOCAxNzo0Njo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmM6IChyZmJfYnVmZmVyX25ld19hbmRfYWxsb2MpOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IChyZmJfc29ja2V0X2dldF9idWZmZXIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKToKCSAgKiBnc3QvbnNmL25lczY1MDIuYzogKG5lczY1MDJfZXhlY3V0ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCjIwMDctMTAtMDggMTA6Mzk6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgV2hlbiBjbGVhcmluZyBwYXlsb2FkIG1hcHMsIGFsc28gY2xlYXIgc2Vzc2lvbnMgYW5kIHN0cmVhbXMgcGF5bG9hZAoJICBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChmaW5kX3BhZF9mb3JfcHQpOgoJICBJbXBsZW1lbnQgY2xlYXJpbmcgdGhlIHBheWxvYWQgbWFwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgRm9yd2FyZCBmbHVzaCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KToKCSAgQ29ycmVjdGx5IHJlZmNvdW50IGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGVtLgoKMjAwNy0xMC0wNSAxNzoyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QgcmVwb3J0IHRpbWUgaW5zdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLAoJICBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdAoJICByZXBvcnQgdGltZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGNsb2NrIHRpbWUgc28gdGhhdCB3ZSBkb24ndCBlbmQgdXAKCSAgcmVjb25zaWRlcmluZyBmb3JldmVyLgoKMjAwNy0xMC0wNSAxMjowNzozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MgdXMgdG8gZ3JlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cwoJICB1cyB0byBncmVhdGx5IHNpbXBsaWZ5IHRoaW5ncyB3aGVuIHRoZSB0YWlsIGVsZW1lbnQgY2hhbmdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCk6CgkgIEZvcndhcmQgRkxVU0ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIHRhaWwtY2hhbmdlZCBjYWxsYmFjayBpbiBmYXZvdXIgb2YgYSBzaW1wbGUgYm9vbGVhbiB3aGVuIHdlCgkgIGluc2VydCBhIGJ1ZmZlciBpbiB0aGUgcXVldWUuCgkgIEFkZCBtZXRob2QgdG8gcGVlayB0aGUgdGFpbCBvZiB0aGUgYnVmZmVyLgoKMjAwNy0xMC0wMiAxMDoyNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChhcHBseV9vZmZzZXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgRG9uJ3QgYWRkIHRoZSBsYXRlbmN5IHRvIHRoZSBza2V3IGNvcnJlY3RlZCB0aW1lc3RhbXAsIGxhdGVuY3kgaXMgb25seQoJICB1c2VkIHRvIHN5bmMgYWdhaW5zdCB0aGUgY2xvY2suCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgSGFuZGxlIGNhc2Ugd2hlcmUgc2VydmVyIHRpbWVzdGFtcCBnb2VzIGJhY2t3YXJkcyBvciB3aWxkbHkganVtcHMgYnkKCSAgdGVtcG9yYXJpbHkgcGF1c2luZyB0aGUgc2tldyBjb3JyZWN0aW9uLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDctMDktMjggMTQ6NTE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX2NsaWVudCk6CgkgIEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEhhbmRsZSBjYXNlcyB3aGVyZSBpbnB1dCBidWZmZXJzIGhhdmUgbm8gdGltZXN0YW1wcyBzbyB0aGF0IG5vIGNsb2NrCgkgIHNrZXcgY2FuIGJlIGNhbGN1bGF0ZWQsIGluIHRoaXMgY2FzZSBpbnRlcnBvbGxhdGUgdGltZXN0YW1wcyBiYXNlZCBvbgoJICBydHAgdGltZXN0YW1wIGFuZCBhc3N1bWUgYSAwIGNsb2NrIHNrZXcuCgoyMDA3LTA5LTI4IDExOjE3OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGFwcGx5X2xhdGVuY3kpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIFVzZSBuZXcgLWNvcmUgbWV0aG9kIGZvciBkb2luZyBhIHBlZXIgcXVlcnkuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1vdmUgaml0dGVyIGNvcnJlY3Rpb24gdG8gdGhlIGxvd2xldmVsIGppdHRlcmJ1ZmZlci4KCSAgSW5jcmVhc2UgdGhlIG1heCB3aW5kb3cgc2l6ZS4KCSAgV2hlbiBmaWxsaW5nIHRoZSB3aW5kb3csIGFscmVhZHkgc3RhcnQgZXN0aW1hdGluZyB0aGUgc2tldyB1c2luZyBhCgkgIHBhcmFib2xpYyB3ZWlnaHRpbmcgZmFjdG9yIHNvIHRoYXQgd2UgaGF2ZSBhIG11Y2ggYmV0dGVyIHN0YXJ0dXAKCSAgYmVoYXZpb3VyIHRoYXQgZ2V0cyBtb3JlIGFjY3VyYXRlIHdpdGggdGhlIG1vcmUgc2FtcGxlcyB3ZSBoYXZlLgoJICBJbmNyZWFzZSB0aGUgZGVmYXVsdCB3ZWlnaHRpbmcgZmFjdG9yIGZvciB0aGUgc3RlYWR5IHN0YXRlIHRvIGdldAoJICBzbW9vdGhlciB0aW1lc3RhbXBzLgoKMjAwNy0wOS0yNiAyMDowODoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2xlYW51cCBjcmFzaGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICBGaXggY2xlYW51cCBjcmFzaGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIER5bmFtaWNhbGx5IGFkanVzdCB0aGUgc2tldyBjYWxjdWxhdGlvbiB3aW5kb3cgc28gdGhhdCB3ZSBjYWxjdWxhdGUgaXQKCSAgb3ZlciBhIHBlcmlvZCBvZiBhcm91bmQgMiBzZWNvbmRzLgoKMjAwNy0wOS0yMCAxNDozNDo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19hY3RpdmUpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19hY3RpdmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfYWN0aXZlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgoyMDA3LTA5LTE3IDAyOjAxOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZQoJICBzc3JjIGRlbXV4ZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbnRlcm5hbF9saW5rcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEZpeCByYWNlIGluIGNyZWF0aW5nIHRoZSBSVFAgYW5kIFJUQ1AgcGFkcyB3aGVuIGEgbmV3IFNTUkMgaXMgZGV0ZWN0ZWQuCgoyMDA3LTA5LTE2IDE5OjQwOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGNvbnZlcnRfcnRwdGltZV90b19nc3R0aW1lKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVjb25zdHJ1Y3QgR1NUIHRpbWVzdGFtcCBmcm9tIFJUUCB0aW1lc3RhbXBzIGJhc2VkIG9uIG1lYXN1cmVkIGNsb2NrCgkgIHNrZXcgYW5kIHN5bmMgb2Zmc2V0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfdGFpbF9jaGFuZ2VkKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF9jbG9ja19yYXRlKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksIChydHBfaml0dGVyX2J1ZmZlcl9wZWVrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWVhc3VyZSBjbG9jayBza2V3LgoJICBBZGQgY2FsbGJhY2sgdG8gYmUgbm90ZmllZCB3aGVuIGEgbmV3IHBhY2tldCB3YXMgaW5zZXJ0ZWQgYXQgdGhlIHRhaWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGNsb2NrIHNrZXcgZGV0ZWN0aW9uLCBpdCdzIG1vdmUgdG8gdGhlIGppdHRlcmJ1ZmZlciBub3cuCgoyMDA3LTA5LTE1IDE4OjQ4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgVXNlIHRoZSByaWdodCBsb2NrIHRvIHByb3RlY3Qgb3VyIHZhcmlhYmxlcy4KCSAgRml4IHNvbWUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBvbiB0aGUgc2VuZGVyIHNpbmtwYWQgc28gdGhhdCBwYXlsb2FkZXJzIGNhbiBuZWdvdGlhdGUKCSAgdGhlIHJpZ2h0IFNTUkMuCgoyMDA3LTA5LTEyIDIxOjIzOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBWYXJpb3VzIGxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZnJlZV9zZXNzaW9uKSwKCSAgKGdldF9jbGllbnQpLCAoZnJlZV9jbGllbnQpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVmFyaW91cyBsZWFrIGZpeGVzLgoKMjAwNy0wOS0xMiAxODowNDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjYWxjX250cF9uc19iYXNlKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksIChjcmVhdGVfc2VuZF9ydHApOgoJICBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgTlRQIHRpbWVzIGluIFNSIHBhY2tldHMuCgkgIFNldCBjYXBzIG9uIG5ldyBnaG9zdHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQ2xlYW4gZGVidWcgc3RhdGVtZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25faW50ZXJuYWxfbGlua3MpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbnRwLW5zLWJhc2UgcHJvcGVydHkgdG8gY29udmVydCBydW5uaW5nX3RpbWUgdG8gTlRQIHRpbWUuCgkgIEhhbmRsZSBORVdTRUdNRU5UIGV2ZW50cyBvbiBzZW5kIGFuZCByZWN2IFJUUCBwYWRzIHNvIHRoYXQgd2UgY2FuCgkgIGNhbGN1bGF0ZSB0aGUgcnVubmluZyB0aW1lIGFuZCB0aHVzIE5UUCB0aW1lIG9mIHRoZSBwYWNrZXRzLgoJICBTaW1wbGlmeSBnZXR0aW5nIHRoZSBjdXJyZW50IE5UUCB0aW1lIHVzaW5nIHRoZSBwaXBlbGluZSBjbG9jay4KCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucy4KCSAgVXNlIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIGNhbGN1bGF0ZSB0aGUgTlRQIHRpbWUgaW5zdGVhZCBvZiB0aGUgY2xvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbi4KCSAgQ2FsY3VsYXRlIHRoZSBkaWZmIGJldHdlZW4gZGlmZmVyZW50IHN0cmVhbXMsIHRoaXMgbWlnaHQgYmUgdXNlZCBsYXRlcgoJICB0byBnZXQgdGhlIGludGVyIHN0cmVhbSBsYXRlbmN5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU2ltcGxlIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIE1ha2UgdGhlIGNsb2NrIHNrZXcgd2luZG93IGEgbGl0dGxlIGJpZ2dlci4KCSAgQXBwbHkgdGhlIGNsb2NrIHNrZXcgdG8gYWxsIGJ1ZmZlcnMsIG5vdCBqdXN0IG9uZSB3aXRoIGEgbmV3IHRpbWVzdGFtcC4KCSAgQ2FsY3VsYXRlIGFuZCBkZWJ1ZyBzZW5kZXIgY2xvY2sgZHJpZnQuCgkgIFVzZSBleHRlbmRlZCBsYXN0IHRpbWVzdGFtcCB0byBpbnRlcnBvbGxhdGUgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA5LTA0IDE1OjIzOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yICgjNDczNTYyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yCgkgICgjNDczNTYyKS4KCjIwMDctMDktMDMgMjE6MTk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGNhcHNfY2hhbmdlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBIYW5kbGUgc3luY19ydGNwIGJ1ZmZlcnMgZnJvbSB0aGUgU1NSQyBkZW11eGVyIHRvIHBlcmZvcm0gbGlwLXN5bmMuCgkgIFNldCB0aGUgZGVmYXVsdCBsYXRlbmN5IGNvcnJlY3RseS4KCSAgQWRkIHNvbWUgbW9yZSBwb2ludHMgd2hlcmUgd2UgY2FuIGdldCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBBZGQgdHMtb2Zmc2V0IHByb3BlcnR5IHRvIGNvbnRyb2wgdGltZXN0YW1waW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBGZWVkIHJ0cHNlc3Npb24gbWFuYWdlciB3aXRoIE5UUCB0aW1lIGJhc2VkIG9uIHBpcGVsaW5lIGNsb2NrIHdoZW4KCSAgaGFuZGxpbmcgUlRQIHBhY2tldHMgYW5kIFJUQ1AgdGltZW91dHMuCgkgIFBlcmZvcm0gYWxsIFJUQ1Agd2l0aCB0aGUgc3lzdGVtIGNsb2NrLgoJICBTZXQgY2FwcyBvbiBSVENQIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBbHNvIGRlbXV4IFJUQ1AgbWVzc2FnZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAoc2Vzc2lvbl9zdGFydF9ydGNwKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW1vdmUgdGhlIGdldF90aW1lIGNhbGxiYWNrLCB0aGUgR1N0cmVhbWVyIHBhcnQgd2lsbCBmZWVkIHVzIHdpdGgKCSAgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgU3BsaXQgc3luYyB0aW1pbmcgYW5kIFJUQ1AgdGltaW5nIGluZm9ybWF0aW9uLgoJICBGYWN0b3Igb3V0IGNvbW1vbiBSQiBoYW5kbGluZyBmb3IgU1IgYW5kIFJSLgoJICBTZW5kIG91dCBTUiBSVENQIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICBNb3ZlIFNSIGFuZCBSUiBwYWNrZXQgaW5mbyBnZW5lcmF0aW9uIHRvIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIGNhcHMgb24gaW5jb21taW5nIGJ1ZmZlcnMgdG8gZ2V0IHRpbWluZyBpbmZvcm1hdGlvbiB3aGVuIHRoZXkgYXJlCgkgIHRoZXJlLgoJICBDYWxjdWxhdGUgY2xvY2sgc2NldyBvZiB0aGUgcmVjZWl2ZXIgY29tcGFyZWQgdG8gdGhlIHNlbmRlciBhbmQgYWRqdXN0CgkgIHRoZSBydHAgdGltZXN0YW1wcy4KCSAgQ2FsY3VsYXRlIHRoZSByb3VuZCB0cmlwIGluIHNvdXJjZXMuCgkgIERvIFNSIGFuZCBSUiBjYWxjdWxhdGlvbnMgaW4gdGhlIHNvdXJjZS4KCjIwMDctMDgtMzEgMTU6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQgd2UgY2FuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQKCSAgd2UgY2FuIGhhbmRsZSB0aGUgcnRwIHdyYXBhcm91bmQgY29ycmVjdGx5LgoKMjAwNy0wOC0yOSAxNjo1NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbXByb3ZlIENvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW1wcm92ZSBDb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEFsc28gcGFyc2UgdGhlIHNpbmsgY2FwcyBmb3IgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIG9ubHkgcmVseWluZyBvbiB0aGUKCSAgcmVzdWx0IG9mIHRoZSBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGZldGNoIHRoZSBjbG9jayByYXRlIGZvciBwYXlsb2FkcyB3ZSBhcmUgc2VuZGluZyBvdXQgc28KCSAgdGhhdCB3ZSBjYW4gdXNlIGl0IGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOC0yOSAwMToyMjo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uKjogRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQgY2FuIGdlbmVyYXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQKCSAgY2FuIGdlbmVyYXRlIGNvcnJlY3QgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2Jhc2VfdGltZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfdGltZXN0YW1wX3N5bmMpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2RzIGZvciBzZXR0aW5nIHN5bmMgcGFyYW1ldGVycy4KCSAgU2V0IGNvcnJlY3QgUlRQIHRpbWUgaW4gU1IgcGFja2V0cyB1c2luZyB0aGUgc3luYyBwYXJhbXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVjb3JkIGxhc3QgUlRQIDwtPiBHU1QgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIHRvIGNvbnZlcnQgTlRQCgkgIHRvIFJUUCB0aW1lc3RhbXBzIGluIFNSIHBhY2tldHMuCgoyMDA3LTA4LTI4IDIwOjMwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgRklYTUUuCgkgIFJlbGVhc2UgTE9DSyB3aGVuIHBlcmZvcm1pbmcgc2Vzc2lvbiBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgIEFkZCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIFJUUCBwYWNrZXRzIHdpdGggdGhlIHNlc3Npb24gU1NSQy4KCjIwMDctMDgtMjcgMjE6MTc6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIERvbid0IHRyeSB0byBhZGQgb3VyIGxhdGVuY3kgdG8gaW52YWxpZCBwZWVyIG1heCBsYXRlbmN5IHZhbHVlcy4KCjIwMDctMDgtMjMgMjE6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURSByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUKCSAgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGb28gdHlwZXMgdGhhdAoJICBmYXJzaWdodCByZWdpc3RlcnMgKGx1Y2tpbHkgR1R5cGUgbmFtZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlKS4gU2hvdWxkCgkgIGZpbmFsbHkgZml4ICM0MzA2NjQuCgoyMDA3LTA4LTIxIDE3OjE4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaCB0aGUgYnVmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2gKCSAgdGhlIGJ1ZmZlciBhcyBmYXN0IGFzIHBvc3NpYmxlLgoJICBGaXggdHlwbyBpbiBjb21tZW50LgoKMjAwNy0wOC0yMSAxNjowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgoyMDA3LTA4LTE2IDExOjQwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBFT1MgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IEVPUyBoYW5kbGluZy4KCSAgQ29udmVydCBzb21lIERFQlVHIGludG8gV0FSTklOR3MuCgkgIFBhdXNlIHRhc2sgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspOgoJICBVc2Ugc3lzdGVtIGNsb2NrIGZvciBSVENQIHNlc3Npb24gbWFuYWdlbWVudCB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KToKCSAgUmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gZW1pdGluZyBzaWduYWxzLgoKMjAwNy0wOC0xMyAwNjoxNjo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IEluY2x1ZGUgc3RkbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgSW5jbHVkZSBzdGRsaWIuCgoyMDA3LTA4LTEwIDE3OjE2OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX25ldyksIChjb21wYXJlX3NlcW51bSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcG9wKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoKSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX251bV9wYWNrZXRzKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyCgkgIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZSBidWdzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwKCSAgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9ieWVfc3NyYyksIChzZXNzaW9uX2NsZWFudXApOgoJICBVc2UgbmV3IGppdHRlcmJ1ZmZlciBjb2RlLgoJICBFeHBvc2Ugc29tZSBuZXcgc2lnbmFscyBpbiBwcmVwYXJhdGlvbiBmb3IgaGFuZGxpbmcgRU9TLgoKMjAwNy0wNy0xOCAwNzozNTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCjIwMDctMDYtMjIgMjA6MjM6MTggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC86IEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIEZpeGVzICM0NTAxODUuCgoyMDA3LTA1LTI4IDE2OjM3OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBuYW1lLiBGaXhlcyAjNDMwNjY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lCgkgIG5hbWUuIEZpeGVzICM0MzA2NjQuCgoyMDA3LTA1LTIzIDEzOjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIEFkZCBjbGVhci1wdC1tYXAgYWN0aW9uIHNpZ25hbCB3aGVyZSBuZWVkZWQuCgoyMDA3LTA1LTE1IDEzOjI5OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgoyMDA3LTA1LTE1IDAzOjQ1OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoKMjAwNy0wNS0xNCAxNToyODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgY2xlYXItcHQtbWFwIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdCBjbG9jay1yYXRlIHRvIC0xIHRvIG1hcmsgdW5rbm93IGNsb2NrIHJhdGUuCgkgIEZpeCBmbHVzaGluZy4KCjIwMDctMDUtMTAgMTQ6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LCBnc3RfcXRkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwKCSAgZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSwgZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cywKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSwgZ3N0X3F0ZGVtdXhfbG9vcCwKCSAgcXRkZW11eF9wYXJzZV9zZWdtZW50cywgcXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgsCgkgIHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCwgcnRwX3Nlc3Npb25fZ2V0X2NuYW1lLAoJICBydHBfc2Vzc2lvbl9nZXRfbmFtZSwgcnRwX3Nlc3Npb25fZ2V0X2VtYWlsLCBydHBfc2Vzc2lvbl9nZXRfcGhvbmUsCgkgIHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiwgcnRwX3Nlc3Npb25fZ2V0X3Rvb2wsCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllLCBzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jIChydHBfc291cmNlX3Byb2Nlc3NfcnRwLAoJICBydHBfc291cmNlX3NlbmRfcnRwLCBydHBfc291cmNlX3Byb2Nlc3Nfc3IsIHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgIE1vcmUgZm9ybWF0IGFyZyBmaXhpbmcgKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmUgbGlicmFyaWVzKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgoyMDA3LTA1LTEwIDEyOjM4OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLCBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2gsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcG9wLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGb3JtYXQgYXJnIGZpeCAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KQoKMjAwNy0wNS0wOSAxMToyNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoKMjAwNy0wNS0wNCAxMjozMjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFN0b3JlIHJlYWwgdXNlciBuYW1lIGluIHRoZSBzZXNzaW9uLgoKMjAwNy0wNC0zMCAxMzo0MTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpOgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgIFJlbmFtZSBSVENQIHNlbmQgcGFkLCBsaWtlIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEFsbG93IGdldHRpbmcgYW4gUlRDUCBwYWQgZm9yIHJlY2VpdmluZyBldmVuIGlmIHdlIGRvbid0IHJlY2VpdmUgUlRQLgoJICBmaXggaGFuZGxpbmcgb2Ygc2VuZF9ydHBfc3JjIHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgV2hlbiBubyBwdCBtYXAgY291bGQgYmUgZm91bmQsIGZhbGwgYmFjayB0byB0aGUgc2lua3BhZCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IHBhZCBuYW1lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfcHVzaF9ydHApLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBVbmxvY2sgc2Vzc2lvbiB3aGVuIHBlcmZvcm1pbmcgYSBjYWxsYmFjay4KCSAgQWRkIGNhbGxiYWNrcyBmb3IgdGhlIGludGVybmFsIHNlc3Npb24gb2JqZWN0LgoJICBGaXggc2VuZGluZyBvZiBSVFAgcGFja2V0cy4KCSAgZmlyc3QgYXR0ZW1wdCBhdCBhZGRpbmcgTlRQIHRpbWVzIGluIHRoZSBTUiBwYWNrZXRzLgoJICBTbWFsbCBkZWJ1ZyBhbmQgZG9jIGltcHJvdmVtZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBVcGRhdGUgc3RhdHMgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA0LTI5IDE0OjQ2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBSZW1vdmUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBSZW1vdmUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nCgkgIEZpeCBpbnRlcnZhbCBmb3IgQllFL1JUQ1AgcGFja2V0cy4KCjIwMDctMDQtMjcgMTU6MDk6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWNvbnNpZGVyKToKCSAgTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIFNpbXBsaWZ5IHRpbW91dCBoYW5kbGluZyBhbmQgYWRkIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksIChzZXNzaW9uX3NkZXMpLAoJICAoc2Vzc2lvbl9ieWUpLCAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSGFuZGxlIHRpbWVvdXQgb2YgaW5hY3RpdmUgc291cmNlcyBhbmQgc2VuZGVycy4KCSAgSW1wbGVtZW50IEJZRSBzY2hlZHVsaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1lbWJlcnMgdG8gY2hlY2sgZm9yIHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlciksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX2J5ZV9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIFJGQyBhbGdvcml0aG0gZm9yIGNhbGN1bGF0aW5nIHRoZSByZXBvcnRpbmcgaW50ZXJ2YWwuCgoyMDA3LTA0LTI1IDE2OjM4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxNTo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IDxkZWxldGUgaWYgbm90IHVzaW5nIGEgYnVkZHk+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGVidWdpbmcgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDEzOjE5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpOgoJICBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIERvbid0IHNlbmQgUlRDUCByaWdodCBiZWZvcmUgd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICBJbXByb3ZlIHJlcG9ydCBibG9ja3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIENsZWFudXBzLCBhZGQgbWV0aG9kcyB0byBhY2Nlc3Mgc3RhdHMuCgoyMDA3LTA0LTI1IDA4OjMwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBGaXggZm9yIHJlbmFtZWQgbWV0aG9kcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0cF9zZXNzaW9uX3NldF9jbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfY25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X2VtYWlsKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9lbWFpbCksIChydHBfc2Vzc2lvbl9zZXRfcGhvbmUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Bob25lKSwgKHJ0cF9zZXNzaW9uX3NldF9sb2NhdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24pLCAocnRwX3Nlc3Npb25fc2V0X3Rvb2wpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Rvb2wpLCAocnRwX3Nlc3Npb25fc2V0X25vdGUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25vdGUpLCAoc291cmNlX3B1c2hfcnRwKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fZ2V0X3JlcG9ydGluZ19pbnRlcnZhbCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAoc2Vzc2lvbl9zZGVzKSwgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFByZXBhcmUgZm9yIGltcGxlbWVudGluZyBTU1JDIHNhbXBsaW5nLgoJICBDcmVhdGUgU1NSQyBmb3IgdGhlIHNlc3Npb24uCgkgIEFkZCBtZXRob2RzIHRvIHNldCB0aGUgU0RFUyBlbnRyaWVzLgoJICBmaXggYWNjb3VudGluZyBvZiBzZW5kZXJzL3JlY2VpdmVycy4KCSAgSW1wbGVtZW50IFNSL1JSL1NERVMgUlRDUCByZXBvcnRpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBJbXBsZW1lbnQgZXh0ZW5kZWQgc2VxdWVuY2UgbnVtYmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFJlbmFtZSBzb21lIGZpZWxkcy4KCjIwMDctMDQtMjEgMTk6MjE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgoyMDA3LTA0LTE4IDE4OjU4OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZGVkIG5ldyBmaWxlcyBmb3Igc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgdGhlIHNlc3Npb24gbWFuYWdlciBjYW4gbm93IGFsc28gcmVxdWVzdCBhIHB0LW1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfdGltZSksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgV2UgY2FuIGFzayBmb3IgcHQtbWFwIG5vdyB0b28gd2hlbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIG5lZWRzIGl0LgoJICBIb29rIHVwIHRvIHRoZSBuZXcgc2Vzc2lvbiBtYW5hZ2VyLCBpbXBsZW1lbnQgdGhlIG5lZWRlZCBjYWxsYmFja3MgZm9yCgkgIHB1c2hpbmcgZGF0YSwgZ2V0dGluZyBjbG9jayB0aW1lIGFuZCByZXF1ZXN0aW5nIGNsb2NrLXJhdGVzLgoJICBSZW5hbWUgcnRjcF9zcmMgdG8gc2VuZF9ydGNwX3NyYyB0byBtYWtlIGl0IGNsZWFyIHRoYXQgdGhpcyBSVENQIGlzIHRvCgkgIGJlIHNlbmQgdG8gY2xpZW50cy4KCSAgQWRkIGNvZGUgdG8gc3RhcnQgYW5kIHN0b3AgdGhlIHRocmVhZCB0aGF0IHdpbGwgc2NoZWR1bGUgUlRDUCB0aHJvdWdoCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLAoJICAob25fYnllX3NzcmMpLCAocnRwX3Nlc3Npb25fbmV3KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgpLAoJICAoc291cmNlX3B1c2hfcnRwKSwgKHNvdXJjZV9jbG9ja19yYXRlKSwgKGNoZWNrX2NvbGxpc2lvbiksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfY25hbWUpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYXBwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9wcm9kdWNlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVGhlIGFkdmFuY2VkIGJlZ2lubmluZ3Mgb2YgdGhlIG1haW4gc2Vzc2lvbiBtYW5hZ2VyIHRoYXQgaGFuZGxlcyB0aGUKCSAgcGFydGljaXBhbnQgZGF0YWJhc2Ugb2YgUlRQU291cmNlcywgU1NSQyBwcm9iYXRpb24sIFNTUkMgY29sbGlzaW9ucywKCSAgcGFyc2UgUlRDUCB0byB1cGRhdGUgc291cmNlIHN0YXRzLiBldGMuLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2VfbmV3KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3J0cF9mcm9tKSwgKHJ0cF9zb3VyY2Vfc2V0X3J0Y3BfZnJvbSksCgkgIChwdXNoX3BhY2tldCksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX2J5ZSksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBPYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgYW4gU1NSQyBhbmQgaXRzIHN0YXRlIGluIHRoZSBkYXRhYmFzZS4KCSAgQ2FsY3VsYXRlcyB0aGUgaml0dGVyIGFuZCB0cmFuc2l0IHRpbWVzIG9mIGRhdGEgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFZhcmlvdXMgc3RhdHMgcmVnYXJkaW5nIHRoZSBzZXNzaW9uIGFuZCBzb3VyY2VzLgoJICBVc2VkIHRvIGNhbGN1bGF0ZSB0aGUgUlRDUCBpbnRlcnZhbC4KCjIwMDctMDQtMTMgMDk6MjA6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBSZXR1cm4gRkxPV19PSyBmcm9tIFJUQ1AgbWVzc2FnZXMgZm9yIG5vdy4KCjIwMDctMDQtMTIgMDg6MTg6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAocHRfbWFwX3JlcXVlc3RlZCk6CgkgIEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRW1pdCByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoKMjAwNy0wNC0xMSAxMzo0OTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNsb2NrX3JhdGVfcmVxdWVzdCksIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAocHRfbWFwX3JlcXVlc3RlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLCAoY3JlYXRlX3JlY3ZfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJlcGFyZSBmb3IgY2FjaGluZyBwdCBtYXBzLgoJICBDb25uZWN0IHRvIHNpZ25hbHMgdG8gY29sbGVjdCBwdCBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHJlcXVlc3RfY2xvY2tfcmF0ZSBzaWduYWwuCgkgIFVzZSBzY2FsZSBpbnN0ZWF0IG9mIHNjYWxlX2ludCBiZWNhdXNlIHRoZSBsYXRlciBkb2VzIG5vdCBkZWFsIHdpdGgKCSAgbmVnYXRpdmUgbnVtYmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICBJbXBsZW1lbnQgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoKMjAwNy0wNC0xMCAwOToxNDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci8uY3ZzaWdub3JlOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBlbWl0aW5nIHB0IG1hcCBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIEZpeCBzaWduYWxzLgoKMjAwNy0wNC0wNiAxMjoyODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBQcm92aWRlIGEgY2xvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX3Byb3ZpZGVfY2xvY2spOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcm92aWRlIGEgY2xvY2suCgoyMDA3LTA0LTA2IDEyOjA3OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgoyMDA3LTA0LTA1IDE2OjEwOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBGaXggZG91YmxlIHVucmVmKCkgaW4gZXJyb3IgY2FzZXMuCgoyMDA3LTA0LTA1IDEzOjU0OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBBZGRlZCBSVFBTdHJlYW0gdG8gbWFuYWdlIHN0cmVhbSBwZXIgU1NSQywgZWFjaCB3aXRoIGl0cyBvd24KCSAgaml0dGVyYnVmZmVyIGFuZCBwdGRlbXV4LgoJICBBZGRlZCBTU1JDRGVtdXguCgkgIENvbm5lY3QgdG8gdmFyaW91cyBTU1JDIGFuZCBQVCBzaWduYWxzIGFuZCBjcmVhdGUgZ2hvc3RwYWRzLCBsaW5rIHN0dWZmLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkZWQgcnRwYmluIHRvIGVsZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggY2FwcyBhbmQgZm9yd2FyZCBHc3RGbG93UmV0dXJuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBldmVudCBoYW5kbGluZwoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9ydHBfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9ydHBfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgbmV3LXB0LXBhZCBzaWduYWwuCgoyMDA3LTA0LTA0IDEwOjIzOjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoKMjAwNy0wNC0wMyAxMTozNTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgIFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCjIwMDctMDQtMDMgMDk6NTE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbTogQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgoyMDA3LTA0LTAzIDA5OjEzOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChhc3luY19qaXR0ZXJfcXVldWVfbmV3KSwKCSAgKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2hpZ2hfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbWF4X3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfZ2V0X2dfcXVldWUpLCAoY2FsY3VsYXRlX3RzX2RpZmYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VubG9jayksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaCksIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9pbnNlcnRfYWZ0ZXJfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2Jsb2NraW5nX3VubG9ja2VkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKG5ld19wYWQpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChmcmVlX3N0cmVhbSksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGdzdF9ydHBfY2xpZW50X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9jbGFzc19pbml0KSwgKGdzdF9ydHBfY2xpZW50X2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfZmluYWxpemUpLCAoZ3N0X3J0cF9jbGllbnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfY2xpZW50X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2NsaWVudF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfY2xpZW50X3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldGNhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGZyZWVfZnVuYyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAocHJpdl9jb21wYXJlX3J0cF9zZXFfbHQpLAoJICAoY29tcGFyZV9ydHBfYnVmZmVyc19zZXFfbnVtKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfcHRfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9nZXRjYXBzKSwgKGZpbmRfcGFkX2Zvcl9wdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCjIwMDktMDgtMTAgMTM6MzA6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBjYXRlciBmb3IgY2h1bmsgcGFkZGluZwoKMjAwOS0wOC0wNCAxOTo0NTo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBvbmx5IHVzZSBzdHJlYW0ncyBwYWQgYWZ0ZXIgaGF2aW5nIGNoZWNrZWQgaXQgZXhpc3RzCgoyMDA5LTA4LTA0IDEzOjM4OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNwcmlua2xlIHNvbWUgbW9yZSBHU1RfREVCVUdfRlVOQ1BUUgoKMjAwOS0wOC0wNCAxMzozNjozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwb3N0IGVycm9yIG1lc3NhZ2UgaWYgbm8gcGFkcyB0byBwdXNoIEVPUyBldmVudCBvbgoKMjAwOS0wOC0wNCAxMTozOTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdHlwbyBpbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMDktMDgtMDQgMTE6Mzk6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHNvbWUgYnVmZmVyIHJlZiBoYW5kbGluZwoKMjAwOS0wOC0wNCAxMTozNzoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkbyBub3QgZXhjZWVkIG1heGltdW0gbnVtYmVyIG9mIHN1cHBvcnRlZCBzdHJlYW1zCgoyMDA5LTA4LTA0IDExOjM1OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHByZXZlbnQgZG91YmxlIHVucmVmOyBnc3RfYXZpX2RlbXV4X3BhcnNlX2F2aWggYWxyZWFkeSB1bnJlZnMKCjIwMDktMDgtMDQgMTE6MzI6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdmVyaWZ5IHNpemUgb2YgSU5GTyBMSVNUIHRvIHNhdGlzZnkgc3Vic2VxdWVudCBleHBlY3RhdGlvbnMKCjIwMDktMDctMjkgMTU6MjU6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2hlY2sgdmlkZW8gc3RyZWFtIGZyYW1lcmF0ZSBhZ2FpbnN0IGF2aSBoZWFkZXIgZnJhbWUgZHVyYXRpb24KCSAgVGhlIGZvcm1lciBtaWdodCBiZSBib2d1cyBpbiBzaWxseSBjYXNlcywgYW5kIHRoZSBsYXR0ZXIgc2VlbXMgdG8KCSAgY2FycnkgbW9yZSB3ZWlnaHQuCgoyMDA5LTA4LTA0IDEyOjE2OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbWxpbmUgc3RyZWFtIGR1cmF0aW9uIGNhbGN1bGF0aW9uCgoyMDA5LTA3LTAzIDE0OjA0OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIGR2MTM5NHNyYzogRml4IGVsZW1lbnQgZm9yIGxpdmUgdXNhZ2UuLi4gd2hpY2ggaGFzIGJlZW4gYnJva2VuIGZvciAyIHllYXJzIDooCgkgIFRoaXMgaXMgYSBsaXZlIHNvdXJjZSwgdGhlcmVmb3JlOgoJICAqIFVzZSBHU1RfRk9STUFUX1RJTUUgYXMgdGhlIGRlZmF1bHQgZm9ybWF0CgkgICogc2V0X3RpbWVzdGFtcCB0byBUcnVlCgkgICogcHJvcGVybHkgaW1wbGVtZW50IHF1ZXJ5IGxhdGVuY3kuCgkgIFRoaXMgYWxsb3dzIGV4cGVjdGVkIGxpdmUgdXNhZ2UgbGlrZSA6IHBsYXliaW4yIHVyaT1kdjovLwoKMjAwOS0wOC0wOSAwOTo0Mzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUKCjIwMDktMDgtMDkgMDk6NDM6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDA5LTA4LTA5IDA5OjQzOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMgYW5kIHJlc3VsdGluZyB1bm5lZWRlZCB2YXJpYWJsZXMuCgoyMDA5LTA4LTEwIDA5OjUzOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJKiBleHQvd2F2cGFjay9tZDUuYzoKCSogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgIHdhdnBhY2s6IFVzZSBHTGliIEdDaGVja3N1bSBpbnN0ZWFkIG9mIG91ciBvd24gTUQ1IGltcGxlbWVudGF0aW9uCgkgIFRoaXMgcmVxdWlyZXMgR0xpYiAyLjE2IGJ1dCB0aGF0IHZlcnNpb24gaXMgYWxyZWFkeSByZXF1aXJlZCBieSBjb3JlIGFueXdheS4KCjIwMDktMDgtMDggMDA6NDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYTogQWRkcyBzdXBwb3J0IHRvIG11eGluZy9kZW11eGluZyBXTUEKCSAgQWRkcyBzdXBwb3J0IGZvciBtdXhpbmcgd21hIGF1ZGlvIGZhbWlseSBhbmQgZml4ZXMKCSAgZGVtdXhpbmcgb2Ygd21hIGZhbWlseSBpbiBtYXRyb3NrYWRlbXV4LiBtYXRyb3NrYWRlbXV4CgkgIHdhcyBicm9rZW4gYmVjYXVzZSBpdCBtaXNzZWQgY29kZWNfZGF0YS4KCjIwMDktMDgtMDYgMjA6MTU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRkcyBzdXBwb3J0IGZvciB3bXYgZmFtaWx5CgkgIEFkZHMgc3VwcG9ydCB0byBXTVYxLCBXTVYyLCBXTVYzIGFuZCBvdGhlciBmYW1pbHkgZm9ybWF0cyB0aGF0CgkgIGFyZSBzaWduYWxlZCBieSB0aGUgJ2Zvcm1hdCcgZmllbGQgaW4gdGhlIGNhcHMgKGkuZS4gV1ZDMSkuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTc2Mzc4CgoyMDA5LTA4LTA5IDE0OjE5OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogaWYgbWF4ID09IG1pbiB3aWR0aC9oZWlnaHQgcHV0IGFuIGludCBpbiB0aGUgcHJvYmVkIGNhcHMsIG5vdCBhbiBpbnQgcmFuZ2UKCSAgRml4ZXMgIzU2MDAzMy4KCjIwMDktMDgtMDkgMTM6NTg6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvc3JjOiBpZiBtYXhfY2hhbm5lbHMgPT0gbWluX2NoYW5uZWxzLCB1c2UgYW4gaW50IGluc3RlYWQgb2YgYW4gaW50IHJhbmdlIGluIHRoZSBjYXBzCgoyMDA5LTA4LTA5IDEyOjUyOjE3ICswMjAwICBMb25lU3RhciA8bG9uZUBhdXZ0ZWNoLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogVHJ5IEdTVF8qX1RBR19FTkNPRElORyBhbmQgbG9jYWxlIGVuY29kaW5nIGlmIHRhZ3MgYXJlIG5vdCBVVEY4CgkgIEZpeGVzIGJ1ZyAjNDk5MjQyLgoKMjAwOS0wOC0wOSAwMToyOTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIGxhdGVzdCByZWxlYXNlCgkgIFRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDktMDgtMDkgMDE6Mjc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGNoZWNrOiBmaXggZmx2bXV4IHVuaXQgdGVzdCBvbiBiaWcgZW5kaWFuIG1hY2hpbmVzCgkgIGZsdm11eCBvbmx5IGFjY2VwdHMgcmF3IGF1ZGlvIGluIGxpdHRsZSBlbmRpYW4sIGJ1dCBhdWRpb3Rlc3RzcmMKCSAgcHJvZHVjZXMgYXVkaW8gaW4gdGhlIG5hdGl2ZSBlbmRpYW5uZXNzLCB3aGljaCBtYWtlcyBsaW5raW5nCgkgIGJldHdlZW4gYXVkaW90ZXN0c3JjIGFuZCBmbHZtdXggZmFpbCBvbiBiaWcgZW5kaWFuIG1hY2hpbmVzLiBBZGQKCSAgYW4gYXVkaW9jb252ZXJ0IGVsZW1lbnQgaW4gYmV0d2VlbiB0aGUgdHdvIHRvIGZpeCB0aGlzLgoKMjAwOS0wMi0xNSAxODo0OTo0NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGFkZCBrYXRlIHN1YnRpdGxlIHN1cHBvcnQgdG8gbWF0cm9za2EgbXV4ZXIgYW5kIGRlbXV4ZXIKCSAgU2VlICM1MjU3NDMuCgoyMDA5LTA4LTA3IDE2OjUxOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2Mi4zLjAuaHRtbDoKCSAgaWQzZGVtdXg6IGFkZCBJRDMgdjIuMyBzcGVjIGFzIHdlbGwKCjIwMDktMDgtMDcgMTY6NDI6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBzaXplcyBpbiBJRDMgdjIuMyBhcmUgdW5saWtlbHkgdG8gYmUgc3luYy1zYWZlIGludGVnZXJzCgkgIEluIElEMyB2Mi4zIGNvbXByZXNzZWQgZnJhbWVzIHdpbGwgaGF2ZSBhIDQtYnl0ZSBkYXRhIGxlbmd0aCBpbmRpY2F0b3IKCSAgYWZ0ZXIgdGhlIGZyYW1lIGhlYWRlciB0byBpbmRpY2F0ZSB0aGUgc2l6ZSBvZiB0aGUgZGVjb21wcmVzc2VkIGRhdGEuCgkgIFRoaXMgaW50ZWdlciBpcyB1bmxpa2VseSB0byBiZSBhIHN5bmMtc2FmZSBpbnRlZ2VyIGZvciB2Mi4zIHRhZ3MsCgkgIG9ubHkgaW4gdjIuNCBpdCdzIHN5bmMtc2FmZS4KCjIwMDktMDgtMDcgMTY6MzY6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IGZpeCB0eXBvIGluIGRlYnVnIG1lc3NhZ2UKCjIwMDktMDgtMDcgMTY6MDI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9pZDMtNTg4MTQ4LXVuc3luY2VkLXYyNC50YWc6CgkgIGlkM2RlbXV4OiBmaXggcGFyc2luZyBvZiB1bnN5bmMnZWQgSUQzIHYyLjQgdGFncyBhbmQgZnJhbWVzCgkgIFJldmVyc2luZyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gc2VlbXMgdG8gd29yayBzbGlnaHRseSBkaWZmZXJlbnRseQoJICBmb3IgSUQzIHYyLjMgdGFncyBhbmQgdjIuNCB0YWdzOiB2Mi4zIHRhZ3MgZG9uJ3QgaGF2ZSBzeW5jc2FmZSBmcmFtZQoJICBzaXplcyBpbiB0aGUgZnJhbWUgaGVhZGVyLCBzbyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gaXMgYXBwbGllZCB0bwoJICB0aGUgd2hvbGUgZnJhbWUgZGF0YSBpbmNsdWRpbmcgYWxsIHRoZSBmcmFtZSBoZWFkZXJzLiB2Mi40IGZyYW1lcwoJICBoYXZlIHN5bmMtc2FmZSBzaXplcywgaG93ZXZlciwgc28gdGhlIHVuc3luY2hyb25pc2F0aW9uIG9ubHkgbmVlZHMKCSAgdG8gYmUgYXBwbGllZCB0byB0aGUgYWN0dWFsIGZyYW1lIGRhdGEsIGFuZCBpdCBzZWVtcyB0aGF0J3Mgd2hhdCdzCgkgIGJlaW5nIGRvbmUgYXMgd2VsbC4gU28gd2UgbmVlZCB0byB1bmRvIHRoZSB1bnN5bmNocm9uaXNhdGlvbiBvbiBhCgkgIHBlci1mcmFtZSBiYXNpcyBmb3IgdjIuNCB0YWdzIGZvciB0aGluZ3MgdG8gd29yayBwcm9wZXJseS4KCSAgRml4ZXMgZXh0cmFjdGlvbiBvZiBjb3ZlcmFydC9pbWFnZXMgZnJvbSBBUElDIGZyYW1lcyBpbiBJRDMgdjIuNAoJICB0YWdzICgjNTg4MTQ4KS4KCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhpcyBhcyB3ZWxsLgoKMjAwOS0wOC0wNiAyMToyNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVXNlIFNPVVBfTUVUSE9EX0dFVCBpbnN0ZWFkIG9mICJHRVQiIHN0cmluZwoJICBGaXhlcyBidWcgIzU5MDk3MC4KCjIwMDktMDgtMDYgMTM6MDA6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNldCB0aGUgZGVmYXVsdCBzbGF2ZSBtZXRob2QgdG8gc2tldwoJICBTZXQgdGhlIGRlZmF1bHQgc2xhdmUgbWV0aG9kIHRvIHRoZSBtdWNoIGJldHRlciBza2V3IGFsZ29yaXRobS4gVGhpcyBpcyB0aGUKCSAgZGVmYXVsdCBpbiB0aGUgbmV3IGJhc2UgY2xhc3MgYnV0IHdlIG92ZXJyaWRlIHRoaXMgaGVyZSBhcyB3ZWxsIGZvciB0aGUKCSAgdXBjb21taW5nIHJlbGVhc2UuCgoyMDA5LTA4LTA2IDEwOjIwOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZml4IGNvbXBpbGF0aW9uIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1ZwoKMjAwOS0wOC0wMyAxODo1OTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogdXNlIGFycmF5IGluc3RlYWQgb2YgcXVldWUKCjIwMDktMDgtMDMgMTg6NTU6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBwdXNoIE5BTHMgb25seSBhZnRlciBTUFMvUFBTCgkgIHBhcnNlIGNvbXBsZXRlIChieXRlc3RyZWFtKSBidWZmZXIgZm9yIFNQUy9QUFMgYmVmb3JlIHB1c2hpbmcgTkFMcy4KCSAgRml4ZXMgIzU2NDUwMS4KCjIwMDktMDgtMDQgMTQ6NDQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBEaXJlY3RseSB1c2UgR1NUX1BUUl9GT1JNQVQgZm9yIHByaW50aW5nIGNhcHMgd2l0aCB0aGUgTE9HX0NBUFMgbWFjcm8KCjIwMDktMDgtMDQgMTE6MTc6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkgIHJ0cHFkbTJkZXBheTogRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDgtMDQgMDk6MzI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBSZW1vdmUgc29tZSBPTUFQIHNwZWNpZmljIGhhY2tzCgkgIFRoZXkgcmVxdWlyZSBzcGVjaWFsIGJ1aWxkIGZsYWdzIGFuZCBhcmUgbm90IHVzZWZ1bCBpbiBnZW5lcmFsLgoKMjAwOS0wOC0wNCAwOToyMjoyOSArMDIwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc2luazogY2hhbmdlIHdoZXJlIGJ1ZmZlcnMgZ2V0IGRlcXVldWVkCgkgIEl0IHNlZW1zIHRvIGNhdXNlIHN0cmFuZ2Ugb2NjYXNpb25hbCBoaWdoIGxhdGVuY2llcyAoYWxtb3N0IDIwMG1zKSB3aGVuIGRlcXVldWluZyBidWZmZXJzIGZyb20gX2J1ZmZlcl9hbGxvYygpLiAgSXQgaXMgc2ltcGxlciBhbmQgc2VlbXMgdG8gd29yayBtdWNoIGJldHRlciB0byBkcWJ1ZiBmcm9tIHRoZSBzYW1lIHRocmVhZCB0aGF0IGlzIHF1ZXVpbmcgdGhlIG5leHQgYnVmZmVyLgoKMjAwOS0wOC0wNCAwOToxNDoyMCArMDIwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IEFkZCB2NGwyc2luayBlbGVtZW50CgkgIFRoaXMgYWxzbyBkb2VzIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKCSAgKDEpIHB1bGwgdGhlIGJ1ZmZlcnBvb2wgY29kZSBvdXQgaW50byBnc3R2NGwyYnVmZmVycG9vbC5jLCBhbmQgbWFrZSBhCgkgIGJpdCBtb3JlIGdlbmVyaWMgc28gaXQgY2FuIGJlIHVzZWQgYm90aCBmb3IgdjRsMnNyYyBhbmQgdjRsMnNpbmsKCSAgKDIpIG1vdmUgc29tZSBvZiB0aGUgZGV2aWNlIHByb2JpbmcvY29uZmlndXJhdGlvbi9jYXBzIHN0dWZmIGludG8KCSAgZ3N0djRsMm9iamVjdC5jIHNvIGl0IGRvZXMgbm90IGhhdmUgdG8gYmUgZHVwbGljYXRlZCBiZXR3ZWVuCgkgIHY0bDJzcmMgYW5kIHY0bDJzaW5rCgkgIEZpeGVzIGJ1ZyAjNTkwMjgwLgoKMjAwOS0wOC0wNCAwNzowNzo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZmx2bXV4OiBFbmFibGUgdW5pdCB0ZXN0IG5vdyB0aGF0IGl0IHBhc3NlcwoKMjAwOS0wOC0wMyAyMToyMTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwcWRtMmRlcGF5LHJ0cHN2M3ZkZXBheTogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCjIwMDktMDgtMDMgMjE6MjI6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSAgcnRwcWRtMmRlcGF5OiBIYW5kbGUgZ2FwcyBpbiBpbmNvbWluZyBwYWNrZXRzLgoJICBXaGVuZXZlciB3ZSBzZWUgYSBnYXAsIHdlIGZsdXNoIHRoZSB0ZW1wb3JhcnkgcGFja2V0cyAoYnV0IG5vdCB0aGUgYWRhcHRlcikuIElmIHdlCgkgIGhhZCBzb21lIGRhdGEgdGVtcG9yYXJpbHkgc3RvcmVkIGl0IHdpbGwgYmUgb3V0cHV0dGVkICh0aGUgc291bmQgd2lsbCBzb3VuZCBhIGJpdAoJICBnYXJibGVkLi4uIGJ1dCB0aGF0J3MgaG93IGl0IHNvdW5kcyBvbiBNYWNPU1ggOikKCjIwMDktMDgtMDMgMTk6MDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkgIHJ0cHFkbWRlcGF5OiBGaXggQ1JDIGNhbGN1bGF0aW9uIGFuZCByZW1vdmUgY29tbWVudGVkIGNvZGUuCgoyMDA5LTA4LTAyIDEzOjQyOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkgIHJ0cDogTmV3IFFETTIgcnRwIGRlcGF5bG9hZGVyLgoJICBSZXZlcnNlLWVuZ2luZWVyZWQgYnkgY29tcGFyaW5nOgoJICAqIEEgcnRwIGhpbnRlZCBmaWxlIHByb3ZpZGVkIGJ5IERhcndpblN0cmVhbWluZ1NlcnZlcgoJICAqIFRoZSBvdXRwdXQgcHJvY3VlZCBieSBEU1MgZm9yIHRoYXQgc2FtZSBmaWxlCgkgIEFsc28gdXNlZCB2YXJpb3VzIHN0cmVhbWluZyBzb3VyY2VzIGF2YWlsYWJsZSBvbiB0aGUgaW50ZXJuZXQgdG8gZmluZS10dW5lCgkgIHRoZSBjb2RlLgoJICBUaGUgaGVhZGVyL2NvZGVjX2RhdGEgZXh0cmFjdGlvbiBtZXRob2RzIGFyZSBmcm9tIEZGTXBlZyAoTEdQTCkuCgoyMDA5LTA4LTAzIDIxOjI0OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwc3YzdmRlcGF5OiBQcm9wZXJseSBmaWxsIGNvZGVjX2RhdGEgYW5kIGNsZWFudXAgY29kZSBhIGJpdGUgbW9yZS4KCjIwMDktMDgtMDMgMTk6MDI6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJICBydHBzdjN2ZGVwYXk6IE9ubHkgb3V0cHV0IGJ1ZmZlcnMgb25jZSB3ZSdyZSBjb25maWd1cmVkLgoKMjAwOS0wOC0wMyAxOTowMjowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIHJ0cHN2M3ZkZXBheTogQWRkIG1vcmUgZW5jb2RpbmctbmFtZSB2YXJpYW50cwoKMjAwOS0wOC0wMyAyMDowODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggdW5pdCB0ZXN0IHRvIGNvcnJlY3RseSBoYW5kbGUgcmVxdWVzdCBwYWRzCgkgIFJlcXVlc3QgcGFkcyBhcmUgcmVtb3ZlZCBieSB0aGUgZWxlbWVudCBpbnN0YW5jZSBpbiBQQVVTRUQtPlJFQURZCgkgIHNvIHdlIG5lZWQgdG8gcmUtcmVxdWVzdCBwYWRzIGZvciBldmVyeSBydW4gYW5kIGxpbmsgdGhlbSBhZ2Fpbi4KCSAgTGFzdCBmaXggZm9yIGJ1ZyAjNTkwNDQ3LgoKMjAwOS0wOC0wMyAyMDowODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCB3cml0aW5nIG9mIHRoZSBpbmRleCBmb3IgPCAxMjggYnVmZmVycwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1OTA0NDcuCgoyMDA5LTA4LTAzIDIwOjA3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IHJlc2V0dGluZyBvZiB0aGUgZWxlbWVudAoJICBSZXNldCB0aGUgaGF2ZV92aWRlby9oYXZlX2F1ZGlvIGZsYWdzIGFuZCBtYWtlIHN1cmUgdG8KCSAgcHJvcGVybHkgcmVsZWFzZSB0aGUgcmVxdWVzdCBwYWRzLgoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1OTA0NDcuCgoyMDA5LTA4LTAzIDE4OjEzOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBhZGQgbm9uLXV0ZjggY2hhcnMgdG8gc3RydWN0dXJlcwoKMjAwOS0wOC0wMyAxODowMjozMSArMDIwMCAgTHVjIERlc2NoZW5hdXggPGx1Yy5kZXNjaGVuYXV4IGF0IGZyZWVzdXJmLmNoPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAganBlZ2RlcGF5OiB1c2UgYXR0cmlidXRlcyBmb3IgZXh0cmEgcHJvcGVydGllcwoJICBVc2Ugc29tZSBvZiB0aGUgU0RQIGF0dHJpYnV0ZXMgd2hlbiB0aGV5IGFyZSBwcmVzZW50IHRvIHNwZWNpZnkgdGhlIG91dHB1dAoJICBkaW1lbnNpb24gYW5kIGZyYW1lcmF0ZS4gVGhpcyBhbGxvd3MgdXMgdG8gcmVjZWl2ZSBqcGVnIGZyYW1lcyBsYXJnZXIgdGhhbgoJICAyMDQwIHdpZHRoL2hlaWdodC4KCSAgRml4ZXMgIzU2NDQzNwoKMjAwOS0wOC0wMyAxODowMToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBSVFAgZG9jczogdXBkYXRlIHdpdGggYXR0cmlidXRlcyBpbiBjYXBzCgoyMDA5LTA4LTAzIDE3OjIxOjQ0ICswMjAwICBMdWMgRGVzY2hlbmF1eCA8bHVjLmRlc2NoZW5hdXggYXQgZnJlZXN1cmYuY2g+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHB1dCBhbGwgU0RQIGF0dHJpYnV0ZXMgb24gY2FwcwoJICBQdXQgdGhlIFNEUCBhdHRyaWJ1dGVzIG9uIHRoZSBjYXBzIHRvbyBzbyB0aGF0IHRoZXkgY2FuIGJlIHVzZWQgYnkKCSAgZGVwYXlsb2FkZXJzLgoJICBTZWUgIzU2NDQzNwoKMjAwOS0wOC0wMyAxMzozMjoxMiArMDIwMCAgSm9uYXRoYW4gVGVsbGllciA8am9uYXRoYW4udGVsbGllciBhdCBnbWFpbC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGluaXRpYWxpemUgdGhlIHByb2JlIHdpdGggdGhlIHNlcnZlcgoJICBXaGVuIGNyZWF0aW5nIGEgbmV3IHByb2JlLCBwYXNzIHRoZSBzZXJ2ZXIgaW5zdGVhZCBvZiB0aGUgZGV2aWNlIHN0cmluZy4KCSAgZml4ZXMgIzU5MDQwMQoKMjAwOS0wOC0wMiAxMTo0NDowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGRvbid0IGRvIHRoaW5ncyB3aXRoIHNpZGUtZWZmZWN0cyBpbnNpZGUgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKQoJICBTb21lb25lIG1pZ2h0IGNvbXBpbGUgdGhpcyBjb2RlIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUIHNvbWUgZGF5LgoKMjAwOS0wOC0wMSAyMTozOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgZG8gbG9naWMgd2l0aGluIGdfYXNzZXJ0KCkgc3RhdGVtZW50cwoJICBPdGhlcndpc2UgdGhhdCBjb2RlIHdpbGwganVzdCBiZSBleHBhbmRlZCB0byBub3RoaW5nIHdoZW4gY29tcGlsZWQKCSAgLURHX0RJU0FCTEVfQVNTRVJUIChQUzogd2h5IGlzIG1haW5sb29wX3N0YXJ0KCkgY2FsbGVkIGluIHRoZSBpbml0CgkgIGZ1bmN0aW9uIGFuZCBub3Qgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBSRUFEWT8pCgoyMDA5LTA4LTAxIDE3OjA3OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc2VuZCBuZXdzZWdtZW50IGV2ZW50IHdoZW4gb3BlcmF0aW5nIHB1c2gtYmFzZWQgYW5kIHVuZnJhbWVkCgkgIEZvciBzb21lIHJlYXNvbiBmbGFjIGRvZXNuJ3QgY2FsbCBvdXIgbWV0YWRhdGEgY2FsbGJhY2sgd2hlbiB3ZSBvcGVyYXRlCgkgIGluIHB1c2ggbW9kZSB3aXRoIHVuZnJhbWVkIGlucHV0LCBidXQgdGhhdCdzIHdoZXJlIHdlIHNldCB1cCB0aGUKCSAgbmV3c2VnbWVudCBldmVudCAoc2luY2UgdGhhdCdzIHdoZXJlIHdlJ2QgZ2V0IHRoZSBkdXJhdGlvbiBmcm9tIHRoZQoJICBzdHJlYW0gaW5mbyBoZWFkZXIpLCBzbyB3ZSBkaWRuJ3Qgc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgYXQgYWxsIGluIHRoaXMKCSAgY2FzZS4gSGFjayBhcm91bmQgdGhpcyBieSBzdG9yaW5nIGEgZ2VuZXJpYyBuZXdzZWdtZW50IGV2ZW50IGZvciBub3cKCSAgd2hpY2ggd2lsbCBiZSB1c2VkIGlmIHdlIGRvbid0IHJlcGxhY2UgaXQgd2l0aCBhIGJldHRlciBvbmUgdGhhdAoJICBpbmNsdWRlcyB0aGUgZHVyYXRpb24uCgoyMDA5LTA4LTAxIDE2OjQ4OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc21hbGwgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgY2FsbGJhY2sgaW5kaXJlY3Rpb25zIHdoaWNoIGFyZSBubyBsb25nZXIgbmVlZGVkIGJlY2F1c2UKCSAgdGhlcmUncyBvbmx5IG9uZSBkZWNvZGVyIG9iamVjdCB0eXBlIG5vdy4gQWxzbyByZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wOC0wMSAxNToyMjo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHVzZSBnc3RfYWRhcHRlcl9jb3B5KCkgdG8gYXZvaWQgdW5uZWNlc3NhcnkgYnVmZmVyIG1lcmdlcwoJICBnc3RfYWRhcHRlcl9wZWVrKCkgd2lsbCBtZXJnZSBidWZmZXJzIGFzIG5lZWRlZCwgd2hpY2ggd2UgY2FuIGF2b2lkCgkgIGhlcmUgc2luY2Ugd2UncmUgZG9pbmcgYSBtZW1jcHkgYW55d2F5IGFuZCB0aGVuIGZsdXNoIHRoZSBjb3BpZWQKCSAgZGF0YSBmcm9tIHRoZSBhZGFwdGVyIHJpZ2h0IGF3YXkuCgoyMDA5LTA4LTAxIDAwOjAwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogcmVwYWlyIHNvbWUgYnJva2VuIGluZGVudGluZwoKMjAwOS0wOC0wMSAxMjoxOTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGNoZWNrczogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgZmx2bXV4LCBidXQgZGlzYWJsZSBpdCBmb3Igbm93CgkgIEJhc2ljIHVuaXQgdGVzdCBmb3IgZmx2bXV4LiBGYWlscyBtaXNlcmFibHksIGhlbmNlIGRpc2FibGVkIGZvciBub3cuCgoyMDA5LTA3LTMxIDIzOjI4OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvcGNtMTZzaW5lLmZsdjoKCSAgY2hlY2s6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIGZsdmRlbXV4CgkgIEluIHBhcnRpY3VsYXIsIHRlc3QgcmUtdXNlIG9mIGZsdmRlbXV4IGluIGJvdGggcHVsbCBhbmQgcHVzaCBtb2RlCgkgIChzZWUgIzU4MzAzMCkuCgoyMDA5LTA3LTMxIDIwOjI1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZml4IGludmFsaWQgd3JpdGUgY2F1c2VkIGJ5IHVzaW5nIHNpemVvZigic3RyaW5nIikgYXMgbGVuZ3RoCgkgIHNpemVvZigiZm9vIikgaW5jbHVkZXMgdGhlIHN0cmluZydzIE5VTC10ZXJtaW5hdG9yIGluIHRoZSBzaXplIHJldHVybmVkLAoJICBidXQgd2UncmUgd3JpdGluZyBzdHJpbmdzIGhlcmUgd2l0aCBhbiBleHBsaWNpdCBzaXplIGF0IHRoZSBiZWdpbm5pbmcKCSAgYW5kIG5vIE5VTC10ZXJtaW5hdG9yLiBJbiBtb3N0IGNhc2VzIHVzaW5nIHNpemVvZigiZm9vIikgYXMgbGVuZ3RoIGluCgkgIG1lbWNweSBpcyBub3QgaGFybWZ1bCwgYnV0IGl0IGlzIHdoZXJlIHRoZSBzdHJpbmcgZ29lcyByaWdodCBhdCB0aGUKCSAgZW5kIG9mIG91ciBidWZmZXIgdG8gd3JpdGUsIHNpbmNlIHdlIGRvbid0IGFsbG9jYXRlIHNwYWNlIGZvciB0aGF0CgkgIE5VTCB0ZXJtaW5hdG9yLgoKMjAwOS0wNy0yNyAxODo0NDo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IFVzZSAiR0VUIiBpbnN0ZWFkIG9mIFNPVVBfTUVUSE9EX0dFVC4gRml4ZXMgYnVpbGQgd2l0aCBsaWJzb3VwLTIuNy4qCgkgIFRoaXMgaXMgZHVlIHRvIGEgcXVhbGl0eSBBUEkgY2hhbmdlIGluIGxpYnNvdXAgMi43LiBTT1VQX01FVEhPRF8qIGFyZSBub3cKCSAgaW50ZWdlcnMgYW5kIG5vdCBzdHJpbmdzLi4uIHRoZXkgY291bGQgaGF2ZSBjaGFuZ2VkIHRoZSBuYW1lcy4KCjIwMDktMDctMzAgMTc6NTc6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnOiB1c2UgbG9uZ2VyIG1hY3JvIG5hbWVzIHRvIG5vdCBjbGFzaCB3aXRoIHNvbWUgc3R1cGlkIHdpbmRvd3MgZGVmaW5lcwoJICBsaWJqcGVnIGhlYWRlcnMgcHVsbCBzb21lIHdpbmRvd3Mgc3lzdGVtIGlubGN1ZGVzIChvbiB3aW5kb3dzKSB0aGF0IGNvbnRhaW4gYQoJICBkZWZpbmUgZm9yIERFRkFVTFRfUVVBTElUWS4KCjIwMDktMDctMjkgMTQ6MzE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGxhc3QgY29tbWl0IGFuZCBpbXByb3ZlIHJlYWRhYmlsaXR5CgoyMDA5LTA3LTI0IDE5OjA0OjMxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4ZWQgdGhlIGZpeCBmb3IgVElNRS0+REVGQVVMVCBjb252ZXJzaW9uLgoJICBGaXhlcyBidWcgIzU3ODA1MiBhZ2Fpbi4KCjIwMDktMDctMjkgMTM6Mzg6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBydHBzdjNkZXBheTogRml4IHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbiwgYnJpbmcgdXAgdG8gbWFyZ2luYWwgcmFuay4KCSAgQmFzZWQgb24gZG9jdW1lbnRhdGlvbiBmb3VuZCBvbiBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4LwoKMjAwOS0wNy0yOSAxMjoxMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBjb25kaXRpb25hbGx5IGNvbXBpbGUgbmV3ZXIgc3R1ZmYKCSAgY29uZmlndXJlZF9zaW5rL3NvdXJjZV91c2VjIGluIHRoZSB0aW1pbmdfaW5mbyBpcyBvbmx5IHNpbmNlIDAuOS4xMSBzbwoJICBjb25kaXRpb25hbGx5IGNvbXBpbGUgdGhpcyBpbmZvcm1hdGlvbi4KCSAgZml4ZXMgIzU5MDAzOAoKMjAwOS0wNy0yOCAxODoyOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IGNsZWFudXBzCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHBhdXNlZCBzdGF0ZSBvZiB0aGUgc291cmNlIGFuZCBsZWF2ZSB0aGUgcmVhZCBmdW5jdGlvbiB3aGVuCgkgIHBhdXNlZC4KCSAgZG9uJ3Qgd2FpdCBmb3IgYSBsYXRlbmN5IHVwZGF0ZSB3aGVuIHRoZSBkZWxheSBpcyBub3QgeWV0IGtub3duIGJ1dCBzaW1wbHkKCSAgcmV0dXJuIDAgaW5zdGVhZCBvZiBibG9ja2luZy4KCSAgS2VlcCB0cmFjayBvZiB0aGUgY29ya2VkIHN0YXRlIG9mIHRoZSBzdHJlYW0uCgkgIEZpeCB0aGUgc3RhdGUgY2hhbmdlcy4KCjIwMDktMDctMjggMTY6MTE6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNldCBtYXhsZW5ndGggYWx3YXlzIHRvIC0xCgoyMDA5LTA3LTI4IDE1OjUzOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzsgY2xlYW51cHMsIHJlcG9ydCByZWFsIGxhdGVuY3kKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvCgkgIEF2b2lkIHNvbWUgdHlwZSBjYXN0cwoJICBSZXBvcnQgdGhlIHJlYWwgbGF0ZW5jeSB0byB0aGUgYXBwbGljYXRpb24uCgoyMDA5LTA3LTI4IDE2OjExOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogd2hlbiBzY2FubmluZyBmb3IgMHhmZiBtYXJrZXIgZW5kcywgZW5zdXJlIGRlc2lyZWQgcmVzdWx0CgkgIE90aGVyd2lzZSwgYW55IG5vbiAweGZmIGJ5dGUgYXQgZW5kIG9mIGRhdGEgd291bGQgYmUgbWlzdGFrZW4gZm9yCgkgIGEgdGFnIGJ5dGUsIGFuZCBpbiBjYXNlIG9mIGEgZnJhbWVfbGVuIDAgdGFnIHN1YnNlcXVlbnRseSBsZWFkIHRvIGFuCgkgIGluZmluaXRlIGxvb3AuCgoyMDA5LTA3LTI4IDAwOjMwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkcyBzdXBwb3J0IHRvIHdtYQoKMjAwOS0wNy0yOCAwMDowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZHMgc3VwcG9ydCB0byB3bXYKCjIwMDktMDctMjcgMjE6MzQ6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb3duZ3JhZGUgd2FybmluZyBtZXNzYWdlIHRvIGRlYnVnCgoyMDA5LTA3LTI3IDExOjUxOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGF2b2lkIHVzaW5nIGl2YWxpZCBzdHJlYW0gaW5kZXhlcwoJICB3aGVuIHdlIGdldCBhbiBpbnZhbGlkIHN0cmVhbSBpbmRleCBmcm9tIHB1bHNlIGJlY2F1c2Ugd2Ugd2VyZSBqdXN0IHN0YXJ0aW5nLAoJICBhdm9pZCB1c2luZyBpdCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgdm9sdW1lLgoJICBGaXhlcyAjNTg5MzY1CgoyMDA5LTA3LTI0IDE5OjM4OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IERvbid0IGFsbG93IGNhcHMgY2hhbmdlcyBmb3Igc29tZSBlZmZlY3R2IGZpbHRlcnMKCSAgVGhlc2UgZmlsdGVycyB1c2UgaW5mb3JtYXRpb24gZnJvbSBwcmV2aW91cyBmcmFtZXMgdG8KCSAgZ2VuZXJhdGUgdGhlIGN1cnJlbnQgZnJhbWUgYW5kIGEgY2FwcyBjaGFuZ2Ugd2lsbCBtYWtlCgkgIHRoZSBlZmZlY3Qgc3RhcnQgZnJvbSB0aGUgYmVnaW5uaW5nIGFnYWluLgoKMjAwOS0wNy0yNCAxOTozNzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgd2FycHR2OiBNYWtlIHRoZSBzaW5lIHRhYmxlIGdsb2JhbCBpbnN0ZWFkIG9mIGhhdmluZyBpdCBpbiBldmVyeSBpbnN0YW5jZQoKMjAwOS0wNy0yNCAxMDo0Nzo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnOiBtYWtlIGVuY29kZXIgd29yayB3aXRoIGxpYmpwZWcgdjcKCSAgV2UgaGF2ZSB0byBzcGVjaWZ5IGRvX2ZhbmN5X2Rvd25zYW1wbGluZyA9IEZBTFNFIGluIHRoZSBlbmNvZGVyIHdpdGggZGlkIG5vdCBleGlzdCBiZWZvcmUuCgoyMDA5LTA3LTI0IDAwOjQyOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZlZGFhZWUgdG8gOTRmOTVlMwoKMjAwOS0wNy0yMyAxMjowNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIEZpeGVzIGJ1ZyAjNTg5NDIzLgoKMjAwOS0wNy0yMiAxMToxNjowNiArMDEwMCAgQ29saW4gR3V0aHJpZSA8Y2d1dGhyaWVAbWFuZHJpdmEub3JnPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBhIGNvdXBsZSBlcnJvciBtZXNzYWdlcyB0aGF0IG1lbnRpb25lZCBpbmNvcnJlY3QgZnVuY3Rpb24gbmFtZXMuCgkgIEZpeGVzICM1ODk0NTkuCgoyMDA5LTA3LTIzIDExOjUwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgQWxzbyBhZGQgc29tZSBtb3JlIHF1ZXJ5IHR5cGVzIHRvIHRoZSBhbnN3ZXIgb2YgdGhlIHF1ZXJ5IHR5cGUgZnVuY3Rpb24uCgkgIEZpeGVzIGJ1ZyAjNTg5NDI0LgoKMjAwOS0wNy0yMSAxOTo0Njo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZml4IGludGVybWl0dGVudCBGTEFDX19TVFJFQU1fREVDT0RFUl9BQk9SVEVEIGVycm9ycyB3aGVuIHNlZWtpbmcKCSAgV2hlbiBzZWVraW5nIGluIGEgbG9jYWwgZmxhYyBmaWxlIChpZS4gb3BlcmF0aW5nIHB1bGwtYmFzZWQpLCB0aGUgZGVjb2RlcgoJICB3b3VsZCBvZnRlbiBqdXN0IGVycm9yIG91dCBhZnRlciB0aGUgbG9vcCBmdW5jdGlvbiBzZWVzIGEgREVDT0RFUl9BQk9SVEVECgkgIHN0YXR1cy4gVGhpcywgaG93ZXZlciwgaXMgdGhlIHJlYWQgY2FsbGJhY2sncyB3YXkgb2YgdGVsbGluZyBvdXIgbG9vcAoJICBmdW5jdGlvbiB0aGF0IHB1bGxfcmFuZ2UgZmFpbGVkIGFuZCBzdHJlYW1pbmcgc2hvdWxkIHN0b3AsIGluIHRoaXMgY2FzZQoJICBiZWNhdXNlIG9mIHRoZSBmbHVzaC1zdGFydCBldmVudCB0aGF0IHRoZSBzZWVrIGhhbmRsZXIgcHVzaGVkIHVwc3RyZWFtCgkgIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkLiBIYW5kbGUgdGhpcyBzbGlnaHRseSBiZXR0ZXIgYnkgc3RvcmluZyB0aGUgbGFzdAoJICBmbG93IHJldHVybiBmcm9tIHB1bGxfcmFuZ2UsIHNvIHRoZSBsb29wIGZ1bmN0aW9uIGNhbiBldmFsdWF0ZSBpdCBwcm9wZXJseQoJICB3aGVuIGl0IGVuY291bnRlcnMgYSBERUNPREVSX0FCT1JURUQgYW5kIHRha2UgdGhlIHJpZ2h0IGFjdGlvbi4KCSAgRml4ZXMgIzU3ODYxMi4KCjIwMDktMDctMjEgMTA6MDc6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IGluZGVudGluZyBhbmQgdXBncmFkZSB0d28gZGVidWdzIHRvIHdhcm5pbmdzLgoJICBGaXggbmV3bGluZXMgaW4gdmFyaWFibGUgZGVjbHMuIENoYW5nZSB0d28gZGVidWdzIHRvIGJlY29tZSB3YXJuaW5ncyBhcyB0aGV5CgkgIGluZGljYXRlIHRoYXQgdGhpbmdzIHdpbGwgbm90IHdvcmsuCgoyMDA5LTA3LTIxIDEwOjA0OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IGNvZGUgY2xlYW51cHMgZm9yIGVuY29kZXIKCSAgUmVtb3ZlIHNvbWUgZGlzYWJsZWQgY29kZSBpbiBlbmNvZGVyLiBUcnkgI2lmIDAnZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzIGFib3V0CgkgIHdoeSBpdCBpcyBkaXNhYmxlZC4gTW92ZSBpZGN0LW1ldGhvZCBlbnVtIHRvIGpwZWcuYyBhbmQgdXNlIGluIGJvdGggZW5jb2RlciBhbmQKCSAgZGVjb2Rlci4gQWRkIGlkY3QtbWV0aG9kIHByb3BlcnR5IHRvIGVuY29kZXIuCgoyMDA5LTA3LTIxIDA3OjUwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBbnN3ZXIgU0VFS0lORyBxdWVyaWVzIGluIHRoZSBvcmlnaW5hbCBmb3JtYXQKCjIwMDktMDctMjEgMDE6MTI6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwdXRpbHM6IGluaXRpYWxpemUgc3RydWN0IGNvbnRlbnQgd2l0aCAwLgoJICBGaXhlcyBzb21lIHJhbmRvbSBjcmFzaGVzLgoKMjAwOS0wNy0yMCAxOTowOToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzZXQgc29tZSB2YWx1ZXMgdG8gdGhlaXIgZGVmYXVsdHMKCSAgU2V0IHRoZSBtaW5yZXEgYW5kIG1heGxlbmd0aCBidWZmZXIgYXR0cmlidXRlcyB0byAtMSB0byBsZXQgcHVsZXNlYXVkaW8gc2VsZWN0IGEKCSAgc2Vuc2libGUgdmFsdWUuCgoyMDA5LTA3LTIwIDE5OjA0OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHdhaXQgZm9yIHBvc3RlZCBtZXNzYWdlCgkgIFdlIGNhbid0IHdhaXQgZm9yIHRoZSBFTlRFUi9MRUFWRSBtZXNzYWdlcyB0byBiZSBiZSBwb3N0ZWQgYmVjYXVzZSB0aGUgYmFzZQoJICBjbGFzcyBzb21ldGltZXMgY2FsbHMgdGhlIHN0YXJ0IG1ldGhvZCB3aXRoIHRoZSBvYmplY3QgbG9jaywgd2hpY2ggd291bGQgYmxvY2sKCSAgdGhlIG1lc3NhZ2UgcG9zdGluZy4KCSAgSW5zdGVhZCwganVzdCBhc3N1bWUgdGhhdCB0aGUgbWVzc2FnZSB3aWxsIGJlIHBvc3RlZCBzb29uIGFuZCBjb250aW51ZS4gV2UnbGwKCSAgaGF2ZSB0byBmaXggdGhpcyBpbiB0aGUgYmFzZSBjbGFzcy4KCjIwMDktMDctMjAgMTg6MTE6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdXNlIHJlbGF0aXZlIHNlZWtzCgkgIFVzZSByZWxhdGl2ZSBzZWVrcyBiZWNhdXNlIEkgd2FzIHRvbGQgdGhhdCBhYnNvbHV0ZSBzZWVrcyBkb24ndCB3b3JrLgoKMjAwOS0wNy0yMCAxNjo1MjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDctMjAgMDg6MDc6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBBZGQgc3VwcG9ydCBmb3IgQVJHQi9CR1JBIGlucHV0CgkgIE5vdGUgdGhhdCB2aWRlb3Rlc3RzcmMgb3V0cHV0cyAxMDAlIHRyYW5zcGFyZW50IHZpZGVvCgkgIHdoaWNoIHdpbGwgcmVzdWx0IGluIHdoaXRlIG91dHB1dCBmcm9tIGNhaXJvcmVuZGVyLgoKMjAwOS0wNy0xNyAxMzoyMjo1NyArMDEwMCAgRWxhaW5lIFhpb25nIDxFbGFpbmUuWGlvbmdAU3VuLkNPTT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogRml4IHY0bDJzcmMgb24gT3BlblNvbGFyaXMKCSAgVGhlIHY0bDIgZHJpdmVyIGZvciBVU0Igd2ViY2FtcyBvbiBPcGVuU29sYXJpcyBkb2VzIG5vdCBzdXBwb3J0IHNlbGVjdCgpCgkgIGNhbGxzLiBEZXRlY3Qgd2hlbiBzZWxlY3QoKSBmYWlscywgYW5kIHNraXAgcG9sbGluZyB0aGUgZGV2aWNlIGFmdGVyd2FyZCwKCSAgd2hpY2ggcmVzdG9yZXMgdGhlIHByZSAwLjEwLjE0IGJlaGF2aW91ciBvbiBPcGVuU29sYXJpcy4KCSAgU2lnbmVkLW9mZi1ieTogSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKMjAwOS0wNy0xNyAxMToyMjowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IElnbm9yZSBzb21lIG5ldyBiaW5hcmllcwoKMjAwOS0wNy0xNyAxMzo0OToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBBZGQgdG8gdGhlIGRvY3VtZW50YXRpb24KCjIwMDktMDctMTcgMTM6NDI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBSZXR1cm4gbm90LW5lZ290aWF0ZWQgaWYgd2UgaGF2ZSBubyBjYXBzCgoyMDA5LTA3LTE3IDEzOjQxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm9yZW5kZXI6IEZpeCBjYXBzIGFuZCBjb2xvcnNwYWNlIGhhbmRsaW5nCgoyMDA5LTA3LTE3IDEzOjMwOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogVXNlIGNvcnJlY3QgbWltZXR5cGVzIGZvciBQREYgYW5kIFNWRwoKMjAwOS0wNy0xNyAxMzoyNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IFJlbW92ZSBwdWxsIG1vZGUsIGl0IG9ubHkgYWRkcyBjb21wbGV4aXR5IGJ1dCBub3QgYWR2YW50YWdlcwoKMjAwOS0wNy0xNiAyMTo1NTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IEZpeCBjYXBzIG5lZ290aWF0aW9uIGFuZCBjYWlybyBzdXJmYWNlIGNyZWF0aW9uCgoyMDA5LTA3LTE2IDIxOjQyOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogQ29ycmVjdGx5IHNldCBzcmNjYXBzCgoyMDA5LTA3LTE2IDIxOjMxOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm9yZW5kZXI6IE1vdmUgaW5zdGFuY2UvY2xhc3Mgc3RydWN0IGRlZmluaXRpb25zIHRvIHRoZSBoZWFkZXIKCjIwMDktMDctMTYgMjE6MzA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJICBjYWlyb3JlbmRlcjogQWRkIEx1dHonIGNvcHlyaWdodCB0byB0aGUgZmlsZSBoZWFkZXIKCjIwMDktMDctMTYgMjE6Mjc6NDUgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm86IEFkZCBjYWlyby1iYXNlZCBQREYvUFMvU1ZHIGVuY29kZXIgZWxlbWVudAoJICBGaXhlcyBidWcgIzMzMTQyMC4KCjIwMDktMDctMTYgMjA6NDQ6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IE9wdGlvbmFsbHkgd3JpdGUgYSBQQURESU5HIGJsb2NrCgkgIFRoZSBzaXplIG9mIHRoZSBQQURESU5HIGJsb2NrIGlzIHNwZWNpZmllZCBieSBhIG5ldwoJICAicGFkZGluZyIgcHJvcGVydHkuCgkgIEZpeGVzIGJ1ZyAjNTg4NDgzLgoKMjAwOS0wNy0xNiAxOTozNTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogT25seSBhc3N1bWUgc2Vla2FiaWxpdHkgaWYgdGhlIHNlcnZlciBwcm92aWRlcyBDb250ZW50LUxlbmd0aAoJICBQcmV2aW91c2x5IHNlZWthYmlsaXR5IHdheSBhbHdheXMgYXNzdW1lZCB1bnRpbCB0aGUgZmlyc3Qgc2VlayBhY3R1YWxseQoJICBmYWlsZWQuIE5vdyB3ZSBhc3N1bWUgdGhhdCBhbGwgc2VydmVycyBhcmUgbm90IHNlZWthYmxlIHVubGVzcyB0aGV5IHByb3ZpZGUKCSAgYSBDb250ZW50LUxlbmd0aCBoZWFkZXIuIElmIGEgc2VlayBmYWlscyBhZnRlciB0aGF0IHdlIGNvbnRpbnVlIHRvCgkgIGFzc3VtZSBubyBzZWVrYWJpbGl0eS4gRml4ZXMgYnVnICM1ODU1NzYuCgoyMDA5LTA3LTE2IDE1OjE0OjQzICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZG9uJ3QgdHJ5IHRvIGF1dGhlbnRpY2F0ZSBpZiBubyB1c2VybmFtZS9wYXNzd29yZCBpcyBzZXQuCgoyMDA5LTA3LTE2IDE3OjEwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogQ2hhaW4gdXAgZmluYWxpemUgdG8gdGhlIHBhcmVudCBjbGFzcyBpbiB3YXJwdHYKCSAgRml4ZXMgYSBtZW1vcnkgbGVhay4KCjIwMDktMDctMTYgMTI6NTU6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkgIGVmZmVjdHY6IEFkZCB1bml0IHRlc3QgZm9yIGFsbCBlZmZlY3R2IGVsZW1lbnRzCgoyMDA5LTA3LTE2IDEyOjE3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgIGVmZmVjdHY6IEFkZCBuZXcgZWZmZWN0diBlbGVtZW50cyB0byB0aGUgZG9jcwoKMjAwOS0wNy0xNSAxNDozNzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkgIGVmZmVjdHY6IEFkZCByaXBwbGV0diBlbGVtZW50CgkgIFRoaXMgcHJvZHVjZXMgYSB3YXRlciByaXBwbGUgZWZmZWN0IG9uIHRoZSB2aWRlbyBpbnB1dCwKCSAgYmFzZWQgb24gbW90aW9uIG9yIGEgcmFpbiBkcm9wIGFsZ29yaXRobS4KCSAgS2luZGx5IHJlbGljZW5zZWQgdG8gTEdQTDIrIGJ5IEtlbnRhcm8gRnVrdWNoaSA8ZnVrdWNoaUBtZWdhdWkubmV0Pi4KCSAgRml4ZXMgYnVnICM1ODg2OTUuCgoyMDA5LTA3LTEyIDE1OjQyOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuaDoKCSAgZWZmZWN0djogQWRkIHN0cmVha3R2IGVmZmVjdCBmaWx0ZXIgZWxlbWVudAoJICBUaGlzIGNvbWJpbmVzIHRoZSBTdHJlYWtUViBhbmQgQmFsdGFuVFYgZmlsdGVycyBmcm9tIHRoZQoJICBlZmZlY3R2IHByb2plY3QuCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4MzY4LgoKMjAwOS0wNy0xMiAxMjozMToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICBlZmZlY3R2OiBGaXggcHJvY2Vzc2luZyBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMKCjIwMDktMDctMTIgMTE6NTI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIGVmZmVjdHY6IEFkZCByYWRpb2FjdHYgZWZmZWN0IGZpbHRlcgoJICBUaGlzIGZpbHRlciBhZGRzIGEgcmFkaWF0aW9uLWxpa2UgbW90aW9uIGJsdXIgZWZmZWN0CgkgIHRvIHRoZSB2aWRlbyBzdHJlYW0uCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4MzU5LgoKMjAwOS0wNy0xMiAxMToyNjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJICBlZmZlY3R2OiBNYWtlIHRoZSBvcHR2IHRocmVzaG9sZCBwcm9wZXJ0eSBhbiB1aW50CgoyMDA5LTA3LTEyIDEwOjM5OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkgIGVmZmVjdDogQWRkIG9wdHYgZWZmZWN0IGZpbHRlciBmcm9tIHRoZSBlZmZlY3R2IHByb2plY3QKCSAgVGhpcyBmaWx0ZXIgYmluYXJpemVzIGlucHV0IGZyYW1lcyBhbmQgY29tYmluZXMgdGhlbSB3aXRoIHZhcmlvdXMKCSAgb3B0aWNhbCBwYXR0ZXJuLgoJICBLaW5kbHkgcmVsaWNlbnNlZCB0byBMR1BMMisgYnkgS2VudGFybyBGdWt1Y2hpIDxmdWt1Y2hpQG1lZ2F1aS5uZXQ+LgoJICBGaXhlcyBidWcgIzU4ODM0OS4KCjIwMDktMDctMDMgMDU6MTE6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBFbWl0IHN0cmVhbS1zdGF0dXMgbGVhdmUgbWVzc2FnZQoJICBGaXhlcyAjNTg3Njk1CgoyMDA5LTA3LTAzIDA1OjA2OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBFbWl0IHN0cmVhbS1zdGF0dXMgZW50ZXIgbWVzc2FnZQoJICBFbWl0IHN0cmVhbS1zdGF0dXMgbWVzc2FnZXMgZm9yIHRoZSBwdWxzZSB0aHJlYWQuCgkgIERvbid0IHVzZSBvdXIgb3duIEdDb25kIGZvciBzaWduYWxpbmcgYnV0IHNpbXBseSB1c2UgdGhlIHB1bHNlIG1haW5sb29wCgkgIG1lY2hhbmlzbXMgZm9yIHN5bmNocm9uaXNhdGlvbi4KCSAgU2VlICM1ODc2OTUKCjIwMDktMDctMTQgMTg6MTU6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZGVidWcgdGhlIGxhdGVuY3kgdXBkYXRlIHZhbHVlcwoKMjAwOS0wNy0xNCAxNjoxMjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlc2luazogYWRkIDI0Yml0IHNhbXBsZSBmb3JtYXRzCgkgIEFkZCBjaGVjayBmb3IgcHVsc2VhdWRpbyAwLjkuMTUgYW5kIGVuYWJsZSAyNGJpdHMgc2FtcGxlcyBpbiB0aGF0IGNhc2UuCgoyMDA5LTA3LTEzIDEyOjIzOjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU4NDViNjMgdG8gZmVkYWFlZQoKMjAwOS0wNy0xMyAxNzo1MzoyNSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIG1wdnBheTogUmV3b3JrIHRoZSB0aW1lc3RhbXBpbmcKCSAgUmV3b3JrIHRoZSB0aW1lc3RhbXBpbmcgaW4gdGhlIG1wdiBwYXlsb2FkZXIgc28gdGhhdCB0aGUgdGltZXN0YW1wcyBhcmUgbW9yZQoJICBhY2N1cmF0ZS4KCSAgRml4ZXMgIzU4NzY4MAoKMjAwOS0wNy0wMyAwODo0NzoxMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmM6CgkgIHY0bDJzcmM6IGFkZCBhIHNpbXBsZSB0ZXN0IGNhc2UgZm9yIGRldmljZSBwcm9iaW5nCgoyMDA5LTA3LTAzIDA4OjM4OjQzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogb3B0aW9uYWwgc3VwcG9ydCBmb3IgZGV2aWNlIHByb2Jpbmcgd2l0aCBndWRldgoJICBFbnVtZXJhdGUgdjRsMiBkZXZpY2VzIHVzaW5nIGd1ZGV2IGlmIGF2YWlsYWJsZS4KCSAgRml4ZXMgYnVnICM1ODM2NDAuCgoyMDA5LTA3LTEwIDE5OjU0OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogUmFuZG9tIGNsZWFudXAKCjIwMDktMDctMTAgMTk6NTQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBTZW5kIHF1ZXJpZXMgdG8gdGhlIG1hc3RlciBwYWQgYnkgZGVmYXVsdCBpbnN0ZWFkIG9mIGFsbCBwYWRzCgoyMDA5LTA3LTEwIDE5OjM0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgUkdCLCBCR1IsIHhSR0IsIFJHQngsIHhCR1IsIEJHUnggc3VwcG9ydAoKMjAwOS0wNy0xMCAxNzo0MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IENsZWFuIHVwIGRlYnVnZ2luZyBhIGJpdAoKMjAwOS0wNy0xMCAxNzoyNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSBzb21lIHJlZHVuZGFudCBjaGVja3MgYW5kIGVycm9yIG91dCBpbW1lZGlhdGVseSBpZiBub3QgbmVnb3RpYXRlZAoJICBBbHNvIHN0b3AgbGVha2luZyB0aGUgb3V0cHV0IGJ1ZmZlciBpbiBzb21lIGVycm9yIGNhc2VzLgoKMjAwOS0wNy0xMCAxNzoyMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHRoZSBjYWxjdWxhdGVfZnJhbWVfc2l6ZSgpIGZ1bmN0aW9uIGFuZCB1c2UgbGliZ3N0dmlkZW8gaW5zdGVhZAoKMjAwOS0wNi0zMCAxNToxMzo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHVudXNlZCBsaW5rL3VubGluayBwYWQgbWV0aG9kcwoKMjAwOS0wNi0zMCAxMjo0MzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogSTQyMCBtb2RlOiBBZGQgZmFzdCBwYXRoIGZvciAwLjAgYW5kIDEuMCBhbHBoYQoJICBJZiB0aGUgc291cmNlIGFscGhhIGlzIDAuMCwgd2UgdGFrZSBub3RoaW5nLgoJICBJZiB0aGUgc291cmNlIGFscGhhIGlzIDEuMCwgd2Ugb3ZlcndyaXRlIGV2ZXJ5dGhpbmcuCgoyMDA5LTA2LTMwIDEyOjQwOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBJNDIwIGJsZW5kaW5nIDogRml4IG1haW4gYWxnb3JpdGhtLgoJICBXaGVuIGJsZW5kaW5nIGEgc291cmNlIGxheWVyIHdpdGggYW4gYWxwaGEgb2YgJ2EnIG9uIHRvcCBvZiBhbm90aGVyCgkgIGRlc3RpbmF0aW9uIGxheWVyIHdlIHRha2UgdGhlIHN1bSBvZjoKCSAgKiAnYScgcGVyY2VudCBvZiB0aGUgc291cmNlIGxheWVyCgkgICogKDEwMCAtICdhJykgcGVyY2VudCBvZiB0aGUgZGVzdGluYXRpb24gbGF5ZXIgKHRoZSByZW1haW5kZXIpCgoyMDA5LTA2LTMwIDEyOjM5OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICB2aWRlb21peGVyOiBNYWtlIGRlYnVnZ2luZyBjYXRlZ29yeSBnbG9iYWwgdG8gYWxsIHRoZSBjb2RlLgoKMjAwOS0wNi0yOSAxOToyMzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBkZWJ1Z2dpbmcgc3RhdGVtZW50cy4KCjIwMDktMDctMDggMTM6Mzg6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkbyBub3QgbGVhayB0aW1lb3V0IG1lc3NhZ2UKCjIwMDktMDctMDkgMDc6MTQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IERvbid0IGZvcndhcmQgTkVXU0VHTUVOVCBldmVudHMgZnJvbSB1cHN0cmVhbQoJICBOZXcgb25lcyBhcmUgZ2VuZXJhdGVkIGxhdGVyIGFuZCBzaW1wbHkgZm9yd2FyZGluZyB0aGVtIGNhbgoJICByZXN1bHQgaW4gTkVXU0VHTUVOVCBldmVudHMgb2YgZGlmZmVyZW50IGZvcm1hdCBnb2luZyBkb3duc3RyZWFtLgoJICBGaXhlcyBidWcgIzU4Nzk4My4KCjIwMDktMDctMDggMTg6MTk6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IE1ha2UgY2hlY2tlciBwYXR0ZXJuIGxvb2t1cCB0YWJsZSBjb25zdGFudAoKMjAwOS0wNy0wOCAxODoxNzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBBUkdCCgkgIEFuZCBjbGVhbiB1cCB0aGUgY2FwcyBwYXJzaW5nLgoKMjAwOS0wNy0wOCAxNToxNzo0MSArMDIwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluQGdhaWduYXJkLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBJbml0aWFsaXplIHBvaW50ZXIgdG8gTlVMTAoJICBPdGhlcndpc2Ugd2UncmUgY2FsbGluZyBmcmVlKCkgd2l0aCBzb21lIHJhbmRvbQoJICBtZW1vcnkgYWRkcmVzcyBpbiBlcnJvciBjYXNlcy4KCSAgRml4ZXMgYnVnICM1ODc5ODIuCgoyMDA5LTA3LTA3IDE2OjM1OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3ByaW5rbGUgc29tZSBtb3JlIGNvbnN0CgoyMDA5LTA3LTA3IDE1OjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGVyZm9ybSBzb21lIG1vcmUgKGNhcmVmdWwpIGRhdGEgYnVmZmVyaW5nCgkgIE9uY2UgYnVmZmVyaW5nIGhhcyBzdGFydGVkICh3aXRoIGFuIG1kYXQgYXRvbSksIGNvbnRpbnVlIGJ1ZmZlcmluZwoJICB1bnRpbCBtb292IGF0b20gaXMgcmVhY2hlZCwgd2hpY2ggaGFuZGxlcyBjYXNlcyB3aXRoIG11bHRpcGxlCgkgIG1kYXQgYXRvbXMuICBBbHNvIGtlZXAgYWRhcHRlci9vZmZzZXQgYmV0dGVyIGluIHN5bmMgd2l0aCB1cHN0cmVhbQoJICBhbmQgZml4IHNvbWUgZGVidWcgc3RhdGVtZW50cy4gIEZpeGVzICM1ODc0MjYuCgoyMDA5LTA3LTA2IDEwOjQwOjMxICswMjAwICBQaGlsaXAgSuRnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBSZXBsYWNlIGRlcHJlY2F0ZWQgR1NUX0RJU0FCTEVfREVCVUcgd2l0aCBjb3JyZWN0IG1hY3JvLiBGaXhlcyAjNTg3ODI2CgoyMDA5LTA3LTAxIDEzOjA3OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXJyb3Igb3V0IGluc3RlYWQgb2YgZGl2aWRpbmcgYnkgMAoJICBFcnJvciBvdXQgaWYgdGltZXNjYWxlIGlzIDAuCgoyMDA5LTA3LTAxIDA5OjMyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBNYWtlIHN1cmUgd2UgZG9uJ3QgYmxhY2tsaXN0IHN0cmVhbXMgYnkgd3JvbmdseSBjb21wYXJpbmcgdGhlaXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTUwM2E1OWE1Nzc5YjY3NDUxZDhhMjcxMDAwMTgxNzkwZWU3NmJjNy4KCSAgUmV2ZXJ0aW5nIHRoaXMgc2luY2UgaXQgY2F1c2VzIHJlZ3Jlc3Npb25zIHdpdGggYSBsb3Qgb2Ygc2FtcGxlIGZpbGVzCgkgIEkgaGF2ZSwgYWxsIG9mIHdoaWNoIHdvcmtlZCBmaW5lIHdpdGggdGhlIGxhc3QgLWdvb2QgcmVsZWFzZSAoIzU4Njg5MSkuCgoyMDA5LTA2LTMwIDE1OjU0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29tbWVudCBvdXQgdW51c2VkIHN0cnVjdHVyZQoKMjAwOS0wNi0zMCAxMzoxMjowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vcmUgc2l6ZSBjaGVja3MsIGFuZCB1c2UgZ190cnlfbmV3MCgpIGluc3RlYWQgb2YgZ19uZXcwKCkKCSAgV2hlbmV2ZXIgd2UgYWxsb2Mgc29tZXRoaW5nIGJhc2VkIG9uIGEgdXNlci1zdXBwbGllZCBzaXplLCB3ZSBzaG91bGQKCSAgcmVhbGx5IHVzZSBnX3RyeV9uZXcoKSwgb3RoZXJ3aXNlIHdlIGNhbiBlYXNpbHkgYmUgbWFkZSB0byBhYm9ydCBieQoJICBwYXNzaW5nIGEgcmlkaWN1bG91c2x5IGxhcmdlIG51bWJlciB0byB1cyBmb3IgYWxsb2NpbmcuIEZpeGVzCgkgIHByb2JsZW1zIHdpdGggc29tZSBmdXp6ZWQgZmlsZXMuCgoyMDA5LTA2LTI5IDE4OjU4OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZ3VhcmQgYWdhaW5zdCBib2d1cyBhdG9tIHNpemVzIGFuZCBzaG9ydCByZWFkcwoJICBDaGVjayB0aGUgcG9zc2libHkgNjQtYml0IGF0b20gc2l6ZSBtb3JlIGNhcmVmdWxseSBiZWZvcmUgY2FzdGluZyBpdAoJICB0byBhbiBpbnQgYW5kIHBhc3NpbmcgaXQgdG8gZ3N0X3BhZF9wdWxsX3JhbmdlKCksIG90aGVyd2lzZSB3ZSBtaWdodAoJICBlbmQgdXAgcHVsbGluZyAwIGJ5dGVzLCBnZXR0aW5nIGFuIGVtcHR5IGJ1ZmZlciBhcyByZXF1ZXN0ZWQgYW5kCgkgIGRlcmVmZXJlbmNpbmcgbm90IGF2YWlsYWJsZSBkYXRhIHdoaWxzdCB0aGlua2luZyB3ZSBhY3R1YWxseSBhc2tlZAoJICBmb3IgYW5kIGdvdCAweDEwMDAwMDAwMDAwMDAgYnl0ZXMuIFNpbWlsYXIgZml4IGZvciBwdXNoIG1vZGUgb3BlcmF0aW9uCgkgIHdoZXJlIG5lZWRlZGJ5dGVzIGVuZHMgdXAgYmVpbmcgMCBieXRlcywgd2hpY2ggbWFrZXMgdXMgYXNzZXJ0LiBGaXhlcwoJICBjcmFzaCB3aXRoIGJyb2tlbiBvciBmdXp6ZWQgZmlsZSAoTkIgIzEyMjM3OCkuCgoyMDA5LTA2LTI5IDE2OjUyOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIDB4IHByZWZpeCB3aGVuIGxvZ2dpbmcgbnVtYmVycyBpbiBoZXgKCjIwMDktMDctMDEgMDg6NDA6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IERvbid0IHNlbmQgZW1wdHkgc3RyaW5nIHRhZ3MKCjIwMDktMDYtMzAgMjE6MzU6MzcgKzA0MDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBEb24ndCB1c2Ugc2VuZG1zZygpLWRlcGVuZGVudCBjb2RlIG9uIFdpbmRvd3MKCSAgRml4ZXMgIzU4NTg0MgoKMjAwOS0wNi0zMCAxNTo1OToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IGZpeCBjYXBzIGFuZCBuZWdvdGlhdGlvbgoJICBGaXggdGhlIGNhcHMgdG8gaW5jbHVkZSB0aGUgZGVwdGggKGluc3RlYWQgb2Ygd2lkdGggdHdpY2UpIGluIHRoZSBjYXBzIG9mCgkgIGF1ZGlvL3gtcmF3LWludC4KCSAgRml4IG5lZ290aWF0aW9uIHRvIG5vdCBvbmx5IGNvcHkgdGhlIHJhdGUvY2hhbm5lbHMgb2YgdGhlIGZpcnN0IHN0cnVjdHVyZS4KCjIwMDktMDYtMzAgMTQ6NDg6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbmNsdWRlICIxLjA9MTAwJSIgaW4gdm9sdW1lIGFuZCBjaGFuZ2UgdXBwZXIgbGltaXQKCSAgVXBwZXIgdm9sdW1lIGxpbW1pdCB3YXMgMTAwMC4gVGhhdCBhcHBlYXIgdW5uZWNlYXNyaWx5IGhpZ2guIEl0IHdvdWxkIGFsc28gY2F1c2UKCSAgc2V2ZXIgZGlzdG9ydGlvbiBpZiBhY2NpZGVudGlhbHkgdXNlZC4gTm93IGl0cyAxMCAofiArMTVkYikgd2hpY2ggaXMgYWxzbyBpbgoJICBzeW5jIHdpdGggdm9sdW1lIGFuZCBwbGF5YmluMi4KCjIwMDktMDYtMjkgMTU6Mzk6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHNvbWUgbW9yZSB0cml2aWFsIGNsZWFudXBzCgoyMDA5LTA2LTI5IDE1OjM4OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSAgcHVsc2U6IHRyaXZpYWwgY2xlYW51cHMKCjIwMDktMDYtMjkgMTU6MjA6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2xlYXIgcmluZ2J1ZmZlciB3aGVuIGFza2VkIHRvCgkgIFNpbmNlIHdlIG1hcCB0aGUgcmluZ2J1ZmZlciB0byB0aGUgcHVsc2VhdWRpbyBpbnRlcm5hbCByaW5nYnVmZmVyLCBmbHVzaCB0aGUKCSAgcHVsc2VhdWRpbyBidWZmZXIgd2hlbiB3ZSBhcmUgYXNrZWQgdG8gY2xlYXIgdGhlIHJpbmdidWZmZXIuCgkgIFRoaXMgYXZvaWRzIHNvbWUgbGVmdG92ZXIgYXVkaW8gYWZ0ZXIgYSBzZWVrLgoKMjAwOS0wNi0yNiAxNTowMDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogQWN0dWFsbHkgZG8gdGhlICdlY2hvIC1uJyAtPiBwcmludGYgY2hhbmdlLgoKMjAwOS0wNi0yNiAxNDo0MDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJy4gQ2hlY2sgZm9yIGF1dG9tYWtlLTEuMVswMV0KCSAgQ2hlY2sgZm9yIG1vcmUgYXV0b21ha2UgY29tbWFuZCB2YXJpYW50cy4gVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJwoJICBmb3IgcG9ydGFiaWxpdHkKCjIwMDktMDYtMjYgMTM6NDI6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjgxMDAzMCB0byA1ODQ1YjYzCgoyMDA5LTA2LTI2IDEzOjE5OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgcHJvY2VzcyB0cmFja19udW0vdHJhY2tfY291bnQgdGFncyB3aXRoIGEgMCB2YWx1ZQoJICBOdW1iZXIvY291bnQgdmFsdWVzIG9mIDAgbWVhbiB0aGV5J3JlIG5vdCBzZXQuIERvbid0IHB1dCB0aG9zZSBpbiB0aGUKCSAgdGFnbGlzdC4KCjIwMDktMDYtMjUgMTg6NTE6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IHVzZSAnZ3VpbnQ4JyBpbnN0ZWFkIG9mICdieXRlJyB0byBmaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDOAoJICBXZSBuZWVkIGEgY2FzdCBoZXJlIGZvciBwb2ludGVyIGFyaXRobWV0aWMgdG8gd29yayBjb3JyZWN0bHksIGJ1dCBzb21lCgkgIE1TVkMgdmVyc2lvbnMgZG9uJ3Qgc2VlbSB0byBsaWtlICdieXRlJywgc28gdXNlIGd1aW50OCBoZXJlLiBIb3BlZnVsbHkKCSAgZml4ZXMgIzU4NTM2MS4KCjIwMDktMDYtMjUgMTk6Mzk6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogc2V0IHN0cnVjdHMgdG8gemVybyBiZWZvcmUgdXNpbmcgdGhlbSBpbiBpb2N0bHMKCSAgVGhpcyBmaXhlcyB2YWxncmluZCB3YXJuaW5ncy4KCjIwMDktMDYtMjUgMTM6MjM6NDAgKzAyMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWFrZSBzdXJlIHdlIGRvbid0IGJsYWNrbGlzdCBzdHJlYW1zIGJ5IHdyb25nbHkgY29tcGFyaW5nIHRoZWlyIGR1cmF0aW9uIHdpdGggZW50aXJlIGNsaXAgZHVyYXRpb24uCgoyMDA5LTA2LTI1IDEzOjE4OjE0ICswMjAwICBLcnp5c3p0b2YgQsWCYXN6a293c2tpIDxrYiBhdCBzeXNtaWtyby5jb20ucGw+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgcnRwZGVjOiBmaXggc29tZSBidWZmZXIgbGVha3MKCjIwMDktMDYtMjUgMDg6MTE6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdnBhcnNlOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gvY2FzZS4KCjIwMDktMDYtMjUgMDg6MTA6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLCBoaW50IGJyYW5jaCBsaWtlbGluZXNzLCBhZGQgY29tbWVudHMuCgoyMDA5LTA2LTI1IDA4OjA5OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUKCjIwMDktMDYtMjUgMDc6NDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCB1bnVzZWQgdmFyaWFibGVzLgoJICBBbHNvIGFkZCBicmFuY2ggbGlrZWxpbmVzcyBtYWNyb3MuCgoyMDA5LTA2LTI1IDA3OjQwOjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZXMuIEZpeGVzIGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wNi0yNCAxNzo0MzoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZyZWUgbWVtb3J5IGluIGZpbmFsaXplCgkgIGZpbmFsaXplIGlzIGNhbGxlZCBvbmx5IG9uY2UuIG5vIG5lZWQgdG8gY2xlYXIgcG9pbnRlcnMgdGhlcmUuIGRpc3Bvc2UgaXMgZm9yCgkgIHVucmVmZmluZy4KCjIwMDktMDYtMjQgMTU6MTQ6MTQgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWIxMWQxIHRvIGY4MTAwMzAKCjIwMDktMDYtMDggMTQ6NDY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2hvcnQtY2lyY3VpdCBnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KCkgd2hlbiBwYXJzaW5nIHRoZSBpbmRleAoJICBEb24ndCBjYWxsIGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQoKSBmb3IgZWFjaCBzaW5nbGUgaW5kZXggZW50cnkuIE5vdAoJICBvbmx5IGRvIHdlIGFscmVhZHkgaGF2ZSB0aGUgcG9pbnRlciB0byB0aGUgc3RyZWFtIGNvbnRleHQsIHdlIGFsc28ga25vdwoJICB0aGUgZm9ybWF0cyB3ZSB3YW50IHRvIGNvbnZlcnQgZnJvbSBhbmQgdG8gYWxyZWFkeSwgc28gd2UgbWF5IGp1c3QgYXMKCSAgd2VsbCB1c2Ugb3B0aW1pc2VkIGNvbnZlcnNpb24gcm91dGluZXMgdGhhdCBieXBhc3Mgc29tZSBvZiB0aGUgY2hlY2tzCgkgIGFuZCBsb29rdXBzIG1hZGUgaW4gZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCgpLgoKMjAwOS0wNi0xNyAxNjozOTozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQW5vdGhlciByb3VuZCBvZiBHXypMSUtFTFkgbWljcm8tb3B0aW1pc2F0aW9ucy4KCjIwMDktMDYtMTcgMTY6MjA6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFRha2UgbGFzdCBzYW1wbGUgZHVyYXRpb24gZm9yIGR1bW15IHNlZ21lbnQgY2FsY3VsYXRpb24uCgkgIFRoaXMgZml4ZXMgdGhlIGNhc2VzIHdoZXJlIGZpbGVzIHdpdGhvdXQgRURMIHdvdWxkbid0IG91dHB1dCB0aGVpcgoJICBsYXN0IGJ1ZmZlci4KCjIwMDktMDYtMjQgMTI6MzY6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTcHJpbmtsZSBicmFuY2ggbGlrZWxpbmVzcyBtYWNyb3Mgb3ZlciB0aGUgY29kZS4KCjIwMDktMDYtMjMgMTY6NTQ6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBzcHJpbmtsZSBicmFuY2ggbGlrZWxpbmVzcyBtYWNyb3MgYWNjcm9zcyB0aGUgY29kZS4KCjIwMDktMDYtMTQgMTA6MzY6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBHU1RfTUVNRFVNUCBzdGF0ZW1lbnRzIGZvciB1bmtub3duIGF0b21zLgoJICBUaGlzIGlzIHRvIGhlbHAgZGV2ZWxvcGVycyB0cmFjayBkb3duIGFuZCBpbXBsZW1lbnQgdW5oYW5kbGVkIGF0b21zIGZhc3Rlci4KCjIwMDktMDYtMjMgMTc6NTE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZW1vdmUgdGhlIGludGVybGFjZWQgZmllbGQgZnJvbSB0aGUgb3V0cHV0IGNhcHMgaWYgZGVpbnRlcmxhY2luZyBpcyBlbmFibGVkCgoyMDA5LTA2LTIzIDE3OjQ4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogQ29weSB0aGUgY29ycmVjdCBsaW5lIGZyb20gY29ycmVjdCBwbGFjZSBpbiB0aGUgaGlzdG9yeQoKMjAwOS0wNi0yMyAxNjozNTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIHNhbWUgcHJvdG9jb2xzIGFmdGVyIHJlZGlyZWN0CgkgIEFmdGVyIGEgcmVkaXJlY3Qgd2Ugd2FudCB0byB1c2UgdGhlIHNhbWUgcHJvdG9jb2xzIHRoYXQgd2Ugd2VyZSB1c2luZyBmb3IgdGhlCgkgIGN1cnJlbnQgdXJsLgoKMjAwOS0wNi0yMyAxNTozNTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGxlYWsgY292ZXIgYXJ0CgoyMDA5LTA2LTIzIDE0OjEwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBFQUlfQUREUkZBTUlMWSBnZXR0aW5nIHJlZGVmaW5lZCBpbiBzb21lIGNhc2VzCgkgIEluY2x1ZGUgdGhlIGhlYWRlciBmcm9tIHdoZXJlIHdlIGluY2x1ZGUgYWxsIHRoZSBzeXN0ZW0gaGVhZGVycyB3aXRoIHRoZQoJICBzb2NrZXQgc3R1ZmYgYmVmb3JlIHdlIHRyeSB0byBkZWZpbmUgRUFJX0FERFJGQU1JTFkgb3Vyc2VsdmVzLCBvdGhlcndpc2UKCSAgd2UgZGVmaW5lIGl0IG91cnNlbHZlcyBhbmQgdGhlbiBnZXQgYSBjb21waWxlciB3YXJuaW5nIGlmIGEgc3lzdGVtIGhlYWRlcgoJICBkZWZpbmVzIGl0IGFzIHdlbGwgd2l0aG91dCBndWFyZGluZyBhZ2FpbnN0IGl0IGJlaW5nIGRlZmluZWQgYWxyZWFkeS4KCjIwMDktMDYtMjMgMTQ6Mzk6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thOiBhbmQgdGhlIG5ldyBoZWFkZXJzIHRvbwoKMjAwOS0wNi0yMyAxNDozMjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrZTogZml4IGNvbXBpbGVyIGVycm9yCgkgIGNoYW5nZSBncG9pbnRlciB0byBndWludDggKiBmb3IgY29kZWNfc3RhdGUgYW5kIGNvZGVjX3ByaXYgYXMgc29tZQoJICBmdW5jdGlvbnMgb3BlcmF0ZSBvbiB0aG9zZSB0eXBlcyBhbmQgaXQgYXZvaWRzIGJyZWFraW5nIHN0cmljdC1hbGlhc2luZwoJICBydWxlcy4KCjIwMDktMDYtMjMgMTI6NDI6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgbGVha2luZyBidWZmZXJzCgkgIERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHJlc3luY2luZyB0byBhIGtleWZyYW1lLgoJICBBdm9pZCBsZWFraW5nIGJ1ZmZlcnMgd2hlbiBleGl0aW5nIHRoZSBsb29wIG9uIGVycm9yIGNvbmRpdGlvbnMuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgRml4ZXMgIzU4NTkxMQoKMjAwOS0wNi0yMiAxNTo1Njo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBvcGVuL2Nsb3NlIHRoZSBkZXZpY2UgaW4gUkVBRFkKCSAgVGhpcyBhbGxvd3MgdG8gcXVlcnkgdGhlIGRldmljZSBpbiBSRUFEWS4gQmVmb3JlIG9uZSBuZWVkIHRvIHN3aXRjaCBpdCB0byBQQVVTRUQKCSAgYW5kIHRoYXQgYWxzbyBzdGFydHMgc3RyZWFtaW5nLgoKMjAwOS0wNi0yMCAxNTo0MTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiB1c2UgR1NUX01FTURVTVAKCjIwMDktMDYtMTkgMDA6MTY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBhcGVkZW11eDogYWRkIGNvbnRhaW5lci1mb3JtYXQgdGFnCgkgIFVzZSBwYnV0aWxzIGhlcmUgYmVjYXVzZSB0aGUgc3RyaW5nIGlzIHRyYW5zbGF0ZWQuCgoyMDA5LTA2LTE5IDAwOjE1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIGlkM2RlbXV4OiBhZGQgY29udGFpbmVyLWZvcm1hdCB0YWcKCSAgVXNpbmcgcGJ1dGlscyBoZXJlIGJlY2F1c2UgdGhlIHN0cmluZyBpcyB0cmFuc2xhdGVkLgoKMjAwOS0wNi0xOCAyMzo1MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFnCgkgIEFsc28gbWVyZ2UgdGhlIHR3byBhbG1vc3QgaWRlbnRpY2FsIF9hZGRfKl9wYWQoKSBmdW5jdGlvbnMgaW50byBvbmUuCgoyMDA5LTA2LTE4IDIzOjQzOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IGRvbid0IHNjcmV3IHVwIGZpcnN0IGF1ZGlvIGJ1ZmZlcgoJICBRdWVyeSB0aGUgYXVkaW8gZm9ybWF0LCBlc3AuIGR2ZGVtdXgtPm51bV9jaGFubmVscywgYmVmb3JlIHdlIHVzZSB0aGF0CgkgIHZhcmlhYmxlIHRvIGFsbG9jYXRlIHRoZSBpbml0aWFsIGJ1ZmZlci4gVGhhdCB3YXkgd2UgZG9uJ3QgYWNjaWRlbnRhbGx5CgkgIHB1c2ggYSB6ZXJvLXNpemVkIGJ1ZmZlciBhcyBmaXJzdCBhdWRpbyBidWZmZXIuCgoyMDA5LTA2LTE4IDIzOjM4OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWcKCjIwMDktMDYtMTggMjM6Mzc6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFncwoKMjAwOS0wNi0xOCAyMzozNjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFnCgoyMDA5LTA2LTE4IDIzOjM1OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZ3MKCjIwMDktMDYtMjEgMTc6MTM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogRml4IGludGVnZXIgb3ZlcmZsb3dzIG9uIDMyIGJpdCBhcmNoaXRlY3R1cmVzCgoyMDA5LTA2LTIxIDA5OjUwOjU0ICswMjAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogRG9uJ3QgZGVjbGFyZSBhIGxvb3AgaW5kZXggc3RhdGljCgkgIFRoZSBwcmV2aW91cyBwYXRjaCB0byBhZGQgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBzYW1wbGUgZm9ybWF0cyBwb3NzaWJseQoJICBpbnRyb2R1Y2VkIGEgcmVlbnRyYW5jeSBidWc6ICBhIHZhcmlhYmxlIHVzZWQgZm9yIGEgbG9vcCBpbmRleCB3YXMgZGVjbGFyZWQKCSAgc3RhdGljLiAgVGhpcyBwYXRjaCBmaXhlcyB0aGF0LCBhbmQgYWxzbyBhZGRzIGEgIi8qICpJTkRFTlQtT04qICovIiBhbm5vdGF0aW9uCgkgIGZvbGxvd2luZyB0aGUgbWFjcm8gYmxvY2suICAoSSBkb24ndCBrbm93IHdoYXQgdGhlIGFubm90YXRpb24gaXMgZm9yLCBidXQgdGhlCgkgIGFkZGVyLCB3aGVyZSBJIGNvcGllZCB0aGlzIGZyb20sIGhhcyBpdCkuCgoyMDA5LTA2LTE5IDIyOjM3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICBhdWRpb2FtcGxpZnk6IEZpeCBvZmYtYnktb25lIGluIHdyYXAtcG9zaXRpdmUgbW9kZQoKMjAwOS0wNi0xOSAyMjoyMDo0NSArMDIwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSAgYXVkaW9hbXBsaWZ5OiBBZGQgbm9jbGlwIG1ldGhvZCBhbmQgc3VwcG9ydCBmb3IgbW9yZSBmb3JtYXRzCgkgIEZpeGVzIGJ1ZyAjNTg1ODI4IGFuZCAjNTg1ODMxLgoKMjAwOS0wNi0xOSAyMTo0Njo0MSArMDIwMCAgS29vcCBNYXN0IDxrd21AZnJlZWJzZC5vcmc+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogRml4IGJ1aWxkIG9uIEZyZWVCU0QKCSAgRml4ZXMgYnVnICM1ODYzOTcuCgoyMDA5LTA2LTE5IDE4OjEyOjI3ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdHMgZm9yIGJ1ZmZlci1saXN0IHBheWxvYWRlcnMKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTkgMTg6MDA6MzUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0CgkgIFNlZSAjNTg1NTU5CgoyMDA5LTA2LTE5IDE3OjU3OjEyICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIHJ0cGpwZWdwYXk6IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdHMKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTkgMTc6NTM6MzIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0cwoJICBTZWUgIzU4NTU1OQoKMjAwOS0wNi0xOCAxMTo1NDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwdXRpbHM6IGRvbid0IGZyZWUgaW52YWxpZCBtZW1vcnkKCSAgQXMgc3BvdHRlZCBieSBiZW5qaUcgaW4gSVJDLgoJICBkb24ndCBmcmVlIGludmFsaWQgbWVtb3J5IHdoZW4gZ2V0YWRkcmluZm8gZmFpbGVkLgoKMjAwOS0wNi0xNyAxNzo0ODozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2Vpbms6IGRvbid0IGxlYWsgZGV2aWNlX2Rlc2NyaXB0aW9uCgkgIGRvbid0IGxlYWsgdGhlIGRldmljZV9kZXNjcmlwdGlvbi4KCSAgc29tZSBjbGVhbnVwcy4KCjIwMDktMDYtMTkgMTQ6NDQ6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIC5wbyBmaWxlcyBmb3Igc3VuYXVkaW9taXhlciBzdHJpbmcgY2hhbmdlcwoKMjAwOS0wNi0xOCAxNjo1ODoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdHJlYW1pbmc7IGFkanVzdCBzaXplcyB0byBjYXRlciBmb3IgcGFkZGluZyBpbiBjaHVua3MKCjIwMDktMDYtMTcgMTE6NTQ6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtaW5nIG1vZGU7IGhhbmRsZSBkYXRhIGNodW5rcyBncm91cGVkIGluIHJlYyBsaXN0cy4KCSAgRml4ZXMgIzU2Nzk4My4KCjIwMDktMDYtMTAgMTI6MzY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYXAgc29tZSB0YWdzIHRvIENPTVBPU0VSIHJhdGhlciB0aGFuIEFSVElTVAoKMjAwOS0wNi0xMCAxMjozNDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzb21lIDNHUCB0YWcgZXh0cmFjdGlvbiAoa2V5d29yZHMsIGdlbnJlLCBsb2NhdGlvbikKCjIwMDktMDYtMDkgMTU6MzY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBleHRyYWN0IHBpeGVsLWFzcGVjdC1yYXRpbyBpbmZvcm1hdGlvbgoKMjAwOS0wNi0xNyAwNzoxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IGxlYWtpbmcgb2YgdGhlIE1hdHJvc2thIFRJVExFIGVsZW1lbnQKCjIwMDktMDYtMTYgMjA6Mzg6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICBlZmZlY3R2OiBBZGQgYmFzaWMgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGVmZmVjdHYgZWxlbWVudHMKCjIwMDktMDYtMTYgMjA6MTY6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0djogRGVmaW5lIHRoZSBmYXN0IFBSTkcgZnVuY3Rpb24gYXQgYSBjZW50cmFsIHBsYWNlCgoyMDA5LTA2LTE2IDIwOjEzOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIGVmZmVjdHY6IE1vdmUgdHlwZSBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlcnMKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIHRoZSBkb2NzIGxhdGVyLgoKMjAwOS0wNi0xNiAxOTo0MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IFJlbW92ZSBnZXRfdW5pdF9zaXplIGltcGxlbWVudGF0aW9ucwoJICBUaGUgZGVmYXVsdCBvbiBmcm9tIEdzdFZpZGVvRmlsdGVyIGhhbmRsZXMgdGhpcyBhbHJlYWR5LgoKMjAwOS0wNi0xNiAxNDo1NDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIGdpdAoJICBOZWVkIGdpdCBjb3JlIGZvciBiYXNlc2luayBidWZmZXJsaXN0IGFkZGl0aW9uczsgLWJhc2UgcmVxdWlyZW1lbnQKCSAgYnVtcGVkIGdyYXR1aXRvdXNseS4KCjIwMDktMDYtMTYgMTU6MjU6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIHRlc3RzOiBhZGQgc29tZSBkZWJ1Zywgc2VuZCBuZXdzZWdtZW50CgoyMDA5LTA2LTE2IDE1OjA2OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgZGVidWcgbGluZSBmb3IgdGhlIHNvY2tldAoKMjAwOS0wNi0xNiAxNTowNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzOiB0dXJuIGdfcHJpbnQgaW50byBkZWJ1ZwoKMjAwOS0wNi0xNiAxNTowNDoxNSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoJICBBZGQgc3VwcG9ydCBmb3IgQnVmZmVyTGlzdCBhbmQgYWRkIGEgdW5pdCB0ZXN0LgoJICBGaXhlcyAjNTg1ODQyCgoyMDA5LTA2LTE2IDAwOjAyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZXNldCBzZXNzaW9uIHN0YXRlIHdoZW4gc3RvcHBpbmcKCSAgSW5jcmVhc2VzIHRoZSBjaGFuY2VzIHRoYXQgdGhlIGVsZW1lbnQgaXMgYWN0dWFsbHkgcmV1c2FibGUuCgoyMDA5LTA2LTE1IDIzOjQ5OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBsb2cgcmVzcG9uc2UgYW5kIHJlcXVlc3QgaGVhZGVycyBhbmQgZml4IHNvbWUgYnJva2VuIGluZGVudGluZwoKMjAwOS0wNi0xNSAyMjo0MDozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogZ3Vlc3MgY29uc3RhbnREdXJhdGlvbiBiZXR0ZXIKCSAgRG8gYSBiZXR0ZXIgam9iIGF0IGd1ZXNzaW5nIHRoZSBjb25zdGFudER1cmF0aW9uIHBhcmFtZXRlciB3aGVuIGl0IGlzIG5vdAoJICBwcmVzZW50IGluIHRoZSBjYXBzLgoJICBGaXhlcyAjNTg1MjA1CgoyMDA5LTA2LTE1IDIxOjA5OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgd2FycHR2OiBDbGVhbiB1cCB3YXJwdHYgZWxlbWVudCBhbmQgZml4IHNvbWUgbWlub3IgYnVncyBhbmQgbGVha3MKCjIwMDktMDYtMTUgMjA6NTM6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICB2ZXJ0aWdvdHY6IENsZWFuIHVwIHZlcnRpZ290diBlbGVtZW50IGFuZCBmaXggc29tZSBtaW5vciBidWdzIGFuZCBsZWFrcwoKMjAwOS0wNi0xNSAyMDozODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgIGRpY2V0djogVXNlIGd1aW50OCBpbnN0ZWFkIG9mIGNoYXIgKHdoaWNoIGNhbiBiZSBzaWduZWQgb3IgdW5zaWduZWQpCgoyMDA5LTA2LTE1IDIwOjM2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgc2hhZ2FkZWxpY3R2OiBVc2UgZ3VpbnQ4L2dpbnQ4IGluc3RlYWQgb2YgY2hhciAod2hpY2ggY2FuIGJlIHNpZ25lZCBvciB1bnNpZ25lZCkKCjIwMDktMDYtMTUgMjA6MzE6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBzaGFnYWRlbGljdHY6IENsZWFuIHVwIGVsZW1lbnQgYW5kIGZyZWUgYWxsIG1lbW9yeSBpbiBmaW5hbGl6ZQoKMjAwOS0wNi0xNSAyMDoyMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgcmV2dHY6IENsZWFuIHVwIHJldnR2IGVsZW1lbnQKCjIwMDktMDYtMTUgMjA6MDc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogU2ltcGxpZnkgc29tZSBjb2RlCgoyMDA5LTA2LTE1IDIwOjA3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IFVzZSB0aGUgaW5wdXQgZGF0YSBpZiBhIE5VTEwgYnVmZmVyIGlzIGNob3NlbiBpbnN0ZWFkIG9mIHRoZSB2YWx1ZSAwCgoyMDA5LTA2LTE1IDIwOjAwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IEZpeCBzZXR0aW5nIHRoZSBwbGFuZXMgcHJvcGVydHkgb2YgcXVhcmt0dgoJICBTZXR0aW5nIGl0IHRvIGEgdmFsdWU8MTYgd291bGQgY2F1c2UgY3Jhc2hlcyBiZWZvcmUgYmVjYXVzZQoJICBjdXJyZW50X3BsYW5lIHdhcyBzZXQgdG8gdGhlIG9sZCBudW1iZXIgb2YgcGxhbmVzLTEuIEFsc28KCSAgZml4IGNhbGN1bGF0aW9ucyBmb3Igbm9uLTJebiBwbGFuZXMgdmFsdWVzLgoKMjAwOS0wNi0xNSAxNzo1MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBDbGVhbiB1cCB0aGUgcXVhcmt0diBlbGVtZW50CgoyMDA5LTA2LTE1IDE3OjM5OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSAgZWZmZWN0djogTWFrZSBlbGVtZW50cyBsaXN0IGNvbnN0YW50CgoyMDA5LTA2LTE1IDE3OjM3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiBDbGVhbiB1cCBlZGdldHYgZWxlbWVudCBhbmQgZml4IG1lbW9yeSBsZWFrCgoyMDA5LTA2LTE1IDE3OjIxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgZGljZXR2OiBDbGVhbiB1cCBkaWNldHYgZWxlbWVudCBhbmQgZml4IHNvbWUgc21hbGxlciBpc3N1ZXMKCSAgVGhpcyBmaXhlcyBhIG1lbW9yeSBsZWFrICh0aGUgZGljZSBtYXApIGFuZCBhIGNyYXNoIHdoZW4KCSAgc2V0dGluZyB0aGUgc3F1YXJlLWJpdHMgcHJvcGVydHkgYmVmb3JlIGNhcHMgYXJlIHNldC4KCjIwMDktMDYtMTUgMTc6MjA6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IEFjdHVhbGx5IHVzZSBHc3RDb250cm9sbGVyIGZvciBzeW5jaW5nIHRoZSBwcm9wZXJ0aWVzIHRvIHRpbWVzdGFtcHMKCjIwMDktMDYtMTUgMTc6MDM6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogRXhwb3J0IHNvbWUgbW9yZSBhZ2luZ3R2IHByb3BlcnRpZXMgdmlhIEdPYmplY3QgcHJvcGVydGllcwoKMjAwOS0wNi0xNSAxNTowNjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBHZW5lcmFsIGNsZWFudXAgYW5kIHVwZGF0aW5nIG9mIGNvcHlyaWdodAoJICBBbHNvIG1ha2UgdGhlIHNjcmF0Y2gtbGluZXMgcHJvcGVydHkgZXhwb3J0ZWQgdmlhIGEgR09iamVjdAoJICBwcm9wZXJ0eSBhbmQgaW5pdGlhbGl6ZS9yZXNldCB0aGUgaW50ZXJuYWwgc3RhdGUgY29ycmVjdGx5LgoKMjAwOS0wNi0xNSAxNTowNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBTdG9yZSBhbmQgdXBkYXRlIHN0YXRlIGluc2lkZSB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIFRoaXMgbWFrZXMgdGhlIGNvbG9yYWdpbmcgZWZmZWN0IGFuZCBwaXRzIGVmZmVjdCB2aXNpYmxlLgoKMjAwOS0wNi0xNSAxNTo1MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVmIGN1c3RvbSByaW5nIGJ1ZmZlciBjbGFzcyBhbmQgdHlwZSBpbiBjbGFzc19pbml0CgkgIEhhY2sgYXJvdW5kIHRocmVhZC1zYWZldHkgaXNzdWVzIGluIEdPYmplY3QgYW5kIG91ciByYWN5IF9nZXRfdHlwZSgpCgkgIGZ1bmN0aW9ucyAod2UgY291bGQgZWFzaWx5IGZpeCB0aGUgX2dldF90eXBlKCkgZnVuY3Rpb25zLCBidXQgd2Ugc3RpbGwKCSAgbmVlZCB0byBoYWNrIGFyb3VuZCB0aGUgR09iamVjdCBjbGFzcyByYWNlcyB1bnRpbCB3ZSByZXF1aXJlIGEgbmV3ZXIKCSAgR0xpYiB2ZXJzaW9uLCBJIHRoaW5rKS4KCjIwMDktMDYtMTQgMTk6MTk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2RlbW8tcGxheS5jOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL1JFQURNRToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogdGVzdHMvb2xkL2V4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIFJlbW92ZSBhIGZldyBvbGQgZXhhbXBsZSBhcHBzIGZyb20gdGhlIDAuOCBkYXlzCgkgIFNvbWUgaGF2ZSBiZWVuIHJlcGxhY2VkIGJ5IG5ld2VyIG9uZXMsIG90aGVycyBhcmUgZGVtb2luZyBlbGVtZW50cyB0aGF0CgkgIGRvbid0IGV4aXN0IGFueSBsb25nZXIgKG5vdCBpbiAtZ29vZCBhbnl3YXkpLCBhbmQgb3RoZXJzIGhhdmUgbm90IGJlZW4KCSAgdG91Y2hlZCBpbiBtYW55IHllYXJzIGFuZCBpdCBzZWVtIHBvaW50bGVzcyB0byBrZWVwIHRoZW0gYXJvdW5kLgoJICBSZW1vdmluZyB0aGVzZSBmaWxlcyBtYWtlcyBzdXJlIHdlIGRvbid0IGhhdmUgYW55IGNvZGUgaW4gb3VyIHJlcG9zaXRvcnkKCSAgdGhhdCB1c2VzIEd0aysgc3ltYm9scyB3aGljaCBhcmUgdG8gYmUgcmVtb3ZlZCBmb3IgR05PTUUzLCBhbmQgYXMgc3VjaAoJICB3aWxsIG1ha2Ugc29tZSBzY3JpcHQgdGhhdCBncmVwcyBmb3IgdGhpcyBraW5kIG9mIHN0dWZmIGdpdmUgdXMgYSBjbGVhbgoJICBiaWxsIG9mIGNvZGUgaGVhbHRoLiBGaXhlcyAjNTg1NzU3LgoKMjAwOS0wNi0xMyAyMTowMjo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBjb21tb246CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSAgcnRwc2lyZW5wYXk6IFJlbW92ZSBkZXByZWNhdGVkIHN5bWJvbAoJICBQYXRjaCBieTogTHVpcyBNZW5pbmEKCjIwMDktMDYtMTMgMTA6NDM6NTUgKzAyMDAgIE1hcnZpbiBTY2htaWR0IDxtYXJ2aW5fc2NobWlkdEBnbXgubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBEb24ndCBydW4gdGhlIGZsYWNkZWMgdGVzdCBpZiB0aGUgcGx1Z2luIGlzbid0IGJ1aWx0LiBGaXhlcyAjNTg1NjMwCgoyMDA5LTA2LTEyIDE2OjA2OjI4ICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemkgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIFJUUCBibG9ja3NpemUgZnVuY3Rpb25hbGl0eQoJICBBZGQgcHJvcGVydHkgdG8gbWFrZSB0aGUgY2xpZW50IHN1Z2dlc3QgYSBibG9ja3NpemUgdG8gdGhlIHNlcnZlci4KCSAgRml4ZXMgIzU4NTU0OQoKMjAwOS0wNi0xMSAyMjozMDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBydHA6IHVwZGF0ZSBSRUFETUUsIGZpeCBzb21lIHR5cG9zLCBtZW50aW9uIGdzdHJ0cGJpbgoKMjAwOS0wNi0xMSAxOToxMDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgYm9yZGVyIGNhc2VzIGluIHJlc2FtcGxlcgoKMjAwOS0wNi0xMSAxMzozMjoyMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgZG9jczogQnVtcCBjb21tb24uIFVzZSB1cGxvYWQtZG9jLm1hayBpbnN0ZWFkIG9mIHVwbG9hZC5tYWsKCSAgUmVtb3ZlIHRoZSBsb2NhbCBjb3B5IG9mIHVwbG9hZC5tYWsgaW4gZmF2b3VyIG9mIHVzaW5nIHRoZSBzaGFyZWQKCSAgdXBsb2FkLWRvYy5tYWtlIGluIGNvbW1vbi8KCjIwMDktMDYtMTEgMTE6Mzk6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZG9jczogUXVpZXRlbiBhIGNvdXBsZSBtb3JlIGRvY3Mgd2FybmluZ3MKCjIwMDktMDYtMTEgMTE6Mjc6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgZG9jczogUmVtb3ZlIGd0ay1kb2MgY29tbWVudCBtYXJrZXIKCSAgVGhlc2UgY29tbWVudCBibG9ja3MgYXJlbid0IGd0ay1kb2MgY29tbWVudHMgYW5kIGNhdXNlIGFubm95aW5nIG5vaXNlIGluCgkgIHRoZSBkb2NzIGJ1aWxkLgoKMjAwOS0wNi0xMSAxMDowNTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBJbXBsZW1lbnQgdXBzdHJlYW0gbmVnb3RhdGlvbgoKMjAwOS0wNi0xMCAyMTo0Nzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgZGVidWdnaW5nIGFuZCBjbGVhbiB1cCBzb21lIGNvZGUKCjIwMDktMDYtMTAgMTQ6NTU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDbGlwIGJ1ZmZlcnMgdG8gdGhlIGN1cnJlbnQgc2VnbWVudCBpZiBwb3NzaWJsZQoKMjAwOS0wNi0xMCAxNDo0NTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBDbGVhbiB1cCBpbmNsdWRlcyBhbmQgY2xlYW4gdXAgb3JkZXIgb2YgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcwoKMjAwOS0wNi0xMCAxNjowOTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IERlZmF1bHQgdG8gZG9pbmcgQSwgQiBhbmQgQyBtb2Rlcywgbm90IG9ubHkgQQoKMjAwOS0wNi0xMCAwOTo1NjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBRb1MgY2FsY3VsYXRpb25zCgkgIFRoZSBkaWZmIGlzIGEgc2lnbmVkIGludGVnZXIsIG5vdCBhbiB1bnNpZ25lZCBvbmUgb2YgY291cnNlLgoJICBJbiBtb2RlcyBvdGhlciB0aGFuIEdTVF9ERUlOVEVSTEFDRV9BTEwgZXZlcnkgZnJhbWUgaGFzIHR3aWNlIHRoZQoJICBkdXJhdGlvbiBvZiB0aGUgZmllbGQgZHVyYXRpb24uCgoyMDA5LTA2LTA5IDE0OjEzOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkgIHJ0cHNpcmVucGF5OiBQdXQgdGhlIGJpdHJhdGUgaW4gdGhlIFJUUCBjYXBzCgkgIFRoZSBNUyBjb2RlIHNlZW1zIHRvIHJlcXVpcmUgdGhlIGJpdHJhdGUgdG8gaW50ZXJvcGVyYXRlIGFuZAoJICBkcmFmdC1pZXRmLWF2dC1ydHAtZzcyMjEtMDAgYWxzbyBoYXMgaXQuCgoyMDA5LTA2LTA5IDE5OjU1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBjaGFuZ2UgaXMgYmFzZWQgb24gVGltJ3MgUW9TIGltcGxlbWVudGF0aW9uCgkgIGZvciBqcGVnZGVjLgoKMjAwOS0wNi0wOSAxOToyOTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERpcmVjdGx5IHByb3h5IGV2ZW50cy9xdWVyaWVzIHRvIHRoZSBwZWVyIHBhZHMKCSAgVGhpcyByZW1vdmVzIHNvbWUgb3ZlcmhlYWQgaW50cm9kdWNlZCBieSB0aGUgZGVmYXVsdCBoYW5kbGVycwoJICB0aGF0IG5lZWQgdG8gaXRlcmF0ZSBvdmVyIHRoZSBvdGhlciBwYWRzLgoKMjAwOS0wNi0wOSAxMDozODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRlYnVnX21lbWR1bXAoKSB1bmtub3duIHRhZ3MuIFJlZmFjdG9yIGp1bmsgcGFyc2luZyBjb2RlLgoJICBUaGlzIG1ha2VzIGxpZmUgc2xpZ2h0bHkgZWFzaWVyIHdoZW4gZGVidWdnaW5nIGF2aSBmaWxlcy4KCjIwMDktMDYtMDggMDg6MjE6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IERvbid0IGZvcmdldCB0byBkaXN0IHRoZSBoZWFkZXJzIGZvciB0aGUgQ0VMVCAoZGUpcGF5bG9hZGVycy4KCjIwMDktMDYtMDcgMjA6NTQ6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJxdGRlbXV4OiBmaWxsIHRpbWVzdGFtcCB0YWJsZSBjb21wbGV0ZWx5IiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZjAyMmM4YTg1MDNjMmNlMGZhNjE3ZmRiNTBlNDE3MDZkZDQxMmY1LgoJICBTb3JyeSwgSSB3YXMgdGhpbmtpbmcgYWJvdXQgdGhlIHdyb25nIG1vZHVsZS4KCjIwMDktMDYtMDcgMjA6NDk6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogZmlsbCB0aW1lc3RhbXAgdGFibGUgY29tcGxldGVseSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3OTBiMDUwZmM1MzAyY2FlODljZGRjZDIzYjI1ODA5Mzk2N2QwNWE5LgoJICBJIGZvcmdvdCB3ZSB3ZXJlIGZyb3plbi4KCjIwMDktMDYtMDcgMjA6NDY6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpbGwgdGltZXN0YW1wIHRhYmxlIGNvbXBsZXRlbHkKCSAgV2hlbiB0aGVyZSBhcmUgbGVzcyB0aW1lc3RhbXBzIHRoYXQgdGhlcmUgYXJlIHNhbXBsZXMsIGZpbGwgdXAgdGhlIHNhbXBsZSB0YWJsZQoJICB3aXRoIHRoZSBsYXN0IGtub3cgdGltZXN0YW1wLiBUaGlzIHNpdHVhdGlvbiBjYW4gaGFwcGVuIHdoZW4gdGhlIGxhc3Qgc2FtcGxlCgkgIGRvZXMgbm90IGRlY29kZSBhbmQgZG9lc24ndCBuZWVkIGEgdGltZXN0YW1wLiBXZSBob3dldmVyIGNhbGN1bGF0ZSB0aGUgdG90YWwKCSAgdHJhY2sgbGVuZ3RoIHVzaW5nIHRoZSBsYXN0IHNhbXBsZSB0aW1lc3RhbXAgc28gd2UgbmVlZCB0byBoYXZlIHNvbWV0aGluZwoJICBzZW5zaWJsZSBpbiB0aGVyZS4KCSAgRml4ZXMgIzU4NTA1NgoKMjAwOS0wNi0wNyAxMzozNzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogaGFuZGxlIExJU1QgSU5GTyBvZiAwIHNpemUKCSAgSGFuZGxlIExJU1QgSU5GTyBjaHVua3Mgb2YgMCBzaXplIGluc3RlYWQgb2YgY2F1c2luZyBlcnJvcnMuCgkgIEZpeGVzICM1ODQ5ODEKCjIwMDktMDYtMDcgMTM6MjQ6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmV2ZXJ0ICJ3YXZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMsIG1vdmUgdmFyaWFibGUgdG8gd2hlcmUgaXQncyBuZWVkZWQuIgoJICBSZXZlcnRzIGNvbW1pdCA0NDI1NmE3OGY4ZGQ3OWE5MWYzYmIyYWI3YzNhYTYyM2MwOTdiYjhhIGFuZCB1c2UgdGhlIHJlc3VsdCBpbgoJICBlcnJvciByZXBvcnRpbmcgc28gdGhhdCB3ZSBjYW4gc2VlIHdoYXQncyBnb2luZyBvbi4KCjIwMDktMDYtMDUgMTg6NTU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJICBjZWx0ZGVwYXk6IGFkZCBDRUxUIGRlcGF5bG9hZGVyCgoyMDA5LTA2LTA1IDE1OjMwOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJICBydHBjZWx0cGF5OiBhZGQgQ0VMVCBSVFAgcGF5bG9hZGVyCgoyMDA5LTA2LTA1IDE2OjU0OjQ4ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICBzdW5hdWRpbzogRml4IHN3aXRjaCBzZXR0aW5nIG9uIHNvbWUgZGV2aWNlcy4gQWRkIGRlYnVnLiBGaXggYSBGSVhNRS4KCSAgRml4IHRoZSBzZXR0aW5nIG9mIHRvZ2dsZSBzd2l0Y2hlcyBvbiBzb21lIGJyb2tlbiBhdWRpbyBkcml2ZXJzIHdoaWNoCgkgIHJlcG9ydCB0aGF0IG5vIGF1ZGlvIHBvcnRzIGFyZSBzZXR0YWJsZSBieSBpZ25vcmluZyB0aGUgbW9kX3BvcnQgZmllbGQKCSAgdGhlcmUuCgkgIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgkgIEZpeCBhIEZJWE1FIG5vdyB0aGF0IEdvb2QgcmVsaWVzIG9uIGEgbmV3IGVub3VnaCBnc3QtcGx1Z2lucy1iYXNlLgoKMjAwOS0wNi0wNCAxMjoyNzoxOSArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgc3VuYXVkaW86IFN1cHBvcnQgbmV3IGZsYWdzIGZvciBvcHRpb25zIGFuZCBhY3Rpb25zCgkgIFVzZSBuZXcgYXVkaW8gbWl4ZXIgZmxhZ3MgYWRkZWQgaW4gQmFzZSAwLjEwLjIzIHRvIGV4cG9zZSBmbGFncyBhbmQgb3B0aW9ucwoJICBvbiB0aGUgU3VuQXVkaW8gZGV2aWNlcy4KCSAgRml4ZXM6ICM1ODM1OTMKCSAgUGF0Y2ggQnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCSAgUGF0Y2ggQnk6IEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCjIwMDktMDUtMTUgMTE6NTA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogRmlyc3QgdHJ5IHRvIGhhbmRsZSBEVkQgc3RpbGwgZnJhbWVzIGNvcnJlY3RseQoJICBUaGlzIGhlbHBzIGEgYml0IHdpdGggYnVnICM1ODI3NDAgYnV0IHN0aWxsIGRvZXNuJ3QgbWFrZSBpdCB3b3JrLgoKMjAwOS0wNi0wNCAxNzozNzowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9ubHkgbm90aWZ5IGlmIGFsbCBjaGVja3MgcGFzc2VkCgkgIFJlcGxhY2UgZ290byBkb25lOiB3aXRoIHJldHVybiwgYXMgdGhvc2UgYXJlIGNoZWNrcyB3aGVuIHdlIGRvbid0IHdhbnQgdG8gZmxhZyBhCgkgIHBlbmRpbmcgbm90aWZ5LgoKMjAwOS0wNi0wNCAxNToxOTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IHRoZSByaWdodCBzdGF0ZSBvbiBydHBiaW4KCSAgV2UgbmVlZCB0byBzZXQgdGhlIHN0YXRlIG9mIGdzdHJ0cGJpbiB0byB0aGUgc2FtZSBzdGF0ZSBhcyBvdXIgc291cmNlIGVsZW1lbnRzLgoJICBUaGlzIGZpeGVzIGZhbGxiYWNrIHRvIFRDUCBhZ2Fpbi4KCjIwMDktMDYtMDMgMTg6MjM6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjaGVjayBwb2ludGVyIGJlZm9yZSBhY2Nlc3NpbmcKCSAgTW92ZSBleGlzdGluZyBjaGVjayBhIGZldyBsaW5lcyB1cCwgc28gdGhhdCB3ZSBjaGVjayBiZWZvcmUgYWNjZXNzaW5nIGZpZWxkcy4KCjIwMDktMDYtMDMgMTg6MjE6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZW5hbWUgZ3N0X3B1bHNlX3NpbmtfZ2V0X3RpbWUgdG8gZ3N0X3B1bHNlc2lua19nZXRfdGltZQoJICBSZW5hbWUgaW50ZXJuYWwgbWV0aG9kIGZvciBjb25zaXN0ZW5jeS4KCjIwMDktMDYtMDMgMTg6MTk6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgdmFsdWVzIGZyb20gcGFfc3RyZWFtX2dldF9idWZmZXJfYXR0cigpCgkgIFdlIHdlcmUgcHV0dGluZyB0aGUgcmVxdWVzdGVkIHZhbHVlcyBiYWNrIGludG8gcmluZ2J1ZmZlciBzcGVjLCBpbnN0ZWFkIG9mCgkgIHVzaW5nIHRoZSBxdWVyaWVkIHZhbHVlcy4KCjIwMDktMDYtMDIgMTk6MzI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogdHJpbSBvdXRwdXQgYnVmZmVycwoJICBSZW1vdmUgdGhlIGxlZnRvdmVyIHVudXNlZCBieXRlcyBpbiB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgRml4ZXMgIzU4NDYxMwoKMjAwOS0wNi0wMiAxOTozMDozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogZml4IHBhcnNpbmcgb2Ygc2FtcGxpbmcgZmllbGQKCSAgY29tbWl0IGExMmQ5YTgwZjIyNWJlOTdiMzY3NGIxYTA1MDZhYzY2NTQ0ZGJmNDkgYnJva2UgdGhlIHBhcnNpbmcgb2YgdGhlCgkgIHNhbXBsaW5nLgoKMjAwOS0wNS0yNyAxNzowNjozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBBdm9pZCBwb3NzaWJsZSBvdmVyZmxvdyBpbiBjYWxjdWxhdGlvbnMKCSAgQSBtYWxmb3JtZWQgKG9yIHNpbXBseSBodWdlKSBQTkcgZmlsZSBjYW4gbGVhZCB0byBpbnRlZ2VyIG92ZXJmbG93IGluCgkgIGNhbGN1bGF0aW5nIHRoZSBzaXplIG9mIHRoZSBvdXRwdXQgYnVmZmVyLCBsZWFkaW5nIHRvIGNyYXNoZXMgb3IgYnVmZmVyCgkgIG92ZXJmbG93cyBsYXRlci4gRml4ZXMgU0EzNTIwNSBzZWN1cml0eSBhZHZpc29yeS4KCjIwMDktMDYtMDIgMDA6NDg6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBzb21lIG1vcmUgbG9nZ2luZyAtIGR1bXAgaGVhZGVyIHBhY2tldHMKCSAgQWxzbywgdGhlIGZpbmFsIGZpeGluZyB1cCBvZiB0aGUgaGVhZGVycyBpcyBleHBlY3RlZCBhbmQgbm90IHNvbWV0aGluZwoJICB3ZSBzaG91bGQgd2FybiBhYm91dC4KCjIwMDktMDYtMDIgMDA6Mzc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBuZXZlciBldmVyIHBhc3MgdmFsdWVzID4zNmJpdHMgdG8gX3NldF90b3RhbF9zYW1wbGVzX2VzdGltYXRlKCkKCSAgTGV0J3MgYmUgcGFyYW5vaWQgYW5kIG1ha2Ugc3VyZSB3ZSBuZXZlciBwYXNzIGEgbnVtYmVyIHRoYXQgdGFrZXMgdXAKCSAgbW9yZSB0aGFuIDM2IGJpdHMgdG8gX3NldF90b3RhbF9zYW1wbGVzX2VzdGltYXRlKCksIHNpbmNlIGxpYkZMQUMKCSAgZXhwZWN0cyBhbGwgdGhlIG90aGVyIGJpdHMgdG8gYmUgemVybywgYW5kIGlmIHRoaXMgaXMgbm90IHRoZSBjYXNlCgkgIG5laWdoYm91cmluZyBmaWVsZHMgaW4gdGhlIGdsb2JhbCBzdHJlYW0gaW5mbyBoZWFkZXIgbWF5IGdldCBtZXNzZWQKCSAgdXAgaW5hZHZlcnRlbnRseSwgc28gdGhhdCBmbGFjIC1kIHJlZnVzZXMgdG8gZGVjb2RlIHRoZSBzdHJlYW0uCgkgIFNlZSAjNTg0NDU1LgoKMjAwOS0wNi0wMSAyMjozMzowMiArMDIwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgQWRkcmVzcyBiYWQgRkxBQyBzYW1wbGUgbGVuZ3RoIGVuY29kaW5nIG9mICM1ODQ0NDU1CgkgIENvbW1pdCBkZjcwN2M2NjY0MzNhNzhkMzg3OGFmNmYwNTU2OThkNTc1NjIyNmM0CgkgIGludHJvZHVjZWQgYW4gb2J2aW91cyBidWcgaW4gdGhlIHNhbXBsZSBsZW5ndGggY2FsY3VsYXRpb24sCgkgIHVzaW5nIHRoZSB3cm9uZyBtYWNybyBmb3IgY29udmVyc2lvbi4KCjIwMDktMDYtMDEgMTE6NTg6MjEgLTA3MDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbW14Lmg6CgkgIGRlaW50ZXJsYWNlOiBGaXggc3B1cmlvdXMgY29sb25zIGluIGFzbSBjb2RlCgkgIEZpeGVzICM1ODQxNzQuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wNi0wMSAwMDo0MDo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBza2lwIEpVTksgY2h1bmtzIGluIGRhdGEgc2VjdGlvbiBpbiBzdHJlYW1pbmcgbW9kZQoJICBTa2lwIEpVTksgdGFncyBpbiBzdHJlYW1pbmcgbW9kZSBhcyB3ZWxsIGluc3RlYWQgb2YgRU9TaW5nCgkgIHByZW1hdHVyZWx5LiBGaXhlcyAjNTY0MTAwLgoKMjAwOS0wNS0yOCAxNDowMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBEb24ndCB1c2UgLy8gY29tbWVudHMKCjIwMDktMDUtMjggMTM6NTY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJICB2aWRlb21peGVyOiBGaXggYmFja2dyb3VuZCBibGl0dGluZyB3aGVuIGEgY29sb3IgbW9kZSBpcyBzZWxlY3RlZCB3aXRoIEJHUkEKCjIwMDktMDUtMjggMTM6NTQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IFNvbWUgY2xlYW51cCBhbmQgZml4IHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgc2l6ZSBpbiBieXRlcwoKMjAwOS0wNS0yOCAxMzozNTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBJNDIwIGJsZW5kaW5nIHRvIGFjdHVhbGx5IGRvIHNvbWV0aGluZwoJICBGb3IgdGhpcyB3ZSBhKSBpbXBsZW1lbnQgdGhlIGNoZWNrZXJzIGZpbGxpbmcgYW5kIGIpCgkgIGFjdHVhbGx5IGJsZW5kIHRoZSBzcmMvZGVzdCBieSB1c2luZyB0aGUgc3JjIGFscGhhIHZhbHVlCgkgIGZyb20gdGhlIHBhZC4KCjIwMDktMDUtMjggMTM6MTQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJICB2aWRlb21peGVyOiBGaXggQVJHQiBibGVuZGluZyB0byBhY3R1YWxseSB3b3JrCgoyMDA5LTA1LTI4IDEzOjA0OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkgIHZpZGVvbWl4ZXI6IEJsZW5kIEJHUkEgb3Vyc2VsdmVzIGluc3RlYWQgb2YgdXNpbmcgQ2Fpcm8KCjIwMDktMDUtMjggMTI6NTU6MTYgKzAyMDAgIEFsZXggVWdhcnRlIDxhbGV4dWdhcnRlQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIGJsZW5kaW5nIEJHUkEgYW5kIEFZVVYKCSAgRml4ZXMgYnVnICM1NzcwMTcuCgoyMDA5LTA1LTI4IDEyOjM5OjQ2ICswMjAwICBHaGlzbGFpbiAnQXVzJyBMYWNyb2l4IDxhdXNAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogVXNlIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgaW50ZXJuYWxseSBmb3IgdGhlIGludDE2IG1vZGUKCSAgQnkgdXNpbmcgaW50MzIgYXJpdGhtZXRpYyB3ZSB3aWxsIGludHJvZHVjZSBkaXN0b3J0aW9ucyBhcyB0aGUKCSAgSUlSIGZpbHRlciBpcyB2ZXJ5IHNlbnNpdGl2ZSB0byByb3VuZGluZyBlcnJvcnMuIEZpeGVzIGJ1ZyAjNTgwMjE0LgoKMjAwOS0wNS0yOCAxMDo1NToxNiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IHBsdWdpbnMKCjIwMDktMDUtMjYgMTc6MTk6MDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODg4ZTBhMiB0byBjNTcyNzIxCgoyMDA5LTA1LTI2IDE2OjIwOjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogY2xlYW51cCBhbmQgY29tbWVudGluZwoJICBSZW1vdmUgbmV3bGluZXMgaW5zZXJ0ZWQgYnkgZ3N0LWluZGVudCBvbmNlLiBSZW1vdmUgdW51c2VkIHZhciBmcm9tIGluc3RhbmNlCgkgIHN0cnVjdC4gQWRkIGNvbW1lbnRzLiBBZGQgYW5vdGhlciAjZGVmaW5lIGZvciBkZWZhdWx0IHByb3BlcnR5IHZhbHVlLgoKMjAwOS0wNS0wNiAxMjo0MzozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1ha2VmaWxlOiBpZGVhIGFib3V0IG1ha2VpbmcgbW9yZSBzb3VyY2VzL3NpbmtzIHRlc3RhYmxlIGFnYWluCgoyMDA5LTA1LTI1IDE2OjMzOjM1ICswMjAwICBKb2huIEtlZXBpbmcgPGpvaG4ua2VlcGluZyBhdCBsaW5lb25lLm5ldD4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogbWF0Y2ggZ19tYWxsb2MoKSB3aXRoIGdfZnJlZSgpCgkgIE1hdGNoaW5nIGdfbWFsbG9jKCkgd2l0aCBhIGdfZnJlZSgpIGlzIGltcG9ydGFudCB3aGVuIGEgY3VzdG9tIGFsbG9jYXRvciBpcwoJICBpbnN0YWxsZWQuCgkgIEZpeGVzICM1ODM4MDMKCjIwMDktMDUtMTIgMTg6Mzk6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIHJ0cG1wNHZwYXk6IGRvbid0IGxvb2sgZm9yIGhlYWRlcnMgaW4gc29tZSBjYXNlcwoJICBJbiBzb21lIHN0cmVhbXMgKHN0YXJ0aW5nIHdpdGggMDAwMDAxMDApIGRvbid0IGxvb2sgZm9yIHRoZSBoZWFkZXJzIGJ1dCBwdXNoCgkgIGRhdGEgYXMgaXQgaXMuCgkgIEZpeGVzICM1ODIxNTMKCjIwMDktMDUtMTMgMTE6NTA6MjIgKzAyMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aSBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrIG9mIG1lc3NhZ2VzCgkgIEZyZWUgbWVzc2FnZXMgY29ycmVjdGx5LgoJICBGaXhlcyAjNTc3MzE4CgoyMDA5LTA1LTI0IDE5OjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIGZha2VzcmMgc2lsZW50CgkgIE1ha2UgdGhlIGZha2VzcmMgdGhhdCBpcyByZXNwb25zaWJsZSBmb3Igc2VuZGluZyBkdW1teSBwYWNrZXRzIHNpbGVudC4KCjIwMDktMDUtMjQgMTY6MzM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHNlbmQgdGVhcmRvd24gYmVmb3JlIHNldHVwCgkgIERvbid0IHNlbmQgYSBURUFSRE9XTiByZXF1ZXN0IHdoZW4gd2UgZGlkIG5vdCBtYW5hZ2UgdG8gc3VjY2Vzc2Z1bGx5IHNldHVwIGEKCSAgc3RyZWFtLgoKMjAwOS0wNS0xNCAxNDo0NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogUG9wdWxhdGUgYSBHc3RJbmRleCB0aGF0IGlzIHNldCBvbiBtYXRyb3NrYWRlbXV4CgoyMDA5LTA1LTE0IDEwOjM1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogR2V0IHRoZSBtYXggZHVyYXRpb24gZnJvbSB1cHN0cmVhbSBpZiB0aGVyZSdzIG5vIGR1cmF0aW9uIHRhZwoKMjAwOS0wNS0xNCAxMDoyOTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IFdyaXRlIGFuIGluZGV4IHRhYmxlIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUKCjIwMDktMDUtMjIgMDE6MTI6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBhdXRvdG9vbHM6IG1vdmUgdGhlIC1Xbm8tcG9ydGFiaWxpdHkgZnJvbSBhdXRvZ2VuLnNoIHRvIGNvbmZpZ3VyZS5hYwoJICBJZiB3ZSdyZSBsdWNreSBpdCdsbCBnZXQgdXNlZCBvbiBhdXRvbWF0aWMgcmVidWlsZHMgYXMgd2VsbCB0aGF0IHdheS4KCjIwMDktMDUtMjIgMDE6MTA6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIG00L2dzdC1maW9ucmVhZC5tNDoKCSAgbTQ6IGZpeCAnc3VzcGljaW91cyBjYWNoZSBpZCcgd2FybmluZ3MKCSAgYW5kIHVwZGF0ZSBjb21tb24gdG8gcHVsbCBpbiBhIHNpbWlsYXIgZml4LiBBbHNvIGNoZWNrIGluIGNvbmZpZ3VyZQoJICB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBkbyB3aGlsZSBtYWNyb3MgKEdMaWIgd2FudHMgdGhpcwoJICBkZWZpbmVkIGFuZCBpdCBpcyBuZWVkZWQgdG8gYXZvaWQgd2FybmluZ3Mgd2l0aCBzb21lIGMrKyBjb21waWxlcnMKCSAgYXBwYXJlbnRseSkuCgoyMDA5LTA1LTIyIDAxOjM5OjMzICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdXBodHRwc3JjOiBCdW1wLXVwIGxpYnNvdXAtMi4yNCBkZXAgdG8gPj0gMi4yNgoJICBUaGUgaGVscGVyIGZ1bmN0aW9uIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2dldF9jb250ZW50X3R5cGUgdGhhdCB3ZSBub3cgdXNlCgkgIHdhcyBhZGRlZCBpbiAyLjI2LgoKMjAwOS0wNS0yMCAxNzo1Nzo1OSArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFNldCBjYXBzIGZvciBhdWRpby9MMTYgY29udGVudC10eXBlCgkgIFdoZW4gIkNvbnRlbnQtVHlwZSIgaGVhZGVyIGlzICJhdWRpby9MMTYiLCB3ZSBuZWVkIHRvIHNldCB0aGUgY2FwcyBvbiB0aGUKCSAgb3V0Z29pbmcgYnVmZmVycyBzbyB0aGF0IGRvd25zdHJlYW0gZWxlbWVudHMgY2FuIGhhdmUgbWVhbnMgdG8gZGV0ZWN0IHRoZQoJICBzdHJlYW0gdHlwZSBhbmQgaGFuZGxlIGl0IGFwcHJvcHJpYXRlbHkuIFRlc3RlZCB3aXRoIEhUVFAgc3RyZWFtIHByb3ZpZGVkCgkgIGJ5IHB1bHNlLWF1ZGlvJ3MgaHR0cCBtb2R1bGUgKGdpdCBtYXN0ZXIpLgoKMjAwOS0wNS0yMCAxNTowNjoyNSArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IFJlbmFtZSBpY3lfY2FwcyB0byBzcmNfY2FwcwoKMjAwOS0wNS0yMSAyMzozOToxMyArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbGlwcGUgYXQgZmx1ZW5kby5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGJ1bXAgbWF4IHNpemUgdG8gNjU1MzV4NjU1MzUKCSAgUmVtb3ZlIGFydGlmaWNpYWwganBlZyBpbWFnZSBsaW1pdHMuCgkgIEZpeGVzICM1ODMwNDguCgoyMDA5LTA1LTIxIDIxOjM2OjAyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBVcGRhdGUgdGhlIHdpbjMyIGNvbmZpZy5oCgoyMDA5LTA1LTE5IDE1OjEyOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBSZWNvZ25pc2UgUEdTIHN1YnBpY3R1cmUgc3RyZWFtcyAtIHRoZSBibHVyYXkgZm9ybWF0LgoJICBSZWNvZ25pc2UgYW5kIGFwcGx5IGFwcHJvcHJpYXRlIGNhcHMgdG8gUEdTIChQcmVzZW50YXRpb24gR3JhcGhpYyBTdHJlYW0pCgkgIHN1YnBpY3R1cmUgc3RyZWFtcy4KCjIwMDktMDUtMTUgMTA6NDI6MTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBDb252ZXJ0IGFuIGVycm9uZW91cyBhc3NlcnRpb24KCSAgT2NjYXNpb25hbGx5LCB3ZSBnZXQgYSBjaGFuZ2UgY2FsbGJhY2sgZm9yIGFuIG9sZCBzdHJlYW0sIHRyaWdnZXJpbmcKCSAgdGhlIGFzc2VydGlvbiB1bm5lY2Vzc2FyaWx5LiBKdXN0IGlnbm9yZSBzdWNoIGNhbGxiYWNrcy4KCjIwMDktMDUtMjAgMTY6MTQ6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IFByaW50IGEgd2FybmluZyBvbiB1bmRlci9vdmVyZmxvd3MKCjIwMDktMDUtMjAgMTg6NDU6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGluMjQgYm94ZXMgdG8gZ2V0IGVuZGlhbm5lc3MKCSAgaW4yNCBzYW1wbGVzIGFyZSBub3JtYWxseSBiaWctZW5kaWFuIGJ1dCBhbiBlbmRhIGJveCBjYW4gY2hhbmdlIHRoaXMgdG8KCSAgbGl0dGxlLWVuZGlhbi4gUmVjdXJzZSBpbnRvIHRoZSBpbjI0IGJveCBhbmQgZmluZCB0aGUgZW5kYSBib3ggc28gdGhhdCB3ZSBnZXQKCSAgdGhlIGVuZGlhbm5lc3MgcmlnaHQuCgkgIEZpeGVzICM1ODI1MTUKCjIwMDktMDUtMjAgMTQ6MTQ6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBhZGQgcHJvcGVyIHBhZHRlbXBsYXRlCgoyMDA5LTA1LTIwIDE0OjAyOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYWRkIG1vcmUgbWltZSB0eXBlcwoJICBBZGQgbWltZS10eXBlIGZvciBQYW5hc29uaWMgZzcyNiBhbmQgYWRkIG1vcmUgcmVxdWlyZWQgY2FwcyBwcm9wZXJ0aWVzIGZvciBvdGhlcgoJICBHNzI2IG1pbWUtdHlwZXMuCgkgIE1ha2UgbWltZS10eXBlcyBjYXNlIGluc2Vuc2l0aXZlLgoJICBTZWUgIzU4MjE2OQoKMjAwOS0wNS0yMCAxMzo0Nzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogYWRkIGZsb3cgYWdncmVnYXRpb24KCjIwMDktMDUtMjAgMTM6Mjk6MDIgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGFsbG93IGNvbnRlbnQgdG8gYmUgZW1wdHkuCgkgIGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyIGRvZXNuJ3QgYWxsb3cgYnVmZmVyIHRvIGJlIGVtcHR5LgoJICBTaW1wbHkgc2tpcCBhbnkgcGFydCB3aGVyZSB0aGUgY29udGVudCBpcyBlbXB0eS4gIERvbid0CgkgIGNyZWF0ZSBhIHBhZCBmb3IgaXQgZWl0aGVyLgoJICBTZWUgIzU4MjE2OQoKMjAwOS0wNS0xOCAyMjoxOTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgcnRwOiBmaXggY2hhbm5lbCBwb3NpdGlvbnMgZm9yIG1vbm8KCjIwMDktMDUtMjEgMjE6MDI6MTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTUuMQoKPT09IHJlbGVhc2UgMC4xMC4xNSA9PT0KCjIwMDktMDUtMjAgMjI6MzQ6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE1CgoyMDA5LTA1LTIwIDIyOjAzOjIxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDUtMTYgMDI6NTk6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4zIHByZS1yZWxlYXNlCgoyMDA5LTA1LTE2IDAyOjM3OjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBjaGVjazogRG9uJ3QgY2hhbmdlIGRpcmVjdG9yeSBpbiB0aGUgdGVzdAoJICBDaGFuZ2luZyBkaXJlY3RvcnkgaW52YWxpZGF0ZXMgdGhlIHBhdGhzIHRoZSByZWdpc3RyeSBoYXMgcGlja2VkCgkgIHVwIGZvciBvdXIgcGx1Z2lucywgYmVjYXVzZSB0aGUgdGVzdCBlbnZpcm9ubWVudCBzcGVjaWZpZXMgcmVsYXRpdmUKCSAgcGF0aHMuIEZpeGluZyB0aGF0IGlzIGEgc2VwYXJhdGUgcHJvYmxlbSwgaW4gdGhlIG1lYW50aW1lLCBidWlsZCBhCgkgIHBhdGggdG8gdGhlIHRlc3QgZmlsZXMgaW5zdGVhZCBvZiBjaGFuZ2luZyBkaXJlY3RvcnkuIEZpeGVzIHRoZQoJICBkaXN0Y2hlY2suCgoyMDA5LTA1LTE2IDAxOjUzOjQ2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IFJlbW92ZSBkaXJlY3RkcmF3IHByb2plY3QgZmlsZXMgZnJvbSB0aGUgd2luMzIgbWFuaWZlc3QKCjIwMDktMDUtMTYgMDE6MjE6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgY2hlY2s6IFJlbW92ZSBhc3NlcnRpb24gdGhhdCBicmVha3MgY2hlY2sgYWdhaW4gZ2l0IG1hc3RlcgoJICBSZW1vdmUgdGhlIGFzc2VydGlvbiB0aGF0IHRoZSBzZW5kZXIgb2YgdGhlIHRhZ3MgbWVzc2FnZSBpcyB0aGUKCSAgZWxlbWVudCB1bnRpbCB3ZSBkZWNpZGUgd2hldGhlciB0aGF0J3MgZ29pbmcgdG8gYmUgdHJ1ZSBvciBub3QuCgoyMDA5LTA1LTE2IDAxOjExOjMzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgTW92ZWQgJ2RpcmVjdGRyYXcnIGZyb20gLWdvb2QgdG8gLWJhZAoKMjAwOS0wNS0xNiAwMDoxODozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIGlnbm9yZXM6IElnbm9yZSB0aGUgZmxhY2RlYyBjaGVjayBiaW5hcnkKCjIwMDktMDUtMTYgMDA6MTc6NTcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICBkb2NzOiBVcGRhdGUgaW5zcGVjdGlvbiBkZXRhaWxzIGZvciB0aGUgYXZpIHBsdWdpbgoKMjAwOS0wNS0xNiAwMDowMDowNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgTW92ZWQgJ3k0bWVuYycgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTEzIDE3OjU1OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSB5NG1lbmM6IGNoYW5nZSBteSBlbWFpbAoJICBjaGFuZ2UgbXkgZW1haWwgdG8gc29tZXRoaW5nIG1vcmUgY3VycmVudAoJICBTZWUgIzU4MDc4MwoKMjAwOS0wNS0xMyAxNzo1NDo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0geTRtZW5jOiBkb24ndCBzdHJpcCB0aW1lc3RhbXBzCgkgIEZpeGVzICM1ODI0ODMKCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMDYtMjYgMTU6NTI6NDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgW01PVkVEIEZST00gQkFEXSBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCjIwMDctMDQtMjQgMTU6NDk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgoyMDA2LTExLTEzIDE4OjU1OjU3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgW01PVkVEIEZST00gQkFEXSBjb25maWd1cmUuYWM6IEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfYmFzZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NsYXNzX2luaXQpLCAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9yZXNldCksIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9mcmFtZV9oZWFkZXIpLCAoZ3N0X3k0bV9lbmNvZGVfY2hhaW4pLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0X3Byb3BlcnR5KSwgKGdzdF95NG1fZW5jb2RlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeTRtX2VuY29kZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFBvcnQgb2YgeTRtZW5jb2RlIHRvIDAuMTAuCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDE5OjA0OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIGdzdC86IEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmg6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA2IDExOjM1OjI2ICswMDAwICBqQGJvb3RsYWIub3JnIDxqQGJvb3RsYWIub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiAgPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA1LTA5LTA1IDE3OjIwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA1LTA3LTA1IDEwOjUxOjQ5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQURdIFdheSwgd2F5LCB3YXkgdG9vIG1hbnkgZmlsZXM6IFJlbW92ZSBjcmFjayBjb21tZW50IGZyb20gdGhlIDIwMDAgZXJhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wNy0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBXYXksIHdheSwgd2F5IHRvbyBtYW55IGZpbGVzOgoJICBSZW1vdmUgY3JhY2sgY29tbWVudCBmcm9tIHRoZSAyMDAwIGVyYS4KCjIwMDUtMDEtMTQgMTg6MzY6NDIgKzAwMDAgIFN0w6lwaGFuZSBMb2V1aWxsZXQgPGdzdHJlYW1lckBsZXJvdXRpZXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBJJ20gYSBiYWQgYm95LiB1c2luZyAvMTAwMS4gdG8gZm9yY2UgQyB0byBkbyBmbG9hdCBkaXZpc2lvbiBhbmQgbm90IGludGVnZXIgZGl2aXNpb24gKGFzIGl0IGRpZCBpbiBteSBsYXN0IGNvbW1pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChwYXJzZV9tZHZkc3ViKToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9zaW5rY29ubmVjdCk6CgkgIEknbSBhIGJhZCBib3kuIHVzaW5nIC8xMDAxLiB0byBmb3JjZSBDIHRvIGRvIGZsb2F0IGRpdmlzaW9uCgkgIGFuZCBub3QgaW50ZWdlciBkaXZpc2lvbiAoYXMgaXQgZGlkIGluIG15IGxhc3QgY29tbWl0KQoJICBUaGFua3MgdG8gRGF2aWQgSS4gTGVobiBmb3IgcG9pbnRpbmcgdGhpcyBtaXN0YWtlLgoKMjAwNS0wMS0xNCAxMjoyNzoyMiArMDAwMCAgU3TDqXBoYW5lIExvZXVpbGxldCA8Z3N0cmVhbWVyQGxlcm91dGllci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIHJlcGxhY2UgZnJhbWVyYXRlIGFwcm94aW1hdGlvbnMgYnkgdGhlaXIgcmVhbCB2YWx1ZSAoMjQwMDAvMTAwMSwgMzAwMDAvMTAwMSwgNjAwMDAvMTAwMSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAocGFyc2VfbWR2ZHN1Yik6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfc2lua2Nvbm5lY3QpOgoJICByZXBsYWNlIGZyYW1lcmF0ZSBhcHJveGltYXRpb25zIGJ5IHRoZWlyIHJlYWwgdmFsdWUKCSAgKDI0MDAwLzEwMDEsIDMwMDAwLzEwMDEsIDYwMDAwLzEwMDEpCgkgIEZpbmlzaCBmaXhpbmcgYnVnICMxNjQwNDkKCjIwMDQtMDctMjcgMjE6NDE6MzAgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gbW9yZSB3b3JraW5nIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgd29ya2luZyBwbHVnaW5zCgoyMDA0LTA3LTI3IDA5OjU3OjMzICswMDAwICBTdGV2ZSBMaG9tbWUgPHN0ZXZlLmxob21tZUBmcmVlLmZyPgoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJICBbTU9WRUQgRlJPTSBCQURdIHJlbmFtZSBHU3RyZWFtZXItMC44LmxpYiB0byBsaWJnc3RyZWFtZXIubGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW5hbWUgR1N0cmVhbWVyLTAuOC5saWIgdG8gbGliZ3N0cmVhbWVyLmxpYgoKMjAwNC0wNy0yNyAwOTo0ODo1MSArMDAwMCAgU3RldmUgTGhvbW1lIDxzdGV2ZS5saG9tbWVAZnJlZS5mcj4KCgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSAgW01PVkVEIEZST00gQkFEXSBhdm9pZCBwcm9ibGVtcyB3aXRoIG1hdGguaCwgZml4IHJlbGVhc2UgZGVwZW5kYW5jeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYXZvaWQgcHJvYmxlbXMgd2l0aCBtYXRoLmgsIGZpeCByZWxlYXNlIGRlcGVuZGFuY3kKCjIwMDQtMDctMjYgMTM6MjA6MTEgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gbW9yZSBwbHVnaW5zIHN1cHBvcnRlZCB1bmRlciB3aW5kb3dzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIHBsdWdpbnMgc3VwcG9ydGVkIHVuZGVyIHdpbmRvd3MKCjIwMDQtMDQtMDEgMTE6NDg6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBhNTJkZWM6ICAgVXNlIGEgZGVidWcgY2F0ZWdvcnksIE91dHB1dCB0aW1lc3RhbXBzIGNvcnJlY3RseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYTUyZGVjOiAgIFVzZSBhIGRlYnVnIGNhdGVnb3J5LCBPdXRwdXQgdGltZXN0YW1wcyBjb3JyZWN0bHkKCSAgRW1pdCB0YWcgaW5mbywgSGFuZGxlIGV2ZW50cywgdGVsbCBsaWJhNTJkZWMgYWJvdXQgY3B1CgkgIGNhcGFiaWxpdGllcyBzbyBpdCBjYW4gdXNlIE1NWCBldGMuCgkgIGR2ZGVjOiAgICBGaXggYSBjcmFzaGVyIGFjY2Vzc2luZyBpbnZhbGlkIG1lbW9yeQoJICBkdmRuYXZzcmM6U29tZSBzdXBwb3J0IGZvciBieXRlLWZvcm1hdCBzZWVraW5nLgoJICBTbWFsbCBmaXhlcyBmb3Igc3RpbGwgZnJhbWVzIGFuZCBtZW51IGJ1dHRvbiBvdmVybGF5cwoJICBtcGVnMmRlYzogVXNlIGEgZGVidWcgY2F0ZWdvcnkuIEFkanVzdCB0aGUgcmVwb3J0IGxldmVsIG9mIHNldmVyYWwgaXRlbXMgdG8KCSAgTE9HLiBDYWxsIG1wZWcyX2N1c3RvbV9mYnVmIHRvIG1hcmsgb3VyIGJ1ZmZlcnMgYXMgJ2N1c3RvbSBidWZmZXJzJwoJICBzbyBpdCBkb2Vzbid0IGxvc2UgdGhlIEdzdEJ1ZmZlciBwb2ludGVyCgkgIG5hdnNlZWs6ICBBZGQgdGhlIG5hdnNlZWsgZGVidWcgZWxlbWVudCBmb3Igc2Vla2luZyBiYWNrIGFuZCBmb3J0aCBpbiBhCgkgIHZpZGVvIHN0cmVhbSB1c2luZyBhcnJvdyBrZXlzLgoJICBtcGVnMnN1YnQ6UHJldHR5IG11Y2ggYSBjb21wbGV0ZSByZXdyaXRlLiBOb3cgYSBsb29wYmFzZWQgZWxlbWVudC4gTWF5IHN0aWxsCgkgIHJlcXVpcmUgd29yayB0byBwcm9wZXJseSBzeW5jaHJvbmlzZSBzdWJ0aXRsZSBidWZmZXJzLgoJICBtcGVnZGVtdXg6CgkgIGR2ZGRlbXV4OiBEb24ndCBhdHRlbXB0IHRvIGNyZWF0ZSBzdWJidWZmZXJzIG9mIHNpemUgMAoJICBSZWR1Y2UgYSBjb3VwbGUgb2YgZXJyb3Igb3V0cHV0cyB0byB3YXJuaW5ncy4KCSAgeTRtZW5jb2RlOk91dHB1dCB0aGUgeTRtIGZyYW1lIGhlYWRlciBjb3JyZWN0bHkKCjIwMDQtMDMtMTUgMTk6MzI6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgoyMDA0LTAzLTE1IDE2OjMyOjU0ICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gKi5oOiBSZXZlcnQgaW5kZW50aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqICouaDogUmV2ZXJ0IGluZGVudGluZwoKMjAwNC0wMy0xNCAyMjozNDozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIGdzdC1pbmRlbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdzdC1pbmRlbnQKCjIwMDQtMDEtMTIgMDI6MDE6NTIgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW8uaDogRml4IGNhcHMgdGVtcGxhdGUgbmFtZXMgdG8gYmUgdW5kZXJzdGFuZGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA0LTAxLTEyICBCZW5qYW1pbiBPdHRlICA8aW43eTExOEBwdWJsaWMudW5pLWhhbWJ1cmcuZGU+CgkgICogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvLmg6CgkgIEZpeCBjYXBzIHRlbXBsYXRlIG5hbWVzIHRvIGJlIHVuZGVyc3RhbmRhYmxlLgoJICBQcmVmaXggZXZlcnl0aGluZyB3aXRoIEdTVF9WSURFTy4KCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgKiBleHQvaGVybWVzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAocmF3X2NhcHNfZmFjdG9yeSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAocmF3X2NhcHNfZmFjdG9yeSk6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAocmF3X2NhcHNfZmFjdG9yeSk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19sb29wKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfc3JjY29ubmVjdCksIChnc3RfbW9ub3Njb3BlX2NoYWluKToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgKiBnc3Qvc3luYWVzdGhlc2lhL2dzdHN5bmFlc3RoZXNpYS5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19wYWxldHRlX3RvX2NhcHMpOgoJICBNYWtlIHRoZW0gd29yayB3aXRoIG5ldyB2aWRlby5oIGZpbGUuCgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jaGFpbiksCgkgIChnc3RfeGltYWdlc2lua19idWZmZXJfZnJlZSksIChnc3RfeGltYWdlc2lua19idWZmZXJfYWxsb2MpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2hhaW4pLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX2J1ZmZlcl9mcmVlKSwgKGdzdF94dmltYWdlc2lua19idWZmZXJfYWxsb2MpOgoJICBNYWtlIGl0IHdvcmsgd2l0aCBuZXcgYnVmZmVyIGFsbG9jYXRpb24gc3lzdGVtLgoKMjAwMy0xMi0yMiAwMTo0NzowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIE1lcmdlIENBUFMgYnJhbmNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZXJnZSBDQVBTIGJyYW5jaAoKMjAwMy0xMi0wNCAxMDozNzozOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCjIwMDMtMTEtMTYgMjI6MDI6MjMgKzAwMDAgIExlaWYgSm9obnNvbiA8bGVpZkBhbWJpZW50LjJ5Lm5ldD4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gKyBjaGVja2luZyBpbiBwbHVnaW4gY2F0ZWdvcnkgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKyBjaGVja2luZyBpbiBwbHVnaW4gY2F0ZWdvcnkgY2hhbmdlcwoKMjAwMy0xMS0wNyAxMjo0NzowMiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gc2V2ZXJhbCBzb3VyY2UgZmlsZXMKCjIwMDMtMTEtMDIgMTk6MTc6MjcgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBmaXggdG8gbmV3IHBsdWdpbiBzeXN0ZW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0byBuZXcgcGx1Z2luIHN5c3RlbQoKMjAwMy0xMC0wOCAxNjowODoxOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCjIwMDMtMDgtMTAgMDA6MDE6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgoyMDAzLTA3LTA2IDIwOjQ5OjUyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpYmVkIGluIHRoZSBwcmV2aW91cyBjb21taXQncyBkb2N1bWVudC4gTm90ZTogc29tZSBwbHVnaW5zIHdpbGwgYnJlYWssIHNvbWUgcGlwZWxpbmVzIHdpbGwgYnJlYWssIGV4cGVjdCBIRUFEIHRvIGJlIGJyb2tlbiBvciBhdCBsZWFzdCBub3QgMTAwJSB3b3JraW5nIGZvciBhIGZldyBkYXlzLCBidXQgZG9uJ3QgZm9yZ2V0IHRvIHJlcG9ydCBidWdzCgoyMDAzLTA2LTI5IDE5OjQ2OjEzICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgSW5jbHVkZXMgZml4ZXMgZm9yIG1pc3NpbmcgaW5jbHVkZXMgZm9yIGNvbmZpZy5oIGFuZCB1bmlzdGQuaAoJICBJIG9ubHkgZW5zdXJlZCBmb3IgcGx1Z2lucyBJIGNhbiBidWlsZCB0aGF0IHRoZXkgd29yaywgc28gaWYgc29tZSBvZiB0aGVtIGFyZSBzdGlsbCBicm9rZW4sIHlvdSBnb3R0YSBmaXggdGhlbSB5b3Vyc2VsdmVzIHVuZm9ydHVuYXRlbHkuCgoyMDAzLTAxLTEwIDEzOjM4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYWRDb25uZWN0IC0+IFBhZExpbmsKCjIwMDMtMDEtMTAgMTA6MjI6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcyBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcwoJICBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzCgkgIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdGhhdCBJIGRvbid0IHNwZW5kIGRvdWJsZQoJICB0aGUgdGltZSByZXNvbHZpbmcgY29uZmxpY3RzCgoyMDAyLTEyLTA4IDE0OjUwOjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoKMjAwMi0wOS0xOCAxOTowMjo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCjIwMDItMDYtMTcgMTA6Mjk6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBjb3NtZXRpYyBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvc21ldGljIGNoYW5nZQoKMjAwMi0wNS0wMyAwOTo1OToxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHZhcmlvdXMgbmFtZSBmaXhlcyBhbmQgc3VuZHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIG5hbWUgZml4ZXMgYW5kIHN1bmRyeQoKMjAwMi0wNC0yMCAyMTo0Mjo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMgZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zIGFuIGVsZW1lbnQgYnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcwoJICAqIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMKCSAgKiBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMKCSAgKiBhbiBlbGVtZW50IGJyb3dzZXIgdGhhdCB1c2VzIGRldGFpbHMtPmtsYXNzCgkgICogc2VwYXJhdGVkIGNkeGEgcGFyc2Ugb3V0IGZyb20gdGhlIGF2aSBkaXJlY3RvcnkKCjIwMDItMDQtMTEgMjA6NDI6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFCgkgIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIGFsc28sIHNvbWUgLVdlcnJvciBmaXhlcy4KCjIwMDItMDMtMzAgMTc6MDY6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIENoYW5nZWQgdG8gdGhlIG5ldyBwcm9wcyBBUEkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgdG8gdGhlIG5ldyBwcm9wcyBBUEkKCSAgT3RoZXIgc21hbGwgdHVmZi4KCjIwMDItMDMtMjAgMjE6NDU6MDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCjIwMDItMDMtMTkgMDQ6MTA6MDYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cyBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMKCSAgKiBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoIHRoZSBwbHVnaW5faW5mbyBzdHJ1Y3QsCgkgIGFuZCBzeW1ib2wgcmVzb2x1dGlvbiBpcyBsYXp5LCBzbyB3ZSBjYW4gYWx3YXlzIGtub3cgaWYgYSBwbHVnaW4gY2FuIGJlIGxvYWRlZCBieSB0aGUgcGx1Z2luX2luZm8gZGF0YS4gaW4gdGhlb3J5LgoKMjAwMi0wMy0xOSAwMTozOTo0MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8gQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLwoJICBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaWNhbGx5LAoJICBhbmQgdGhpcyBnaXZlcyB0aGUgdXNlciB0aGUgZnJlZWRvbSB0byBzYXkgbWFrZSBHU1RfUExVR0lOX0xERkxBR1M9LW15ZmxhZwoKMjAwMi0wMS0xOCAxMTozNzoxOSArMDAwMCAgV3JvYmVsbCA8d3JvYmVsbEBpdGUucGw+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIC0gcGx1Z2lucyBhcmUgYnVpbHQgd2l0aG91dCB2ZXJzaW9uaW5nIGluZm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC0gcGx1Z2lucyBhcmUgYnVpbHQgd2l0aG91dCB2ZXJzaW9uaW5nIGluZm8KCjIwMDItMDEtMTMgMjI6Mjc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIEJyaW5nIHRoZSBwbHVnaW5zIGluIHN5bmMgd2l0aCB0aGUgbmV3IGNvcmUgY2Fwc25lZ28gc3lzdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQnJpbmcgdGhlIHBsdWdpbnMgaW4gc3luYyB3aXRoIHRoZSBuZXcgY29yZSBjYXBzbmVnbyBzeXN0ZW0uCgkgIEFkZGVkIHNvbWUgZmVhdHVyZXMsIGVuaGFuY2VtZW50cy4uLgoKMjAwMi0wMS0xMiAwMzozNDoyNyArMDAwMCAgRGF2aWQgSS4gTGVobiA8ZGxlaG5AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBzL2ZpbHRlci9wbHVnaW4vIGxpbmsgcGx1Z2lucyB0byBHU1RfTElCUyByZWFycmFuZ2UgcnVsZXMgdG8gYSBjb21tb24gZm9ybWF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHMvZmlsdGVyL3BsdWdpbi8KCSAgKiBsaW5rIHBsdWdpbnMgdG8gR1NUX0xJQlMKCSAgKiByZWFycmFuZ2UgcnVsZXMgdG8gYSBjb21tb24gZm9ybWF0CgoyMDAxLTEyLTIzIDIwOjIxOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gbW9yZSBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBmaXhlcwoKMjAwMS0xMi0yMyAxMzoxNzozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIEJCQiBhc2tlZCBtZSB0byByZW5hbWUgbGF2IHRvIHk0bSBjYW4gc29tZW9uZSB3aG8ga25vd3MgdGhlIHBsdWdpbiBkbyB0aGlzIGluIHRoZSBzb3VyY2UgYXMgd2VsbCA/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCQkIgYXNrZWQgbWUgdG8gcmVuYW1lIGxhdiB0byB5NG0KCSAgY2FuIHNvbWVvbmUgd2hvIGtub3dzIHRoZSBwbHVnaW4gZG8gdGhpcyBpbiB0aGUgc291cmNlIGFzIHdlbGwgPwoKMjAwOS0wNS0xNSAxODoxNzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IGFkZCBNYWtldmFycyBtYWdpYyBzbyB3ZSBkb24ndCBnZXQgbGluZSBudW1iZXJzIGluICoucG8gZmlsZXMKCSAgVGhpcyBhdm9pZHMgdGhlIG51bWJlciBvbmUgcmVhc29uIGZvciBsb2NhbCBtb2RpZmljYXRpb25zIGluICoucG8KCSAgZmlsZXMgYW5kIGFuZCBtYWtlcyB0aGluZ3MgbGVzcyBhbm5veWluZyB3aGVuIHdvcmtpbmcgd2l0aCBnaXQgKG9yCgkgIGFueSBvdGhlciBWQ1MgZm9yIHRoYXQgbWF0dGVyKS4KCjIwMDktMDUtMTUgMTc6MTE6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2F1ZGlvdGVzdHNyYy5mbGFjOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJKiB0ZXN0cy9jaGVjay90ZXN0LWtleS5wZW06CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9hdWRpb3Rlc3RzcmMuZmxhYzoKCSogdGVzdHMvZmlsZXMvdGVzdC1jZXJ0LnBlbToKCSogdGVzdHMvZmlsZXMvdGVzdC1rZXkucGVtOgoJICBjaGVja3M6IG1vdmUgZmlsZXMgcmVxdWlyZWQgYnkgdW5pdCB0ZXN0cyBpbnRvIHRlc3RzL2ZpbGVzIGFuZCBtYWtlIHN1cmUgdGhleSdyZSBkaXN0ZWQKCSAgTW92ZSB1bml0IHRlc3QgZGF0YSBpbnRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgaXQgYmVsb25ncyBhbmQgbWFrZSBpbiBwYXJ0aWN1bGFyCgkgIHRoZSBmbGFjZGVjIHVuaXQgdGVzdCBjZCBpbnRvIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgdGVzdCBmaWxlcyBpbnN0ZWFkIG9mIG1ha2luZwoJICBhc3N1bXB0aW9ucyBhYm91dCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpbiB0aGF0IHVuaXQgdGVzdC4gQXMgYSBzaWRlIGVmZmVjdAoJICBvZiBtb3ZuZyB0aG9zZSBmaWxlcywgdGhlcmUncyBvbmx5IG9uZSBFWFRSQV9ESVNUIGluIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtIG5vdywKCSAgd2hpY2ggaXMgbGlrZWx5IHRvIHdvcmsgYmV0dGVyIHRoYW4gaGF2aW5nIHR3by4gSG9wZWZ1bGx5IGZpeGVzICM1ODI3NTMuCgoyMDA5LTA1LTE0IDIxOjQzOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSWYgdGhlIHVwc3RyZWFtIG1heCBsYXRlbmN5IGlzIHVuYm91bmQgcmV0dXJuIHVuYm91bmQgbWF4IGxhdGVuY3kKCSAgRml4ZXMgYnVnICM1ODI2NjEuCgoyMDA5LTA1LTE1IDA4OjQ0OjM5ICswMjAwICBKYW1lcyBBbmRyZXdhcnRoYSA8dHJzODBAdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgRml4ZXMgYnVnICM1ODI3MTUuCgoyMDA5LTA1LTEzIDIyOjQ2OjQ0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlY292ZXJlZCBkZWJ1Z3V0aWxzIGxpbmUgYWNjaWRlbnRhbGx5IHJlbW92ZWQgaW4gZGVpbnRlcmxhY2UyIG1vdmUuCgoyMDA5LTA1LTEzIDEwOjQ2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL21teC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3BsdWdpbnMuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zc2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIE1vdmVkICdkZWludGVybGFjZTInIGZyb20gLWJhZCB0byAtZ29vZAoJICBBbmQgcmVuYW1lIGl0IHRvIGRlaW50ZXJsYWNlLgoKMjAwOS0wNS0wOCAxNTozOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTYvNTZdIGRlaW50ZXJsYWNlMjogQWRkIGEgZGlzYWJsZWQgbW9kZSBmb3IgcGFzc3Rocm91Z2ggb3BlcmF0aW9uCgkgIEFsc28gYWxsb3cgdG8gY2hhbmdlIHRoZSBtb2RlIGluIFBBVVNFRCBhbmQgUExBWUlORyBieSB1cGRhdGluZwoJICB0aGUgY2FwcyBpZiBuZWNlc3NhcnkuCgoyMDA5LTA0LTIyIDE5OjQzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NS81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNC0xOSAxNzoxODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTQvNTZdIGRlaW50ZXJsYWNlMjogTWFrZSBpdCBwb3NzaWJsZSB0byBzZWxlY3QgaW50ZXJsYWNpbmcgYXV0b2RldGVjdGlvbiBvciB0byBlbmZvcmUgZGVpbnRlcmxhY2luZwoJICBGb3IgdGhpcyBhZGQgYSAibW9kZSIgcHJvcGVydHkgdGhhdCBkZWZhdWx0cyB0byAiaW50ZXJsYWNlZCIgZm9yIG5vdyBhcwoJICBtb3N0IGRlY29kZXJzL2RlbXV4ZXJzIGRvbid0IHByb3Blcmx5IHNldCB0aGUgImludGVybGFjZWQiIGZpZWxkIG9uIHRoZQoJICBjYXBzIHlldC4KCSAgSWYgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gImF1dG8iIHRoZSBlbGVtZW50IHdpbGwgd29yayBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHVubGVzcyB0aGUgY2FwcyBjb250YWluIHRoZSAiaW50ZXJsYWNlZCIgZmllbGQuCgoyMDA5LTA0LTE3IDE1OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1My81Nl0gZGVpbnRlcmxhY2UyOiBVc2UgR1NUXyhERUJVR3xXQVJOSU5HfEVSUk9SKV9PQkpFQ1QgaW5zdGVhZCBvZiB0aGUgbm9uLU9CSkVDVCBvbmVzCgoyMDA5LTA0LTE3IDE1OjM5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Mi81Nl0gZGVpbnRlcmxhY2UyOiBSZXNldCBoaXN0b3J5IGlmIERJU0NPTlQgaXMgc2V0IG9uIHRoZSBpbmNvbWluZyBidWZmZXIKCjIwMDktMDQtMTcgMTU6Mzk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDUxLzU2XSBkZWludGVybGFjZTI6IEZpeCB0aW1lc3RhbXBzIGZvciBidWZmZXJzIHdpdGggUkZGIGZsYWcgc2V0CgoyMDA5LTA0LTE2IDE3OjQxOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTAvNTZdIGRlaW50ZXJsYWNlMjogUmVuYW1lIGxpbmVfbGVuZ3RoIHRvIHJvd19zdHJpZGUgYW5kIHJlbW92ZSBvdXRwdXRfc3RyaWRlCgoyMDA5LTA0LTE2IDE1OjUyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0OS81Nl0gZGVpbnRlcmxhY2UyOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgUkZGIGFuZCBPTkVGSUVMRCBidWZmZXIgZmxhZ3MKCjIwMDktMDQtMTUgMTU6NDY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgW01PVkVEIEZST00gQkFEIDQ4LzU2XSBkZWludGVybGFjZTI6IE1vdmUgb3V0cHV0IGJ1ZmZlciBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgdG8gYSBmdW5jdGlvbiBwYXJhbWV0ZXIKCjIwMDktMDQtMTUgMTU6MzM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgW01PVkVEIEZST00gQkFEIDQ3LzU2XSBkZWludGVybGFjZTI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2YgdGhlIGZpZWxkIG9yZGVyCgoyMDA5LTA0LTE1IDE0OjQ3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ni81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgc3VwcG9ydCBmb3IgWVZZVSBjb2xvcnNwYWNlCgkgIFRoaXMgaXMgdGhlIHNhbWUgYXMgWVVZMiB3aXRoIGp1c3QgQ3IgYW5kIENiIHN3YXBwZWQuIEFzCgkgIHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSB3aGVuIGRlaW50ZXJsYWNpbmcKCSAgdGhpcyB3b3Jrcy4KCjIwMDgtMTEtMDYgMTQ6MDU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KToKCSAgQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NC81Nl0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMDkgMTk6Mzg6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0My81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgWDg2IGFzc2VtYmx5LgoKMjAwOC0wOC0yOCAxNzoxNjo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDIvNTZdIGdzdC9kY2NwLzogRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggRm9ydGUgLSBhcHBhcmVudGx5IGl0IGhhdGVzIGNvbmNhdGVuYXRpbmcgYQoJICBtYWNybyBhcmd1bWVudCB0aGF0IHN0YXJ0cyB3aXRoIGFuIHVuZGVyc2NvcmU/PwoKMjAwOC0wOC0yNiAxMjozMzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQxLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLzogVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZSBhIHNtYWxsIHNwZWVkdXAgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgIFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUKCSAgYSBzbWFsbCBzcGVlZHVwIGFuZCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYW5kbGUgY2hyb21hIGFuZCBsdW1hCgkgIGRpZmZlcmVudCB3aGljaCBpcyBuZWVkZWQgbGF0ZXIuCgoyMDA4LTA4LTI1IDE0OjM3OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDAvNTZdIGdzdC9kZWludGVybGFjZTIvOiBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcKCSAgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgc2VhcmNoLWVmZm9ydD0wIGN1cnJlbnRseSwgaXMgcGFpbmZ1bGx5CgkgIHNsb3cgYW5kIG5lZWRzIHNvbWUgY2xlYW51cCBsYXRlciB3aGVuIGFsbCBzZWFyY2gtZWZmb3J0IHNldHRpbmdzCgkgIGFyZSBpbXBsZW1lbnRlZCBpbiBDLgoKMjAwOC0wOC0wMiAxODo0ODoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM5LzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdCBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0CgkgIGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCjIwMDgtMDgtMDIgMTg6MzY6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYyksIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXhleHQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXJibGVuZC5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9tbXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfaW5pdCk6CgkgIEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUKCSAgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MzA6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgoyMDA4LTA4LTAyIDE4OjE4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzYvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQgY2FuIGJlIHVzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQKCSAgY2FuIGJlIHVzZWQgYnkgc2ltcGxlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcy4gVGhleSBvbmx5IGhhdmUgdG8gcHJvdmlkZQoJICBhIGZ1bmN0aW9uIGZvciBpbnRlcnBvbGF0aW5nIGEgc2NhbmxpbmUgb3IgY29weWluZyBhIHNjYW5saW5lLgoKMjAwOC0wOC0wMiAxODoxNTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMgb2YgZXZlcnkgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfY2hhaW4pOgoJICBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMKCSAgb2YgZXZlcnkgYnVmZmVyLgoKMjAwOC0wOC0wMiAxODoxMzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM0LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMgZGVmaW5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcwoJICBkZWZpbmVkLgoKMjAwOC0wOC0wMiAxODowOTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMzLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dCByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCk6CgkgIEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQKCSAgcmVsZWFzZS4KCjIwMDgtMDgtMDIgMTg6MDI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uIHRoYXQgZG91Ymxlcy9oLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yKSwgKGdzdF9mcmFjdGlvbl9kb3VibGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbgoJICB0aGF0IGRvdWJsZXMvaGFsZnMgdGhlIGZyYW1lcmF0ZSBpZiBhbGwgZmllbGRzIHNob3VsZCBiZSBzZW50IG91dC4KCjIwMDgtMDctMTggMDg6MzQ6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMS81Nl0gRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5IGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kKCSAgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgQnVpbGQgdGhlIGRlaW50ZXJsYWNlMiBwbHVnaW4gb24gYWxsIGFyY2hpdGVjdHVyZXMgYnV0IHN0aWxsIG1hcmsgaXQKCSAgYXMgZXhwZXJpbWVudGFsLgoJICBCdWlsZCB0aGUgeDg2IGlubGluZSBhc3NlbWJseSBvbmx5IGlmIEdDQyBpbmxpbmUgYXNzZW1ibHkgaXMgc3VwcG9ydGVkCgkgIGFuZCBvbmx5IG9uIHg4NiBvciBhbWQ2NC4gRml4ZXMgYnVnICM1NDMyODYuCgoyMDA4LTA3LTE0IDE0OjEzOjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDMwLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEZpeCBidWlsZCBvbiB4ODZfNjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBGaXggYnVpbGQgb24geDg2XzY0CgoyMDA4LTA3LTEzIDEwOjU2OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjkvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZSBhc3NlbWJseSBvcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gb25seSBoYW5kbGUgdGhpcyBhbmQgY2FsbGluZyB0aGUgQwoJICBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHJlbWFpbmluZyBwYXJ0IGRvZXNuJ3Qgd29yayBiZWNhdXNlIGl0IG5lZWRzCgkgIHByZXZpb3VzIGNhbGN1bGF0aW9ucy4KCjIwMDgtMDctMTMgMTA6NTI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFRoZSBTU0UgbWV0aG9kIGluIGZhY3Qgb25seSBuZWVkcyBNTVhFWFQsIGRlY2xhcmUgaXQgYXMgc3VjaC4KCjIwMDgtMDctMDggMTM6MzE6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNy81Nl0gRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKHNwY19zZXR1cCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCjIwMDgtMDctMDYgMjA6NDM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6IE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIHNvbWUKCSAgc3BlZWR1cCBhcyB0aGV5J3JlIHVzZWQgb25seSBvbmNlIGFuZCBuZWVkIHRvIGdldCBtYW55IGxvY2FsIHZhcmlhYmxlcwoJICBwYXNzZWQgYXMgcGFyYW1ldGVyLgoKMjAwOC0wNy0wNSAxOToyMDozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoKMjAwOC0wNy0wNSAxOToxMTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI0LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2xhdGVuY3kpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIEZpeCBvdXRwdXR0aW5nIG9mIGFsbCBmaWVsZHMsIGkuZS4gZG91Ymxpbmcgb2YgdGhlIGZyYW1lcmF0ZS4KCjIwMDgtMDctMDUgMTY6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9maWVsZHNfcmVxdWlyZWQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKF9kb19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpciksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfaW5pdCk6CgkgIFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQKCSAgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkZWludGVybGFjaW5nIG1ldGhvZCB2aWEgR09iamVjdAoJICBwcm9wZXJ0aWVzLgoJICBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSB1c2VkCgkgIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFuZCB0byBhbGxvdyBhZGp1c3RpbmcgdGhlIGRpZmZlcmVudCBzZXR0aW5ncy4KCSAgTW92ZSBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGludG8KCSAgZnVuY3Rpb24gbG9jYWwgdmFyaWFibGVzIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoaXMgZGVpbnRlcmxhY2luZwoJICBtZXRob2QgZnJvbSBkaWZmZXJlbnQgaW5zdGFuY2VzLgoKMjAwOC0wNy0wNSAxMjoyMjozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIyLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgZ3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkKCSAgb3B0aW1pemVkIGdyZWVkeWggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNy0wNCAxODo1NDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIxLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgoyMDA4LTA2LTMwIDA3OjUxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjAvNTZdIGdzdC9kZWludGVybGFjZTIvOiBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKHRvbXNtb2NvbXBfaW5pdCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLCAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLAoJICAodG9tc21vY29tcF9maWx0ZXJfc3NlKSwgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIFVzZSAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4uCgoyMDA4LTA2LTI5IDEwOjU2OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTkvNTZdIGdzdC9kZWludGVybGFjZTIvOiBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkKCSAgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vuc2VkIHRvIExHUEwuIFVzZSBtZW1jcHkoKSBpbnN0ZWFkCgkgIG9mIHRoZSBzcGVlZHkgbWVtY3B5IGV2ZXJ5d2hlcmUgaW5zdGVhZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZW1vdmUgbWFueSB1bnVzZWQgZGVjbGFyYXRpb25zLgoKMjAwOC0wNi0yOCAxODoxMzowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE4LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoKMjAwOC0wNi0yOCAxODoxMDo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE3LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzCgkgIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG1ldGhvZC4gSW5zdGVhZCBpbXBsZW1lbnQgZGVpbnRlcmxhY2VfZnJhbWUKCSAgZnVuY3Rpb24gYnkgdGFraW5nIHRoZSBvbmUgZnJvbSBncmVlZHloLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyk6CgkgIFNtYWxsIGZpeCBmb3IgdGhlIEMgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIERvbid0IHVzZSB0aGUgc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgb25seQoJICB1c2VkIGZvciB0aGlzIG1ldGhvZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBJbnN0ZWFkIGltcGxlbWVudAoJICBkZWludGVybGFjZV9mcmFtZSBmdW5jdGlvbiBhbmQgbWFrZSBpdCBhIGJpdCBtb3JlIGVmZmljaWVudC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBGaXggY29kaW5nIHN0eWxlIGFuZCByZW1vdmUgc2NhbmxpbmVzIGZ1bmN0aW9uIGFzIGl0J3MgdW51c2VkIG5vdy4KCjIwMDgtMDYtMjggMTc6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4gdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbgoJICB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWFyayB0aGUgU1NFIHZlcnNpb24gYXMgTU1YRVhUIGFzIGl0IGRvZXNuJ3QKCSAgcmVxdWlyZSBhbnkgU1NFIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjcgMTM6MjI6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBTZXQgZHVyYXRpb24gb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTA2LTI1IDE2OjA1OjA4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE0LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA2LTI0IDEyOjA4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTMvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MgbWVtb3J5IGFjY2Vzc2VzIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzCgkgIG1lbW9yeSBhY2Nlc3NlcyBhbmQgZml4IHRoZSB3b3JrYXJvdW5kIGZvciB0aGUgbWlzc2luZyByaWdodCBzaGlmdAoJICBvbiBieXRlcyB0byB1bnNldCB0aGUgaGlnaGVzdCBiaXQgb2YgZXZlcnkgYnl0ZS4KCjIwMDgtMDYtMjQgMTA6MTU6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UgaW5zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFCgkgIGluc3RydWN0aW9uLgoKMjAwOC0wNi0yNCAxMDoxMjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDExLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgoyMDA4LTA2LTI0IDA5OjQwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTAvNTZdIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06IE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpOgoJICBGaXggQyBhbmQgTU1YIGltcGxlbWVudGF0aW9ucyBhIGJpdCBtb3JlLgoKMjAwOC0wNi0yNCAwOToxMDo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA5LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE1NWEVYVCBpbXBsZW1lbnRhdGlvbi4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgYW5kIGRvbid0IHJlYWQgb3ZlciBhcnJheSBib3VuZGFyaWVzIGluIHRoZSBNTVhFWFQKCSAgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBGaXggYSBzbWFsbCByb3VuZGluZyBidWcgaW4gdGhlIE1NWCBpbXBsZW1lbnRhdGlvbiwgdGhlIE1NWAoJICBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IGFjdHVhbGx5IG5lZWQgTU1YRVhUIGluc3RydWN0aW9ucyBzbyBkb24ndCBtYXJrCgkgIGl0IGFzIHN1Y2guCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGluIGJvdGggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNi0yMSAwOTowNTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA4LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlIGFzc2VtYmx5IG9wdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX3NzZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBhcyBTU0UgYXMgaXQgdXNlcyBTU0UgaW5zdHJ1Y3Rpb25zCgkgIGFkZGl0aW9uYWwgdG8gTU1YIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjAgMTQ6NDg6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vIGJ1dCB1c2UgdGhlIE1NLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfYyksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbwoJICBidXQgdXNlIHRoZSBNTVhFWFQgb3B0aW1pemVkIGNvZGUgd2hlbmV2ZXIgcG9zc2libGUuCgoyMDA4LTA2LTIwIDE0OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDYvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycyB3aGVuIGZpbmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMKCSAgd2hlbiBmaW5hbGl6aW5nLCBhbGxvY2F0ZSBidWZmZXJzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhbmQKCSAgcHJvcGVybHkgcmV0dXJuIGZsb3cgcmV0dXJucyBmcm9tIGdzdF9wYWRfcHVzaCgpIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbS4KCjIwMDgtMDYtMjAgMTM6NDU6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IEFkZCBtaXNzaW5nIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlci4KCjIwMDgtMDYtMjAgMTM6MjQ6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNC81Nl0gRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbCBlbmFibGVkIG9ubHkKCSAgYnkgLS1lbmFibGUtZXhwZXJpbWVudGFsLgoKMjAwOC0wNi0xOCAwNjozMToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAzLzU2XSBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbAoJICBjb21tZW50cy4KCjIwMDgtMDYtMTEgMTE6MTI6NDkgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDIvNTZdIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA4LTA2LTExIDExOjEyOjE0ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgW01PVkVEIEZST00gQkFEIDAxLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOS0wNS0xMyAxMDozMDozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZsdjogQWN0dWFsbHkgYWRkIHRoZSBmbHYgcGx1Z2luIHRvIGNvbmZpZ3VyZS5hYwoKMjAwOS0wNS0xMyAwOToyNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBjaGVja3M6IGZpeCBmbGFjZGVjIHVuaXQgdGVzdHMgb24gYmlnLWVuZGlhbiBtYWNoaW5lcyBhbmQgdW5kZXIgdmFsZ3JpbmQKCSAgRmxhY2RlYyBvdXRwdXRzIDE2LWJpdCBzYW1wbGVzLCBzbyBsZXQncyBjaGVjayBpZiB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0CgkgIHNhbXBsZSBpcyB3aGF0IHdlIGV4cGVjdCByYXRoZXIgdGhhbiBqdXN0IHRoZSBmaXJzdCBieXRlLCB3aGljaCBtYXkgYmUKCSAgZGlmZmVyZW50IGZyb20gd2hhdCB3ZSBleHBlY3QgZGVwZW5kaW5nIG9uIHRoZSBob3N0J3MgZW5kaWFubmVzcy4gRml4ZXMKCSAgdGhlIGZsYWNkZWMgdW5pdCB0ZXN0cyBvbiBQUEMuIEFsc28gZml4IGEgYnVuY2ggb2YgbGVha3MgaW4gdGhlIHVuaXQKCSAgdGVzdHMgdG8gbWFrZSB2YWxncmluZCBoYXBweS4gRml4ZXMgIzU4MjQyMC4KCjIwMDktMDUtMTMgMDk6MTg6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggYnVmZmVyIGxlYWsKCSAgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgd2lsbCB0YWtlIGl0cyBvd24gcmVmLCBzbyB3ZSBzdGlsbCBoYXZlCgkgIHRvIHVucmVmIHRoZSBidWZmZXIgaWYgd2UgZG9uJ3QgbmVlZCBpdCBhbnkgbG9uZ2VyLgoKMjAwOS0wNS0xMiAyMToyMDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggcG9pbnRlciBhcml0aG1ldGljCgkgIFRoaXMgZml4ZXMgYSBzZWVraW5nIHJlZ3Jlc3Npb24sIGJ1ZyAjMTM0NTIyLgoKMjAwOS0wNS0xMiAyMTozNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgTW92ZWQgJ2ZsdicgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTA3IDE3OjUzOjQyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Ny81N10gQWRkIHJhbmtzIHRvIHZhcmlvdXMgbXV4ZXJzIGFuZCBlbmNvZGVycyBpbiAtYmFkCgoyMDA5LTA0LTI5IDE4OjUyOjIwICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTYvNTddIGZsdm11eDogaW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzICM1ODA3ODYuCgoyMDA5LTA0LTI5IDEzOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDU1LzU3XSBmbHY6IFNldC9yZXF1aXJlIHRoZSBmcmFtZWQvcGFyc2VkIGZpZWxkcyBvZiB0aGUgYXVkaW8vbXBlZyBjYXBzIHRvIFRSVUUKCjIwMDktMDQtMjkgMTM6MTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgW01PVkVEIEZST00gQkFEIDU0LzU3XSBmbHY6IEFsd2F5cyB3cml0ZSBhdCBsZWFzdCB0aGUgbWluaW1hbCB0YWdzIGFuZCB3cml0ZSB0aGUgUEFSIGFzIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgW01PVkVEIEZST00gQkFEIDUzLzU3XSBmbHY6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgc29tZSB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDUyLzU3XSBmbHY6IEFkZCBzdXBwb3J0IGZvciB0aXRsZSB0YWcKCjIwMDktMDQtMjkgMDk6NDA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTEvNTddIGZsdjogRml4IHBhcnNpbmcgb2YgdGFncyBhbmQgYWRkIG5ldyBtYXBwaW5ncwoJICBXZSBzaG91bGRuJ3QgcmVnaXN0ZXIgYSBuZXcgR3N0VGFnIGZvciBldmVyeSB1bmtub3duIHRhZwoJICB3ZSBmaW5kIGFzIHRoaXMgbWlnaHQgbGVhZCB0byBjb25mbGljdHMgYW5kIGFsc28gdGhvc2UKCSAgdGFncyBhcmUgZXNzZW50aWFsbHkgdW5rbm93bi4KCSAgQWRkIG1hcHBpbmdzIGZvciBzb21lIGtub3duIHRhZ3MgYW5kIGFsc28gY29udmVydCBzdHJpbmcKCSAgZGF0ZXMgdG8gR0RhdGUsIGFzIGZvdW5kIGluIG1hbnkgRkxWIGZpbGVzLgoKMjAwOS0wNC0yMiAxOTo1MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgW01PVkVEIEZST00gQkFEIDUwLzU3XSBmbHY6IEFkZCBkb2N1bWVudGF0aW9uIHRvIGZsdm11eCBhbmQgZmx2ZGVtdXgKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNzM3LgoKMjAwOS0wMS0yMiAxMzozOTozNCArMDEwMCAgSmFuIFVyYmFuc2tpIDxqLnVyYmFuc2tpQHN0dWRlbnRzLm1pbXV3LmVkdS5wbD4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDQ5LzU3XSBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIEZpeGVzIGJ1ZyAjNTY3OTY1LgoJICBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIFRoaXMgZml4ZXMKCSAgc2Vla2luZyBvbiBzb21lIGZpbGVzIHRoYXQgaGF2ZSB0aGUgc2VlayB0YWJsZSBzdG9yZWQKCSAgaW5zaWRlIGFuIEVDTUEgYXJyYXkgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIGFycmF5LgoKMjAwOC0xMi0wMyAxMTo0MzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQ4LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKToKCSAgQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCjIwMDgtMTEtMjQgMTE6MTc6MTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDQ3LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzIGtleWZyYW1lLiBNYXJrIHRoZSBkaXNjb250IGZsYWcgd2hlbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTEtMjQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMKCSAga2V5ZnJhbWUuIE1hcmsKCSAgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIHdlJ3ZlIG1vdmVkIGluIHRoZSBmaWxlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKTogTVAzCgkgIHN0cmVhbXMKCSAgYXJlIHBhcnNlZCBhbHJlYWR5LCBtYWtlcyBhdXRvcGx1Z2dlZCBwaXBlbGluZXMgc2hvcnRlci4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ni81N10gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMjggMTg6NDQ6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgoyMDA4LTEwLTI4IDE4OjQxOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDQvNTddIGdzdC9mbHYvOiBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgIFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZgoJICBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgUHVzaCB0YWdzIGFscmVhZHkgaWYgb25seSBvbmUgcGFkIHdhcyBhZGRlZCwgbm8gbmVlZCB0byB3YWl0IGZvcgoJICB0aGUgc2Vjb25kIG9uZS4KCSAgV2hlbiBnZW5lcmF0aW5nIG91ciBpbmRleCBzZXQgaGFzX3ZpZGVvIGFuZCBoYXNfYXVkaW8gaWYgd2UgZmluZAoJICB2aWRlbyBvciBhdWRpbyBpbiBjYXNlIHRoZSBGTFYgaGVhZGVyIGhhcyBpbmNvcnJlY3QgZGF0YS4KCjIwMDgtMTAtMjcgMDk6NDU6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0My81N10gZ3N0L2Zsdi86IERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QKCSAgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBGaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgoyMDA4LTEwLTI3IDA5OjQxOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDIvNTddIGdzdC9mbHYvTWFrZWZpbGUuYW06IEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKToKCSAgUmV3cml0ZSB0aGUgc2NyaXB0IHRhZyBwYXJzaW5nIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgdG8gcmVhZAoJICBtb3JlIGRhdGEgdGhhbiB3ZSBoYXZlLiBBbHNvIHVzZSBHU1RfUkVBRF9VSU5UMjRfQkUgZGlyZWN0bHkgYW5kCgkgIGZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCSAgVGhpcyBzaG91bGQgbWFrZSBhbGwgY3Jhc2hlcyBvbiBmdXp6ZWQgRkxWIGZpbGVzIGRpc2FwcGVhci4KCjIwMDgtMTAtMjcgMDk6Mzc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQKCSAgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHJlZ2lvbi4KCjIwMDgtMTAtMjcgMDk6MzU6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0CgkgIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoKMjAwOC0xMC0yNyAwOTozMzo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM5LzU3XSBnc3QvZmx2LzogQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpLAoJICAoZ3N0X2Zsdl9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQKCSAgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCjIwMDgtMTAtMjcgMDk6MzI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0KCSAgZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBGaXggc2VlayBldmVudCBoYW5kbGluZyB0byBsb29rIGF0IHRoZSBmbGFncyBvZiB0aGUgc2VlayBldmVudAoJICBpbnN0ZWFkIG9mIGFzc3VtaW5nIHNvbWUgcmFuZG9tIGZsYWdzLCBkb24ndCBzZW5kIHNlZ21lbnQtc3RhcnQKCSAgbWVzc2FnZXMgd2hlbiBvcGVyYXRpbmcgaW4gcHVzaCBtb2RlIGFuZCBwdXNoIHNlZWsgZXZlbnRzIHVwc3RyZWFtCgkgIGlmIHdlIGNvdWxkbid0IGhhbmRsZSB0aGVtLgoKMjAwOC0xMC0yNyAwOToyNzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM3LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgIEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCjIwMDgtMTAtMjcgMDk6MjU6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNi81N10gZ3N0L2Zsdi86IEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZSBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UKCSAgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaWxlcyAod2hpY2ggYXJlIG1vcmUgdGhhbgoJICBvZnRlbiBpbmNvcnJlY3QgYW5kIGNhdXNlIGZhaWxlZCBzZWVrcykuCgkgIEZvciBwdXNoIG1vZGUgd2Ugc3RpbGwgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSB0aGUgZmlsZSBhbmQgZXh0ZW5kIGl0CgkgIHdoaWxlIGRvaW5nIHRoZSBwbGF5YmFjay4KCjIwMDgtMTAtMjcgMDk6MjA6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpOgoJICBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsCgkgIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvZXMgd2hhdCB3ZSB3YW50IGFuZCBpcyBtdWNoCgkgIG1vcmUgc2ltcGxlLgoKMjAwOC0xMC0yNyAwOToxNDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM0LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4Lio6IElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlCgkgIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQgd2hlbiBzdGFydGluZyBhIG5ldyBzdHJlYW0gdG8gZ2V0CgkgIGFsbCBvbGQgZW50cmllcyByZW1vdmVkLgoKMjAwOC0xMC0yNyAwOToxMjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMzLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCjIwMDgtMTAtMjcgMDk6MTA6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMi81N10gZ3N0L2Zsdi86IENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcyBoYW5kbGVkLgoKMjAwOC0xMC0xNiAxNToyMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMxLzU3XSBnc3QvZmx2L2dzdGZsdm11eC5jOiBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlcik6CgkgIERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28KCSAgaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZSBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyBidWcgIzU1NjU2NC4KCjIwMDgtMTAtMTIgMTc6MDg6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBGaXhlcyBidWcgIzU1NjAwMy4KCjIwMDgtMTAtMTAgMTY6MzM6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldCBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQKCSAgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvcmsgd2l0aCAoaS5lLiB0aGUgcGFkJ3MgY2FwcykuCgkgIEFkZCBub24ta2V5ZnJhbWUgdmlkZW8gZnJhbWVzIHRvIHRoZSBpbmRleCB0b28gYnV0IHdpdGhvdXQgdGhlCgkgIGtleWZyYW1lIGZsYWcuCgkgIEFkZCBhdWRpbyBmcmFtZXMgdG8gdGhlIGluZGV4IG9ubHkgaWYgd2UgaGF2ZSBubyB2aWRlbyBzdHJlYW0uCgoyMDA4LTEwLTEwIDE2OjE1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjgvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbSBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0KCSAgYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2FwcyBhcmUgc2V0LgoKMjAwOC0xMC0wOSAxNjoyMDoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI3LzU3XSBnc3QvZmx2LzogR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcAoJICBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQgKG1heWJlIGJldHRlcikgZHVyYXRpb24gZnJvbQoJICBtZXRhZGF0YSBsYXRlciB3ZSdsbCB1c2UgdGhhdCBpbnN0ZWFkLgoKMjAwOC0xMC0wOSAxNTo0MzowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI2LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uCgkgIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmVhZGFibGUuCgoyMDA4LTEwLTA5IDE1OjI2OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjUvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KToKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBJZiB3ZSBnZXQgR1NUX0ZMT1dfTk9UX0xJTktFRCBpbiB0aGUgcGFyc2UgbG9vcCBidXQgYXQgbGVhc3QKCSAgb25lIG9mIHRoZSBwYWRzIGlzIGxpbmtlZCBjb250aW51ZSB0aGUgbG9vcC4KCjIwMDgtMTAtMDkgMTA6MDA6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKToKCSAgQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsCgkgIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlY29kZXIgYW5kIGhhcyBkaWZmZXJlbnQgY2Fwcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvIGNvZGVjIGlkIDE0LCB3aGljaCBpcyBNUDMgd2l0aCA4a0h6IHNhbXBsaW5nCgkgIHJhdGUuCgkgIEZpeCBlbmRpYW5uZXNzIGFuZCBzaWduZWRuZXNzIGZvciByYXcgYXVkaW8gY29kZWMgaWRzLgoJICBBZGQgc3VwcG9ydCBmb3IgYWxhdyBhbmQgbXVsYXcgYXVkaW8uCgoyMDA4LTEwLTA5IDA5OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjMvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKToKCSAgR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQKCSAgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcyBlbXB0eS4KCSAgQWRkIHNvbWUgZXhwbGFuYXRpb25zIGFib3V0IHRoZSBoZWFkZXIgYW5kIHRhZyBzaXplLgoJICBEb24ndCBwcmludCBzeW5jaHJvbml6aW5nIG1lc3NhZ2UgaWYgZXZlcnl0aGluZyBpcyBmaW5lLgoKMjAwOC0xMC0wOSAwOToyNjo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIyLzU3XSBnc3QvZmx2LzogQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nIG9mIHN0cmVhbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfZmx2X211eF9jbGFzc19pbml0KSwgKGdzdF9mbHZfbXV4X2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfZmluYWxpemUpLCAoZ3N0X2Zsdl9tdXhfcmVzZXQpLAoJICAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfZmx2X211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZmx2X211eF92aWRlb19wYWRfc2V0Y2FwcyksIChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfaGVhZGVyKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpLCAoZ3N0X2Zsdl9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcKCSAgb2Ygc3RyZWFtIG1ldGFkYXRhLgoKMjAwOC0wNi0xMyAyMjo0Njo0MyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjEvNTddIGdzdC9mbHYvOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0xNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDCgkgIGFuZAoJICBILjI2NC9BVkMgaW5zaWRlIEZMVi4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfY2hhaW4pLCAoZ3N0X2RzaG93YXVkaW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3dhdWRpb2RlY19zZXR1cF9ncmFwaCk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIChnc3RfZHNob3d2aWRlb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93dmlkZW9kZWNfY2hhaW4pLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc3JjX2dldGNhcHMpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOiBMb3Qgb2YgcmFuZG9tIGZpeGVzCgkgIHRvIGltcHJvdmUgc3RhYmlsaXR5IChyZWYgY291bnRpbmcsIHNhZmV0eSBjaGVja3MuLi4pCgoyMDA4LTA0LTI1IDA4OjA3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDIwLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoKMjAwOC0wNC0xMSAyMzoxOToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpOgoJICBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzCgkgIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhIE5VTEwgc3RyaW5nICgjNTI3NjIyKS4KCjIwMDctMTItMTEgMTE6NTQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTgvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZwoJICB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCjIwMDctMTItMDkgMTk6Mzc6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTcvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIEVtaXQgdGFnIHdpdGggdGhlIGNvZGVjIG5hbWUgc28gaXQgZ2V0cyBwcm9wZXJseSByZXBvcnRlZCBpbiB0b3RlbSBhbmQKCSAgb3RoZXIgYXBwbGljYXRpb25zLgoKMjAwNy0xMS0yNSAxMDo0NTowOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNi81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZSB3aXRoIGdub25saW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUKCSAgd2l0aCBnbm9ubGluLgoKMjAwNy0xMS0xMiAxOToyMjoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZQoJICBhY3R1YWxseSBoYXZlIGRhdGEgdG8gcmVhZCBhdCB0aGUgZW5kIG9mIHRoZSB0YWcuIFRoaXMgYXZvaWRzIHRyeWluZwoJICB0byBhbGxvY2F0ZSBuZWdhdGl2ZSBidWZmZXJzLgoKMjAwNy0xMC0yMiAxNTo0NTo0OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTQvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3QgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOiBEb24ndAoJICBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlcgoJICBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgZW1pdCB0aGVtIGZvciAyIHBhZHMgc2NlbmFyaW9zCgkgIHRob3VnaCB0byBzcGVlZCB1cCBtZWRpYSBkaXNjb3ZlcnkuCgoyMDA3LTA5LTI3IDEwOjA2OjIzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMy81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZSB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZQoJICB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgoyMDA3LTA5LTI2IDE2OjMwOjUwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMi81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnCgkgIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRob3V0CgkgIHRlc3RpbmcpCgoyMDA3LTA5LTI2IDExOjE3OjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUKCSAgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIEZpeCByYXcgYXVkaW8gY2FwcyBnZW5lcmF0aW9uLgoKMjAwNy0wOS0xMiAwODozODoyMiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTAvNTddIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoKMjAwNy0wOC0yNyAxNDo1NjowNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDkvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCjIwMDctMDgtMjQgMTc6MDM6MTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA4LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgoyMDA3LTA4LTI0IDE1OjMxOjI2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBJbXBsZW1lbnQKCSAgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoKMjAwNy0wOC0yMiAxNDo1MDo1MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDYvNTddIGdzdC9mbHYvOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2ggbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoCgkgIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBGbGFzaCBwbGF5ZXJzIGNhbiBzdXBwb3J0IGl0IGFzIHdlbGwgdGhpcyB3YXkuCgoyMDA3LTA4LTIyIDE0OjAzOjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNS81N10gZ3N0L2Zsdi86IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0byBwdXNoIHRhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUKCSAgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0bwoJICBwdXNoCgkgIHRhZ3MgYW5kIGVtaXQgbm8tbW9yZS1wYWRzLiBGaXggc29tZSBwcmludGYgdHlwaW5nIGluIGRlYnVnZ2luZy4KCjIwMDctMDgtMTQgMTQ6NTY6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDQvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpOgoJICBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoKMjAwNy0wOC0xNCAxNDoyMjowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDMvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0xNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2FkYXB0ZXJfZmx1c2gpLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbAoJICBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBQYXJzZQoJICBtb3JlIG1ldGFkYXRhIHR5cGVzIGFuZCBrZXlmcmFtZXMgaW5kZXguCgoyMDA3LTA3LTI1IDEzOjI5OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMi81N10gZ3N0L2Zsdi86IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0IHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQKCSAgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCjIwMDctMDctMTkgMTU6MDU6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAxLzU3XSBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZWVrX3RvX3ByZXZfa2V5ZnJhbWUpLCAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX0JFVUkyNCksIChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X2RlbXV4X3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgSXQgZG9lcyBub3QgZG8gc2Vla2luZyB5ZXQsIGl0IHN1cHBvcnRzIHB1bGwgYW5kIHB1c2ggbW9kZSBzbwoJICBZRVMKCSAgeW91IGNhbiB1c2UgaXQgdG8gcGxheSB5b3V0dWJlIHZpZGVvcyBkaXJlY3RseSBmcm9tIGFuIEhUVFAgdXJpLgoJICBOb3Qgc28gbXVjaCB0ZXN0aW5nIGRvbmUgeWV0IGJ1dCBpdCBwYXJzZXMgbWV0YWRhdGEsIHJlcGx5IHRvCgkgIGR1cmF0aW9uIHF1ZXJpZXMsIGV0Yy4uLgoKMjAwOS0wNS0xMiAxMzowMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IExpbmsgdG8gLWxtCgkgIEZpeGVzIGJ1ZyAjNTgyMjgxLgoKMjAwOS0wNS0xMiAxMToxNjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IFJlbW92ZSBpbnZhbGlkIHVuaXQgdGVzdAoJICBUaGUgdGVzdCBjcmVhdGVzIGJ1ZmZlcnMgd2l0aCBub24tc2lsZW5jZSwgc2V0cyB0aGUgR0FQCgkgIGZsYWcgb24gaXQgYW5kIGV4cGVjdHMgcmdhbmFseXNpcyB0byBpZ25vcmUgdGhlIGNvbnRlbnQgYW5kIGFzc3VtZSBzaWxlbmNlLgoJICBUaGF0J3Mgbm90IHRoZSB3YXkgaG93IEdBUCBidWZmZXJzIHNob3VsZCBiZSB1c2VkLCBpZiB0aGUgR0FQIGZsYWcgaXMgc2V0CgkgIGVsZW1lbnRzICpjYW4qIGFzc3VtZSB0aGF0IHRoZXkgb25seSBjb250YWluIHNpbGVuY2UgYnV0IHRoZXkncmUgbm90ICpyZXF1aXJlZCoKCSAgdG8gYXNzdW1lIHRoYXQuIFRoZSBHQVAgZmxhZyBtdXN0IG9ubHkgYmUgc2V0IG9uIHNpbGVuY2UgYnVmZmVycy4KCSAgRml4ZXMgYnVnICM1ODIyNTIuCgoyMDA5LTA1LTEyIDAwOjQ4OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMiBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xMSAyMzoxMzoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIGNoZWNrczogZGlzdCBpZDMtNTc3NDY4LXVuc3luY2VkLXRhZy50YWcgdGVzdCBmaWxlCgoyMDA5LTA1LTExIDIxOjAyOjI3ICswMjAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbml0aWFsaXplIHZhcmlhYmxlIHRvIDAKCSAgRml4ZXMgIzU4MjIxOC4KCjIwMDktMDUtMTEgMTg6MjE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgc2VhcmNoIGZvciB0aGUgaW5kZXggZW50cnkgb25jZQoKMjAwOS0wNS0xMSAxODoxODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVXNlIHRoZSBmaXJzdCBpbmRleCBlbnRyeSBpZiBpdCdzIGFmdGVyIHRoZSBzZWVrIHBvc2l0aW9uCgoyMDA5LTA1LTExIDE4OjE1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVzZSB0aGUgZmlyc3QgZW50cnkgZm9yIGEgZ2l2ZW4gc3RyZWFtIGlmIHRoZSBmaXJzdCBlbnRyeSBpcyBhZnRlciB0aGUgc2VlayBwb3NpdGlvbgoKMjAwOS0wNS0xMSAxNjo1MDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVc2UgYmluYXJ5IHNlYXJjaCBmb3IgZmluZGluZyB0aGUgcmVxdWVzdGVkIGluZGV4IGVudHJ5IHdoZW4gc2Vla2luZwoKMjAwOS0wNS0xMSAxNTozNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBJbXByb3ZlL29wdGltaXplIHNlZWtpbmcKCSAgRmlyc3Qgb2YgYWxsIGEga2V5ZnJhbWUgc2VlayBzaG91bGQgYmUgZG9uZSB0byB0aGUKCSAga2V5ZnJhbWUgcmlnaHQgYmVmb3JlIHRoZSByZXF1ZXN0ZWQgcG9zaXRpb24gYW5kIG5vdAoJICB0byB0aGUga2V5ZnJhbWUgdGhhdCBpcyBuZWFyZXN0IHRvIHRoZSByZXF1ZXN0ZWQgcG9zaXRpb24uCgkgIFVzZSBwZXIgdHJhY2sgaW5kZXggYXJyYXlzIGFuZCB1c2Ugb3VyIG5ldyBiaW5hcnkgc2VhcmNoIGZ1bmN0aW9uCgkgIGZyb20gY29yZSB0byBzcGVlZCB1cCB0aGUgc2VhcmNoLgoKMjAwOS0wNS0xMSAxNTozNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlCgoyMDA5LTA1LTExIDEwOjE1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnZGtwaXhidWY6IFVzZSB0aGUgbGlicyBhbmQgY2ZsYWdzIG9mIGdkayBwaXhidWYgaW5zdGVhZCBvZiBndGsKCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQgaWYgZ2RrLXBpeGJ1ZiBpcyBmb3VuZCBidXQgZ3RrIGlzbid0CgoyMDA5LTA1LTExIDA5OjU4OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWx3YXlzIGRlZmluZSB0aGUgY29uZGl0aW9uYWwgSEFWRV9HVEsgdG8gZml4IGNvbmZpZ3VyZSBpbiBzb21lIGNhc2VzCgoyMDA5LTA1LTEwIDExOjE3OjIzICswMjAwICBNYXJjLUFuZHJlIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBSdW4gbGlidG9vbGl6ZSBiZWZvcmUgYWNsb2NhbAoJICBUaGlzIHVuYnJlYWtzIHRoZSBidWlsZCBpbiBzb21lIGNhc2VzLiBGaXhlcyBidWcgIzU4MjAyMQoKMjAwOS0wNS0wOSAxMDo1MDo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGZpeCBwcmludGYgZm9ybWF0IHRvIGFncmVlIHdpdGggYXJndW1lbnQKCjIwMDktMDUtMDggMTk6NDI6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogaW5jbHVkZSBzdGRsaWIuaCBmb3Igc3RydG9sKCkKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIHhtbCBzdHVmZiBpbiBjb3JlIGRpc2FibGVkLgoKMjAwOS0wNS0wOCAxNjo0MDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogQWN0dWFsbHkgb3V0cHV0IHRoZSBwZW5kaW5nIGJ1ZmZlci4uIGFuZCBub3QgYSBibGFuayBvbmUuCgkgIEl0IHdhcyBwcmV2aW91c2x5IHNlbmRpbmcgdGhlIGJvZ3VzIGJ1ZmZlciB3aGljaCB3YXMgcmV0dXJuZWQgZnJvbQoJICB0aGUgYnVmZmVyYWxsb2MgKHJlcXVpcmVkIGZvciByZXZlcnNlIG5lZ290aWF0aW9uIGFwcGFyZW50bHkpIGluc3RlYWQKCSAgb2YgdGhlIHBlbmRpbmcgYnVmZmVyLgoKMjAwOS0wNS0wOCAxMjowMDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWxsb3cgbm9uLXN0cmluZyBmaWVsZHMgaW4gdGhlIGV4dHJhLWhlYWRlcnMgcHJvcGVydHkKCjIwMDktMDUtMDggMTE6MzU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSAgcnRqMmtkZXBheTogYWRkIGJhc2ljIEpQRUcgMjAwMCBkZXBheWxvYWRlcgoKMjAwOS0wNS0wOCAxMTozMTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogc2V0IG1hcmtlciBiaXQgY29ycmVjdGx5CgoyMDA5LTA1LTA4IDExOjI5OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgc3VwcG9ydCBmb3IgZXh0cmEtaGVhZGVycyBhcHBlbmRlZCB0byB0aGUgSFRUUCByZXF1ZXN0CgkgIFRoaXMgYWxsb3dzIHRvIHNldCB0aGUgUmVmZXJlciBoZWFkZXIgYW1vbmcgb3RoZXIgdGhpbmdzIGJ5CgkgIGFkZGluZyBhICJleHRyYS1oZWFkZXJzIiBwcm9wZXJ0eSB0aGF0IHRha2VzIGEgR3N0U3RydWN0dXJlCgkgIHdpdGggZmllbGQ9c3RyaW5nIHBhaXJzLgoJICBGaXhlcyBidWcgIzU4MTgwNi4KCjIwMDktMDUtMDggMTA6Mzg6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJICBydHBqMmtwYXk6IGFkZCBhIHNpbXBsZSBKUEVHIDIwMDAgcGF5bG9hZGVyCgoyMDA5LTA1LTA4IDEwOjMxOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHdlIG9ubHkgbmVlZCB0byBzd2FwIGJpdHMgb24gTEUKCjIwMDktMDUtMDcgMTg6MTA6MDggKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBBZGQgUkFOS1MgZm9yIHZhcmlvdXMgZW5jb2RlcnMgYW5kIG11eGVycwoKMjAwOS0wNS0wNyAxNzowOTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGQgc29tZSBkZWJ1Z2dpbmcKCjIwMDktMDUtMDcgMTU6NTg6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcGFyc2UgeGlwaCBoZWFkZXJzIGxlbmd0aCBjb3JyZWN0bHkKCSAgU2VlICM1ODA5ODAKCjIwMDktMDUtMDcgMTY6MjU6NDEgKzAyMDAgIEdhYnJpZWwgQm91dmlnbmUgPGJvdXZpZ25lQG1wMy10ZWNoLm9yZz4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgcmdhbmFseXNpczogQWRkIGFiaWxpdHkgdG8gcG9zdCBsZXZlbCBtZXNzYWdlcwoJICBGaXhlcyBidWcgIzU4MTU2OC4KCjIwMDktMDUtMDYgMjM6NTY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcmVmdXNlIHNvbWUgdW5zdXBwb3J0ZWQganBlZyBmb3JtYXRzCgoyMDA5LTA1LTA2IDE4OjA2OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBmaXggZGVzY3JpcHRpb24KCjIwMDktMDUtMDYgMTY6MDk6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcmV3cml0ZSBxdWFudCB0YWJsZSBoYW5kbGluZwoJICBSZXdyaXRlIHRoZSBxdWFudCB0YWJsZSBwYXJzaW5nIHRvIGFsc28gaGFuZGxlIG11bHRpcGxlIHRhYmxlcyBpbiBvbmUgSlBFRyBIRFEKCSAgc2VnbWVudC4KCSAgSGFuZGxlIG1vcmUganBlZyB0eXBlcyBieSBrZWVwaW5nIHRyYWNrIG9mIHRoZSB0YWJsZXMgdXNlZCBwZXIgY29tcG9uZW50IGFuZAoJICBwdXR0aW5nIHRoZSB1c2VkIG9uZXMgaW4gdGhlIHF1YW50IGhlYWRlcnMuCgoyMDA5LTA0LTE4IDE3OjIzOjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBpZDN2Mm11eDogTWFrZSB0aGUgdGVzdCBmYWlsdXJlIHNsaWdodGx5IG1vcmUgaW5mb3JtYXRpdmUKCjIwMDktMDQtMjAgMTg6MzM6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhYzogTWFrZSBidWZmZXJzIGNyZWF0ZWQgZHVyaW5nIHNlZWsgYWN0IGxpa2Ugbm9ybWFsIGJ1ZmZlcnMuCgkgIFN0b3JlIHRoZSBvZmZzZXQgYW5kIGNhcHMgd2hlbiBhbGxvY2F0aW5nIGEgYnVmZmVyIGR1cmluZyBzZWVraW5nLCBhbmQgdGhlbgoJICBhbGxvY2F0ZSBhIG5ldyBidWZmZXIgd2l0aCBidWZmZXJfYWxsb2MgYmVmb3JlIHdlIHB1c2ggaXQgb3V0LiBUaGlzIGVuc3VyZXMKCSAgdGhhdCBpbiBhbGwgcmVzcGVjdHMgdGhlIGZpcnN0IGJ1ZmZlciBkZWNvZGVkIGR1cmluZyBzZWVraW5nIGJlaGF2ZXMgbGlrZQoJICBhbGwgb3RoZXIgYnVmZmVycywgaW5jbHVkaW5nIGFsbG93aW5nIGRvd25zdHJlYW0gcmUtbmVnb3RpYXRpb24uCgoyMDA5LTA0LTE4IDE4OjAwOjU0ICswMjAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZG9uJ3QgdXNlIHBhZF9hbGxvYyB3aGVuIGRlY29kaW5nIHdoaWxlIHNlZWtpbmcuIEZpeGVzICM1Nzk0MjIKCjIwMDktMDUtMDYgMTM6MjI6NTEgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVmYWN0b3JlZCBnc3RfanBlZ19kZWNfcGFyc2VfaW1hZ2VfZGF0YQoJICBGaXhlcyAjNTc5ODA4CgoyMDA5LTA1LTA2IDEzOjExOjUzICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHN1cHBvcnQgYWRkaXRpb25hbCAweGZmIGJlZm9yZSBlbmQgbWFya2VyLgoJICBKUEVHIG1hcmtlcnMgbWF5IGJlIHByZWNlZGVkIGJ5IGFkZGl0aW9uYWwgMHhmZi4gIGpwZWdkZWMgc2hvdWxkCgkgIHNraXAgb3ZlciB0aGVzZSwgZXZlbiBiZWZvcmUgdGhlIGVuZCBtYXJrZXIuCgkgIFNlZSAjNTc5ODA4CgoyMDA5LTA1LTA2IDEyOjU0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGhhbmRsZSBpbnB1dCB3aXRoIDEgcXVhbnQgdGFibGUKCSAgQWxzbyBoYW5kbGUgaW5wdXQgd2l0aCBqdXN0IG9uZSBxdWFudCB0YWJsZSwgc2ltcGx5IGR1cGxpY2F0ZSB0aGUgcXVhbnQgdGFibGUuCgkgIEhhbmRsZSBpbnZhbGlkIFNPRiBjb3JyZWN0bHkgYW5kIHNvbWUgc21hbGwgY2xlYW51cHMuCgkgIEZpeGVzICM1NzgyNTcKCjIwMDktMDQtMjkgMTU6NTg6MTAgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBieXRlIG9yZGVyIHN3YXBwaW5nIGluIDNHUFAgY2xhc3NpZmljYXRpb24gZW50aXR5IHRhZwoJICBGaXhlcyAjNTgwNzQ2LgoKMjAwOS0wNS0wNSAxNzowNzoxMyArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYXZvaWQgcmVhZGluZyBmcm9tIGluYXZsaWQgbWVtb3J5CgkgIFJlYWQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgaW5jb21taW5nIGJ1ZmZlciBiZWZvcmUgd2UgcHVzaCBpdCBpbiB0aGUgYWRhcHRlciBhbmQKCSAgZmx1c2ggaXQgb3V0IGFnYWluIGFzIHRoZSBidWZmZXIgbWlnaHQgYmUgdW5yZWZmZWQgdGhlbiBhbmQgd2UgcmVhZCBmcm9tIGludmFsaWQKCSAgbWVtb3J5LgoJICBGaXhlcyAjNTgxNDQ0LgoKMjAwOS0wNS0wNSAxNzowMzoyOSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZG9uJ3QgbGVhayBkeW5hbWljIHBhZHMKCSAgRnJlZSB0aGUgZHluYW1pYyBwYWRzIGRhdGEgaW4gZmluYWxpemUuCgkgIEZpeGVzICM1ODE0MzIKCjIwMDktMDUtMDUgMTY6MzI6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIHJ0cGpwZWdwYXk6IGNvcnJlY3RseSBzZXQgdGhlIHR5cGUgaGVhZGVyCgkgIERvbid0IHJlcXVpcmUgd2lkdGgvaGVpZ2h0IG9uIHRoZSBjYXBzLiBVc2UgdGhlIFNPRiBoZWFkZXIgdG8gZmluZCB3aWR0aC9oZWlnaHQKCSAgYW5kIGZhbGwgYmFjayB0byB0aGUgY2FwcyBpZiB0aGVyZSBpcyBubyBTT0YuIEFsc28gdXNlIHRoZSBTT0YgaW5mbyB0byBmaW5kIHRoZQoJICBzdWJzYW1wbGluZyBhbmQgcXVhbnRpemF0aW9uIHRhYmxlcyB1c2VkLiBUaGlzIGFsbG93cyB1cyB0byBzZXQgdGhlIHJpZ2h0IHR5cGUKCSAgdmFsdWUgaW4gdGhlIEpQRUcgcnRwIGhlYWRlci4KCSAgRGVwcmVjYXRlIHRoZSBxdWFsaXR5IHByb3BlcnR5LCBpdCdzIHVudXNlZCBub3cgYW5kIGl0IHdhcyB1c2VkIHdyb25nbHkgYmVmb3JlLgoJICBBbHdheXMgc2VuZCBmdWxsIHF1YW50IHRhYmxlcyBmb3Igbm93IHVudGlsIHdlIGhhdmUgc29tZSBjb2RlIHRvIGRldGVjdCBkZWZhdWx0CgkgIG9uZXMuCgkgIEZpeGVzICM1ODA4ODAKCjIwMDktMDUtMDUgMTY6Mjg6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBydHBqcGVnZGVwYXk6IHVzZSB3aWR0aC9oZWlnaHQgZnJvbSBwYXlsb2FkCgkgIFVzZSB0aGUgd2lkdGggYW5kIHRoZSBoZWlnaHQgZnJvbSB0aGUgcGF5bG9hZCBoZWFkZXJzIGFuZCBzZXQgdGhlbSBvbiB0aGUKCSAgb3V0cHV0IGNhcHMgZm9yIGFkZGVkIGF3ZXNvbWVuZXNzLgoJICBGaXggcXVhbnQgcGFyc2luZywgd2UgbmVlZCB0byBjaGVjayB0aGUgdHlwZSBpbiB0aGUgbG93ZXIgNiBiaXRzLgoJICBBZGQgZmlyc3QgYml0cyBvZiBjYWNoaW5nIHF1YW50aXphdGlvbiB0YWJsZXMuCgoyMDA5LTA1LTA1IDE2OjI0OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBzZXQgY29sb3JzcGFjZSBiZWZvcmUgX3NldF9kZWZhdWx0cygpCgkgIFRoZSBsaWJqcGVnIGFwaSBzYXlzIHRoYXQgd2UgbmVlZCB0byBzZXQgdGhlIGNvbG9yc3BhY2UgYmVmb3JlIHdlIGNhbGwKCSAgX3NldF9kZWZhdWx0cygpLiBJbmRlZWQsIGlmIHdlIGRvbid0IGRvIHRoYXQgd2UgZW5kIHVwIHdpdGggc29tZSB2ZXJ5IGZyZWFreQoJICBub24tc3RhbmRhcmQgcXVhbnQgdGFibGUgYW5kIGh1ZmZtYW4gdGFibGUgaW5kZXhlcy4KCjIwMDktMDUtMDUgMTM6MTk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkb24ndCBidWlsZCBleGFtcGxlcyBpZiAtLWRpc2FibGUtZXhhbXBsZXMgd2FzIHBhc3NlZCB0byBjb25maWd1cmUKCjIwMDktMDUtMDUgMTI6MzM6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNsZWFuIHVwIG1lc3MgYXJvdW5kIGd0aysgY2hlY2tpbmcKCSAgQW5kIGRvbid0IGNoZWNrIGZvciBndGsrIHdoZW4gaXQncyBub3QgbmVlZGVkIChpZS4gaWYgZXhhbXBsZXMgYXJlIGRpc2FibGVkKQoKMjAwOS0wNS0wNSAxMjoyNzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBjb25maWd1cmU6IG1ha2UgZ2RrLXBpeGJ1ZiBwbHVnaW4gZGVwZW5kIG9ubHkgb24gZ2RrLXBpeGJ1Ziwgbm90IGd0aysKCjIwMDktMDUtMDQgMTg6NTU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBmaW5kX3N0cmVhbV9ieV8qIGZ1bmN0aW9ucwoJICBGaXggdmFyaW91cyB2ZXJzaW9uIG9mIGZpbmRfc3RyZWFtX2J5XyogYnkgbm90IHRyeWluZyB0byBjb252ZXJ0IGFuIGludCB0byBhCgkgIHBvaW50ZXIgYW5kIHZpY2UgdmVyc2EsIGZvciBwb3J0YWJpbGl0eSByZWFzb25zLgoJICBGaXhlcyAjNTgxMzMzCgoyMDA5LTA1LTA0IDE4OjMyOjA1ICswMjAwICBDaHJpcyBXaW50ZXIgPGVsd2ludHJvIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGR1bW15IG5hdCBwYWNrZXQgbG9naWMKCSAgRml4IGEgdHlwbyBpbiB0aGUgZHVtbXkgTkFUIHBhY2tldCBzZW5kaW5nIGNvZGUuCgkgIEZpeGVzICM1ODEzMjkKCjIwMDktMDQtMzAgMTA6MjQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBlcnJvcnMgYWZ0ZXIgc2VydmVyIGVvZgoJICBTZXJ2ZXIgZW9mIChlLmcuIGNvbm5lY3Rpb24gY2xvc2VkKSBpcyBhbm5vdW5jZWQgYXMgY29ubmVjdGlvbiBjbG9zZWQsCgkgIHNvIGJldHRlciByZWNvcmQgc3RhdGUgYW5kIGFjdCBhY2NvcmRpbmdseSB0byBwcmV2ZW50IChyZWFkL3dyaXRlKQoJICBlcnJvcnMgZHVyaW5nIHN1YnNlcXVlbnQgdGVhcmRvd24vY2xlYW51cCBzZXF1ZW5jZXMuICAjRml4ZXMgNTgwODUxLihjKS4KCjIwMDktMDQtMzAgMTA6MTk6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIHNldCBiYXNlX3RpbWUgb24gc3JjIGFmdGVyIGZsdXNoCgkgIHRpbWVzdGFtcHMgZm9sbG93aW5nIGZsdXNoL3NlZWsgc2hvdWxkIGJlIGNvbnNpc3RlbnQgYmV0d2VlbgoJICBVRFAgYW5kIFRDUCBpbnRlcmxlYXZlZCBjYXNlLiAgRml4ZXMgIzU4MDg1MS4oYikuCgoyMDA5LTA0LTMwIDEwOjE3OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2FuaXR5IGNoZWNrcyBvbiByYW5nZSBpbmZvCgkgIEEgbWF4IHJhbmdlIHRoYXQgb3ZlcmZsb3dzIHNob3VsZCBub3QgYmUgdHJ1c3RlZCwKCSAgbm9yIHNob3VsZCBhIG1heCByYW5nZSB0aGF0IGVxdWFscyB0aGUgbWluIHJhbmdlLgoJICBGaXhlcyAjNTgwODUxLihhKS4KCjIwMDktMDUtMDQgMTY6MTY6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogdXNlIFNLSVAgZmxhZyB0byB1c2UgU0NBTEUgaGVhZGVycwoJICBXZSBjYW4gdXNlIHRoZSBTS0lQIHNlZWsgZmxhZyB0byBpbnN0cnVjdCB0aGUgc2VydmVyIHRvIHNlbmQgZGF0YSBmYXN0ZXIgdGhlbgoJICBub3JtYWwgYnV0IHdpdGggdGhlIHNhbWUgYmFuZHdpZHRoLgoJICBGaXhlcyAjNTM3NjA5CgoyMDA5LTA1LTA0IDE0OjE5OjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogbWFrZSBzcGVleF9kZWNfY29udmVydCB3b3JrIHdpdGggc2FtZS1mb3JtYXQgdmFsdWVzIHdoZW4gbm8gZGF0YSBoYXMgYmVlbiBkZWNvZGVkLgoKMjAwOS0wNS0wNCAxMjo0Mzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjQxOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6NDA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozNToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGJpbmFyeSBzZWFyY2ggZm9yIGluZGV4CgkgIFVzZSB0aGUgbmV3IGJpbmFyeSBzZWFyY2ggbWV0aG9kIGZvciBmaW5kaW5nIHRoZSByaWdodCBpbmRleCBlbnRyeSBmYXN0ZXIuCgoyMDA5LTA1LTA0IDExOjI2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBkcmF3IHRoZSBjb21wbGV0ZSBVIGFuZCBWIHBsYW5lcwoJICBSb3VuZCB1cCB0aGUgc2NhbGVkIFUgYW5kIFYgd2lkdGggYW5kIGhlaWdodCBzbyB0aGF0IHdlIGFsd2F5cyBkcmF3IHRoZSBjb3JyZWN0CgkgIGFtb3VudCBvZiBwaXhlbHMgdG8gZmlsbCB0aGUgY29tcGxldGUgaW1hZ2UuCgkgIEZpeGVzICM1Njk2MTEKCjIwMDktMDUtMDEgMTk6MzU6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzb21lIG1vcmUgbWljcm8gb3B0aW1pc2F0aW9ucwoKMjAwOS0wNC0zMCAxODo0MTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogbWljcm8gb3B0aW1pemUgcXRkZW11eCBhIGxpdHRsZQoJICBTcHJpbmtsZSBzb21lIEdfTElLRUxZIGFyb3VuZC4KCSAgQXZvaWQgdHJhdmVyc2luZyBhbmQgZHVtcGluZyB0aGUgdHJlZSB3aGVuIGRlYnVnZ2luZyBpcyBub3QgYWN0aXZhdGVkLgoKMjAwOS0wNC0zMCAxNDoyMjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGUgcGljdHVyZXMKCSAgQWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlIHBpY3R1cmVzLgoJICBGaXhlcyAjNTY4Mjc4LgoKMjAwOS0wNC0zMCAxMDozMjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBtYWtlIHN1cmUgd2UgYWx3YXlzIHNpZ25hbCB3YWl0ZXJzCgkgIEFsd2F5cyBzaWduYWwgdGhlIHdhaXRlcnMgaW4gdGhlIGFzeW5jIGNhbGxiYWNrcy4gRXNwZWNpYWxseSBmb3IgdGhlIHZvbHVtZQoJICBjYWxsYmFja3Mgc2luY2UgdGhpcyBtaWdodCBjYXVzZSBkZWFkbG9ja3MuCgoyMDA5LTA0LTI5IDE4OjA5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZWxlYXNlIHN0YXRlIGxvY2sgYmVmb3JlIHN0b3BwaW5nIHRhc2sKCSAgV2UgbmVlZCB0byByZWxlYXNlIHRoZSBzdGF0ZSBsb2NrIGJlZm9yZSB0cnlpbmcgdG8gd2FpdCBmb3IgdGhlIHRhc2sgdG8gZW5kCgkgIGJlY2F1c2UgdGhlIHRhc2sgbWlnaHQgYWxzbyB0YWtlIHRoZSBsb2NrLgoJICBGaXhlcyAjNTc3NjcxCgoyMDA5LTA0LTI5IDEyOjE5OjI3ICswMjAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlIGF0IGZlZG9yYXByb2plY3Qub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgYWMtMyBhdWRpbwoJICBmaXggZGVtdXhpbmcgb2YgbTR2IHN0cmVhbXMgd2l0aCBhYy0zIGF1ZGlvCgkgIEZpeGVzICM1ODA1NTQKCjIwMDktMDQtMjkgMTE6MTI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBVc2UgdGhlIHRhZyBtZXJnZSBtb2RlIHRoYXQgd2FzIHNldCBvbiB0aGUgaW50ZXJmYWNlIGZvciBtZXJnaW5nIHRhZyBldmVudHMKCjIwMDktMDQtMjUgMDk6NDM6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBnZXRhZGRyaW5mbyBlcnJvciByZXBvcnRpbmcKCSAgZ2V0YWRkcmluZm8gZXJyb3JzIHNob3VsZCBiZSByZXBvcnRlZCB3aXRoIGdhaV9zdHJlcnJvciBpbnN0ZWFkIG9mIGVycm5vIGFzCgkgIHNwb3R0ZWQgYnkgTWlrZVMuCgoyMDA5LTA0LTI3IDEwOjA4OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIGc3MjZwYXk6IGZpeCBjb21waWxhdGlvbgoKMjAwOS0wNC0yNyAxMDowMjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSAgZzcyNnBheTogYWRkIFJGQyBjb21wbGlhbnQgcGFja2V0aXppbmcKCSAgU2h1ZmZsZSB0aGUgaW5wdXQgYml0cyBhY2NvcmRpbmcgdG8gUkZDIDM1NTEgZm9yIEc3MjYgcGF5bG9hZHMuCgkgIEFkZCBvcHRpb24gdG8gZm9yY2UgdGhlIHByZXZpb3VzIGJlaGF2aW91ci4KCSAgRml4ZXMgIzU2NzE0MAoKMjAwOS0wNC0yNyAwOTo1OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkgIGc3MjZkZXBheTogYWRkIGRlYnVnIGNhdGVnb3J5CgkgIEFkZCBhIGRlYnVnZ2luZyBjYXRlZ29yeSwgYWRkIHNvbWUgY29tbWVudHMgYW5kIHJlbW92ZSBfcGVla19wYXJlbnQoKS4KCjIwMDktMDQtMjYgMTU6NTk6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBpZDN2Mm11eDogd2UgbmVlZCB0YWdsaWIgMS41IGZvciBJRDN2Mjo6UmVsYXRpdmVWb2x1bWVGcmFtZTo6c2V0SWRlbnRpZmljYXRpb24KCSAgQnVtcCB0YWdsaWIgcmVxdWlyZW1lbnQuCgoyMDA5LTA0LTI0IDAyOjExOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2ZpbGVzL2lkMy01Nzc0NjgtdW5zeW5jZWQtdGFnLnRhZzoKCSAgaWQzZGVtdXg6IGFkZCB1bml0IHRlc3QgZmlsZSBmb3IgdW5zeW5jZWQgaWQzIHRhZ3MKCjIwMDktMDQtMjQgMDE6NTE6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IHBhcnNlIHVuc3luY2hyb25pc2VkIHRhZ3MgcHJvcGVybHkKCSAgV2UgZGlkbid0IGhhbmRsZSB1bnN5bmNocm9uaXphdGlvbiBhdCBhbGwgdXAgdG8gbm93LCB3aGljaCBtaWdodCBoYXZlCgkgIGNhdXNlZCBmcmFtZXMgdG8gbm90IGJlIGV4dHJhY3RlZCAtIGVzcC4gZnJhbWVzIGFmdGVyIGFuIEFQSUMgcGljdHVyZQoJICBmcmFtZS4gRml4ZXMgIzU3NzQ2OC4KCjIwMDktMDQtMjQgMDE6MDE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IHBhc3MgdGhlIHJpZ2h0IHNpemUgdmFsdWUgZm9yIHNpemUgb2YgYWxsIGZyYW1lcyB0byB0aGUgcGFyc2VyCgkgIEZyYW1lIGRhdGEgc2l6ZSBpcyB0YWcgc2l6ZSBhZGp1c3RlZCBmb3Igc2l6ZSBvZiB0aGUgdGFnIGhlYWRlciBhbmQKCSAgZm9vdGVyLCBub3QgdGFnIHNpemUgaW5jbHVkaW5nIGhlYWRlciBhbmQgZm9vdGVyLgoKMjAwOS0wNC0yMiAxNToyNDo1NSArMDIwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sucmFkaXppIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc29tZSBtb3JlIHBhZCBsZWFrcwoJICBGaXggc29tZSBwYWQgbGVha3MuCgkgIFNlZSAjNTc3MzE4LgoKMjAwOS0wNC0yMSAyMjoxMjo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzk0MWVhIHRvIDZhYjExZDEKCjIwMDktMDQtMjEgMTQ6MDI6MDEgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvdmVycmlkZSBjYXBzIGJhc2VkIG9uIGRhdGEgZnJvbSBFU0RTIGF0b21zIGluIG1wZWc0LgoJICBJZiB0aGUgY29kZWMgaXMgYWN0dWFsbHkgc29tZXRoaW5nIGVsc2UgKGUuZy4gbWpwZWcpIGNoYW5nZSB0aGUgY2FwcyB0bwoJICBtYXRjaCB3aGVuIHBhcnNpbmcgdGhlIEVTRFMgYXRvbS4KCSAgQWxzbywgZm9yIEFBQywgb3ZlcnJpZGUgcmF0ZSBhbmQgY2hhbm5lbHMgd2l0aCBjb3JyZWN0IHZhbHVlcyByZWFkIGZyb20KCSAgRVNEUywgc2luY2UgdGhlIHJhdGUvY2hhbm5lbHMgdmFsdWVzIGVsc2V3aGVyZSBhcmUgb2Z0ZW4gd3JvbmcuCgoyMDA5LTA0LTIwIDE5OjMyOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHdhcm5pbmcgZm9yIHN0aWxsIGltYWdlcyBieSBub3QgdHJ5aW5nIHRvIGRpdmlkZSBieSAwCgkgIERvbid0IHBhc3MgYSAwIGRpdmlzb3IgdG8gZ3N0X3V0aWxfdWludDY0X3NjYWxlKCksIG9yIGl0IHdpbGwgY29tcGxhaW4KCSAgaW4gdGhlIHNpbmdsZSBpbWFnZSBjYXNlIHdoZXJlIGZwcz0wLzEgKGFyZSB3ZSBzdXBwb3NlZCB0byBkaWZmZXJlbnRpYXRlCgkgIGJldHdlZW4gbm8gZnBzPXN0aWxsIGltYWdlIGFuZCBmcHM9MC8xPXZhcmlhYmxlIHJhdGUgaGVyZSBidHc/KQoKMjAwOS0wNC0yMCAxNzoyNTozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IEZpeCBhIHNpbXBsZSB0eXBvIGluIHRoZSBwcmV2aW91cyBjb21taXQKCSAgVXNlICNpZmRlZiBpbnN0ZWFkIG9mICNpZiwgdG8gZml4IHRoZSBidWlsZAoKMjAwOS0wNC0yMCAxNTo0ODoyMSArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ad2luZ29tYWMuYmNuLm9ibG9uZy5uZXQ+CgoJICBmaXggZm9ybWF0IHN0cmluZyBpbiBwbmdkZWMKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBGaXggc2l6ZV90IHZzIHVuc2lnbmVkIGludCBmb3JtYXQgaW4gZXJyb3IgbWVzc2FnZS4KCjIwMDktMDQtMjAgMTU6NDY6MDMgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQHdpbmdvbWFjLmJjbi5vYmxvbmcubmV0PgoKCSAgb25seSB1c2Ugc3RydWN0IGlwX21yZXFuIGlmIGl0IGlzIGRldGVjdGVkCgkgICogY29uZmlndXJlLmFjOiBNYWtlIGFuIGV4cGxpY2l0IGNoZWNrIGZvciBzdHJ1Y3QgaXBfbXJlcW4uCgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiBVc2UgSEFWRV9JUF9NUkVRTiBpbnN0ZWFkIG9mIHRoZSBhZC1ob2MgY2hlY2tzLgoKMjAwOS0wNC0yMCAxMzo0NTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEZpeCBwdXNoIG1vZGUgYnVmZmVyaW5nIHNhbml0eSBjaGVjayB0byBhY3R1YWxseSBmaXQgdGhlIGRlc2NyaXB0aW9uLgoKMjAwOS0wNC0xOCAxOToxMTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBBbmQgbGV0J3Mgbm90IGZvcmdldCB0byByZW1vdmUgdGhlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDQtMTggMTg6NTA6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMsIHRoZSB2YXJpYWJsZXMgYXJlIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ5OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFRoZSB2YWx1ZSBpcyBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0ODo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4KCSAgdCBpcyBiZWluZyBvdmVyd3JpdHRlbiBhZnRlciwgYmVmb3JlIGl0J3MgdXNlZC4KCjIwMDktMDQtMTggMTg6NDg6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgIHJ0cGFtcmRlcGF5OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUsIHRoZSB2YWx1ZSBpcyBvbmx5IHJlYWQgb25jZS4KCjIwMDktMDQtMTggMTg6NDc6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICBydHBhbXJwYXk6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZSwgdGhlIHZhbHVlIGlzIG9ubHkgcmVhZCBvbmNlLgoKMjAwOS0wNC0xOCAxODo0NjoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgZ29vbS9maWx0ZXJzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBWYWx1ZSBvdmVyd3JpdHRlbiBqdXN0IGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0NTozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVmFsdWUgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDU6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFZhbHVlIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQzOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSwgaXQncyBuZXZlciBiZWluZyByZWFkLgoKMjAwOS0wNC0xOCAxODo0Mjo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gJ3JlcycgaXNuJ3QgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDE6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuICdyZXMnIGlzIG5ldmVyIHJlYWQuCgoyMDA5LTA0LTE4IDE4OjQwOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgZGVhZCB2YXJpYWJsZS4gJ3N0cmVhbScgaXMgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6Mzk6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZWJveDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMuCgkgIFRoZXNlIHZhcmlhYmxlcyBhcmUgbmV2ZXIgcmVhZCBhZnRlciB0aGlzIHBvaW50LgoKMjAwOS0wNC0xOCAxODozODoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgIGdvb206IGZmIGFuZCBpZmYgYXJlIG9ubHkgdXNlZCBpbiBhICcjaWZkZWYgRFJBV19NT1RJRicgYmxvY2suCgoyMDA5LTA0LTE4IDE4OjM0OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LgoJICByZXMgaXNuJ3QgcmVhZCBhZnRlciB0aGlzLgoKMjAwOS0wNC0xOCAxODozMjowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMsIG1vdmUgdmFyaWFibGUgdG8gd2hlcmUgaXQncyBuZWVkZWQuCgkgIFRoZSBoZWFkZXJfcmVhZF9lcnJvciBsYWJlbCB3aWxsIHJldHVybiBHU1RfRkxPV19FUlJPUgoKMjAwOS0wNC0xOCAxODoyMToyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4KCSAgVGhlIHZhbHVlIG9mICdzdHInIHdpbGwgbmV2ZXIgYmUgdXNlZCBpbiB0aGVzZSBjYXNlcy4KCjIwMDktMDQtMTggMTg6MTk6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGUuCgkgIGlyZXQgd2FzIG5ldmVyIHJlYWQgb3V0c2lkZSBvZiB0aGF0IGxvb3AsIGFuZCBpcyBhbHdheXMgYmVpbmcgZXhpdGVkIGlmCgkgIGlyZXQgd2FzICE9IEdTVF9GTE9XX09LIGFueXdheS4KCjIwMDktMDQtMTggMTg6MTc6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBNb3ZlICdyZXMnIHRvIHdoZXJlIGl0J3MgYWN0dWFsbHkgYmVpbmcgdXNlZC4KCSAgcmVzIHdhcyBuZXZlciB1c2VkIG91dHNpZGUgb2YgdGhhdCBibG9jayBleGNlcHQgZm9yIGEgZGVhZCBhc3NpZ25tZW50LgoKMjAwOS0wNC0xOCAxODoxNjozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgYXVkaW9meDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCSAgcnogaXMgbmV2ZXIgdXNlZCBpbiB0aGVzZSBtZXRob2RzLgoKMjAwOS0wNC0xOCAxODoxNTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeHJpbmdidWZmZXI6IFJ1biBnc3QtaW5kZW50LgoKMjAwOS0wNC0xOCAxODoxNDo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMuCgkgIFRob3NlIHZhcmlhYmxlcyBhcmUgbm90IHJlYWQgYWZ0ZXIgdGhhdCBwb2ludC4KCjIwMDktMDQtMTggMTg6MTE6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvcGFpbnQuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgUmVtb3ZlIHRyaXZpYWwgdW51c2VkIHZhcmlhYmxlcyBkZXRlY3RlZCBieSBDTGFuZyBzdGF0aWMgYW5hbHl6ZXIuCgoyMDA5LTA0LTE4IDE3OjUyOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIFJlbW92ZSBibGFuayB7c2V0fGdldH1fcHJvcGVydHkvY2hhbmdlX3N0YXRlL2ZpbmFsaXplIG1ldGhvZHMuCgoyMDA5LTA0LTE4IDE3OjQyOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGluIF9jbGFzc19pbml0CgkgIERldGVjdGVkIGJ5IExMVk0ncyBDTGFuZyBzdGF0aWMgYW5hbHl6ZXIKCjIwMDktMDQtMTggMTM6NTQ6MDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIGNoZWNrOiBDaGVjayB3aGV0aGVyIHRocmVhZHMgYXJlIGFscmVhZHkgaW5pdGlhbGlzZWQgYmVmb3JlIGdfdGhyZWFkX2luaXQoKQoKMjAwOS0wNC0xOCAxNDozMjo0MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXJrIGRpc2NvbnQgb24gdGhlIHN0cmVhbXMgYXMgd2FzIHNhaWQgdGhlIGRlYnVnIGxpbmUKCSAgQWZ0ZXIgYSBzZWVrIG1hcmsgYWxsIHN0cmVhbXMgd2l0aCBkaXNjb250IGFzIGl0IHdhcyBzYWlkIGluIHRoZSBkZWJ1ZyBsaW5lLgoJICBGaXhlcyB0aGF0IGJ1ZmZlcnMgYWZ0ZXIgYSBzZWVrIGFyZSBnZW5lcmF0ZWQgd2l0aG91dCBhIHZhbGlkIHRpbWVzdGFtcC4KCjIwMDktMDQtMTggMDg6NDU6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFwIEdTVF9SVFNQX0VFT0YgdG8gRU9TIG9uIHNlcnZlciByZXF1ZXN0cwoJICBQZXJtaXQgcHJvcGVybHkgaGFuZGxlIHRoZSBFT1MgY29uZGl0aW9uIHdoZW4gc2VydmVyIHJlcG9ydCBpdCBpbiBhIHJlcXVlc3QuCgoyMDA5LTA0LTE4IDA4OjM5OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgVXNlIEdfR1NJWkVfRk9STUFUIGluc3RlYWQgb2YgdS4KCjIwMDktMDQtMTYgMjI6NTA6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHNhbXBsZSBvZmZzZXQgY2FsY3VsYXRpb24gYWdhaW4KCjIwMDktMDQtMTUgMTk6MzI6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIHN1bmF1ZGlvOiBmaXggYnJva2VuIGluZGVudGF0aW9uIG9mIHZhcmlhYmxlIGRlY2xhcmF0aW9ucwoKMjAwOS0wNC0xNSAxOToyODo1MyArMDEwMCAgSmFtZXMgQW5kcmV3YXJ0aGEgPHRyczgwQHVjYy5ndS51d2EuZWR1LmF1PgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSAgc3VuYXVkaW86IHJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgYW5kIGdvdG8gbGFiZWxzCgkgIEZpeGVzICM1NzkwNzAuCgoyMDA5LTA0LTE1IDE5OjI0OjQ5ICswMjAwICBKYW1lcyBBbmRyZXdhcnRoYSA8dHJzODAgYXQgdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IGZpeCBjb21waWxhdGlvbiBvbiBiaWctZW5kaWFuCgkgIFNvbWUgc2VtaWNvbG9ucyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgYmlnLWVuZGlhbiBzdHJ1Y3RzIGluIGdzdHJ0cGgyNjNwYXkuaC4KCSAgQSBHU1RfREVCVUcgY2FsbCB3YXMgbWlzc2luZyBhIGZvcm1hdCBzcGVjaWZpZXIuCgkgIEZpeGVzICM1NzkwNjkKCjIwMDktMDQtMTUgMjA6MTA6MDQgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgcXRkZW11eDogaW1wbGVtZW50IDNHUFAgKFRTIDI2LjI0NCBWOC4wLjApIEFzc2V0IG1ldGFkYXRhIGhhbmRsaW5nLCBGaXhlcyAjMTMyMTkzCgkgIEltcGxlbWVudHMgM2dwcCBpc28gbWV0YWRhdGEgdGFncyB3aGljaCBhcmUgZGlmZmVyZW50IGZyb20gbW92IHVkdGEgYXRvbXMuCgoyMDA5LTA0LTE1IDE1OjUxOjI0ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5oOgoJICBkZWJ1Z3V0aWxzOiBVc2UgR19CRUdJTl9ERUNMUy9HX0VORF9ERUNMUy4KCSAgVXNlIEdfQkVHSU5fREVDTFMvR19FTkRfREVDTFMgdG8gYXZvaWQgZ3N0LWluZGVudCBtZXNzaW5nIHVwIHRoZQoJICBpbmRlbnRhdGlvbiBkdWUgdG8gZXh0ZXJuICJDIiB7IH0uCgoyMDA5LTA0LTE1IDE2OjAzOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVnL2RlYnVnLnZjcHJvajoKCSogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJKiBnc3QvZGVidWcvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Zy9lZmVuY2UudmNwcm9qOgoJKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmg6CgkqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5oOgoJKiBnc3QvZGVidWcvbmF2aWdhdGlvbnRlc3QudmNwcm9qOgoJKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5oOgoJKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVidWcvdGVzdHMuYzoKCSogZ3N0L2RlYnVnL3Rlc3RzLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Zy52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvbmF2aWdhdGlvbnRlc3QudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5oOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuaDoKCSAgZGVidWc6IHJlbmFtZSBkZWJ1ZyB0byBkZWJ1Z3V0aWxzIHRvIGF2b2lkIGNsYXNoIHdpdGggLS1kaXNhYmxlLWRlYnVnLiBGaXhlcyAjNTYyMTY4CgoyMDA5LTA0LTE1IDE1OjQzOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Zy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5oOgoJKiBnc3QvZGVidWcvdGVzdHMuaDoKCSAgZGVidWc6IGluZGVudCBiZWZvcmUgcmVuYW1pbmcKCjIwMDktMDQtMTUgMTQ6MDc6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICBnNzI2ZGVwYXk6IGFkZCBwcm9wZXJ0eSBmb3IgYWFsMiBmb3JjZQoKMjAwOS0wNC0xNSAxMzo1NjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkgIGc3MjZkZXBheTogaW1wbGVtZW50IFJGQzM1NTEgcGFja2luZwoJICBXZSBpbXBsZW1lbnRlZCB0aGUgQUFMMiBwYWNraW5nLCBhZGQgdGhlIGVuY29kaW5nLW5hbWUgZm9yIHRob3NlIHRvIHRoZSBjYXBzIGFuZAoJICBhIHByb3BlcnR5IHRvIGZvcmNlIEFBTDIgZGVjb2RpbmcgKGFsd2F5cyBUUlVFIGZvciBub3cpLgoJICBJbXBsZW1lbnQgUkZDMzU1MSB1bnBhY2tpbmcgZm9yIHJlZ3VsYXIgRzcyNi4KCSAgU2VlICM1NjcxNDAuCgoyMDA5LTA0LTE1IDAwOjIyOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IGZpeCBidWlsZAoKMjAwOS0wNC0xNCAxODo1Mjo0OCArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpIGF0IGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBoMjYzcGF5OiB2YXJpb3VzIGZpeGVzCgkgIFJlLWVuYWJsZSBtb2RlIEEgc3VwcG9ydCBhbmQgYSBwcm9wZXJ0eSB0byBjb250cm9sIGl0LgoJICBGaXggbWVtb3J5IGxlYWsgb2YgR3N0UnRwSDI2M1BheUJvdW5kcnkgb2JqZWN0cy4KCSAgRml4IG1hcmtlci4KCSAgRml4ZXMgIzUwOTMxMQoKMjAwOS0wNC0xNCAxODo0NDo1MSArMDIwMCAgSmFuaW4gS29sZW5jIDxqYW5pbi5rb2xlbmMgYXQgbWFyYW5kLnNpPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBoMjYzcGF5OiBGaXggdGhlIHBheWxvYWRlcgoJICBGaXggdGhlIEgyNjMgcGF5bG9hZGVyIHRvIGJlIG1vcmUgUkZDIDIxOTAgY29tcGxpYW50LgoJICBTZWUgIzUwOTMxMQoKMjAwOS0wNC0xNCAxNzoyNzowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvbid0IHB1c2ggRU9TIGluIHN0cmVhbWluZyBtb2RlCgkgIEluIHN0cmVhbWluZyBtb2RlLCBhdmlkZW11eCBpcyBub3Qgc3VwcG9zZWQgdG8gc2VuZCBhbiBFT1MgZXZlbnQgZG93bnN0cmVhbSBidXQKCSAgaXQgaXMgc3VwcG9zZWQgdG8gcmV0dXJuIFVORVhQRUNURUQgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24gaW5zdGVhZCBzbyB0aGF0CgkgIHVwc3RyZWFtIGNhbiBkbyB0aGUgcmlnaHQgRU9TIGhhbmRsaW5nLgoKMjAwOS0wNC0xMyAxNDowMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyBTcGVleCBhdWRpbwoJICBOb3RlOiBUaGlzIGlzIG5vdCBpbiB0aGUgTWF0cm9za2Egc3BlYyB5ZXQKCSAgRml4ZXMgYnVnICM1NzgzMTAuCgoyMDA5LTA0LTEwIDIxOjMxOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBOVUxMIHRpbWluZyBpbmZvCgkgIERvbid0IGNyYXNoIHdoZW4gdGhlIHRpbWluZyBpbmZvIGlzIG5vdCB5ZXQgYXZhaWxhYmxlLgoKMjAwOS0wNC0xMCAyMTo0MjoxMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlOiBtYWtlIGl0IHdvcmsgb24gMC45LjEyCgkgIEZpcnN0IHdlIGlnbm9yZSByZXF1ZXN0IHRvIGZpbGwgdGhlIHJpbmdidWZmZXIgd2hpY2ggYXJlIGxlc3MgdGhlbiBhIHNlZ21lbnQuCgkgIFRoZSBzbWFsbCByZXF1ZXN0IHdoZXJlIGNhdXNpbmcgc3R1dHRlci4KCSAgVGhlbiB3ZSBkaXNhYmxlIGZsdXNoaW5nIHRoZSBzdHJlYW0gd2hlbiBydW5uaW5nIGFnYWluc3QgcGEgMC45LjEyIGFzIHRoaXMKCSAgdHJpZ2dlcnMgYW4gYXNzZXJ0aW9uZyBpbiB0aGUgc291bmQgc2VydmVyIGFuZCB0ZXJtaW5hdGVzIGl0LiBJdCBkb2VzIG5vdCBoYXBwZW4KCSAgd2l0aCAwLjkuMTAgYW5kIDAuOS4xNC4KCjIwMDktMDQtMTAgMTQ6MTg6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIHNlcnZlciBkaXNjb25uZWN0IGluIGdldF90aW1lCgkgIFdoZW4gdGhlIHNlcnZlciBpcyBkaXNjb25uZWN0ZWQgb3Igd2hlbiB3ZSBhcmUgc2h1dCBkb3duLCBtYWtlIG91ciBjbG9jayByZXR1cm4KCSAgYW4gaW52YWxpZCB0aW1lIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LgoKMjAwOS0wNC0xMCAxMjowMToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBicHMgaXMgc2lnbmVkIGludCB0byBhdm9pZCBvdmVyZmxvdwoJICBLZWVwIGJwcyBhcyBnaW50IGluc3RlYWQgb2YgZ3VpbnQgYmVjYXVzZSB3ZSB3aWxsIGJlIGRvaW5nIHNpZ25lZCBtYXRoIHdpdGggaXQKCSAgbGF0ZXIgb24gYW5kIHdlIGRvbid0IHdhbnQgd2VpcmQgcmVzdWx0cy4KCjIwMDktMDQtMTAgMDA6MjY6NDQgKzAyMDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgY29udmVydCBxdWVyeSwgZml4IGR1cmF0aW9uIHF1ZXJ5CgkgIEZpeCB0aGUgZHVyYXRpb24gcXVlcnkgc28gdGhhdCBpdCBhbHNvIHdvcmtzIHdpdGggZm9ybWF0cyBvdGhlciB0aGFuCgkgIFRJTUUsIHN1Y2ggYXMgREVGQVVMVCB0byBnZXQgdGhlIG51bWJlciBvZiBmcmFtZXMuCgkgIEFkZCBhIGNvbnZlcnQgZnVuY3Rpb24uCgkgIEZpeGVzICM1NzgwNTIuCgoyMDA5LTA0LTA5IDIzOjQzOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNoZWNrIGZvciBhIHN0cmVhbQoJICBEb24ndCB0cnkgdG8gY2hhbmdlIHRoZSBzdHJlYW0gdm9sdW1lIChhbmQgb3RoZXIgdGhpbmdzKSB3aGVuIHdlIGRvbid0IGhhdmUgYQoJICBzdHJlYW0geWV0LiBKdXN0IHN0b3JlIHRoZSB2YWx1ZXMgZm9yIGxhdGVyLgoKMjAwOS0wNC0wOSAxODowNzozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY29tcGlsYXRpb24gZm9yIG5ld2VyIHB1bHNlYXVkaW8KCjIwMDktMDQtMDkgMTc6MTg6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdW5jb3JrIGZpeGVzIGFuZCB1c2UgcHJlYnVmID0gMAoJICBXZSBjYW4gdXNlIHByZWJ1ZiA9IDAgdG8gaW5zdHJ1Y3QgcHVsc2UgdG8gbm90IHBhdXNlIHRoZSBzdHJlYW0gb24gdW5kZXJmbG93cy4KCSAgVGhpcyB3YXkgd2UgY2FuIHJlbW92ZSB0aGUgdW5kZXJmbG93IGNhbGxiYWNrLiBXZSBob3dldmVyIGhhdmUgdG8gbWFudWFsbHkKCSAgdW5jb3JrIHRoZSBzdHJlYW0gbm93IHdoZW4gd2UgaGF2ZSBubyBhdmFpbGFibGUgc3BhY2UgaW4gdGhlIGJ1ZmZlciBvciB3aGVuIHdlCgkgIGFyZSB3cml0aW5nIHRvbyBmYXIgYXdheSBmcm9tIHRoZSBjdXJyZW50IHJlYWRfaW5kZXguCgoyMDA5LTA0LTA5IDE0OjM4OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSB3cml0ZSBlcnJvcnMKCjIwMDktMDQtMDkgMTQ6MTY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogd3JpdGUgc2lsZW5jZSBvbiB1bmRlcmZsb3cKCSAgU3RhcnQgZmlsbGluZyB1cCB0aGUgYnVmZmVyIHdpdGggZW1wdHkgc2FtcGxlcyB3aGVuIGFuIHVuZGVyZmxvdyBoYXBwZW5zLiBXZQoJICBuZWVkIHRvIGRvIHRoaXMgdG8ga2VlcCBwdWxzZWF1ZGlvIHJlcG9ydGluZyB0aGUgcmlnaHQgdGltZSBmb3IgdXMuCgoyMDA5LTA0LTA5IDEzOjE0OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBwdWxsLWJhc2VkIHNjaGVkdWxpbmcKCSAgVXNlIHRoZSBkZWZhdWx0IGJhc2VzaW5rIG1ldGhvZHMgZm9yIGltcGxlbWVudGluZyBwdWxsIGJhc2VkIHNjaGVkdWxpbmcsIGl0CgkgIHdvcmtzIGZpbmUgZm9yIHVzLgoKMjAwOS0wNC0wOSAxMjoxMzo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgYmVnaW5uaW5ncyBvZiBwdWxsLWJhc2VkIHNjaGVkdWxpbmcKCjIwMDktMDQtMDggMTg6MTc6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazoga2VlcCB0cmFjayBvZiBjbG9jayByZXNldAoJICB3aGVuIHdlIHN3aXRjaCBzdHJlYW1zLCB0aGUgY2xvY2sgd2lsbCByZXNldCB0byAwLiBNYWtlIHN1cmUgdGhhdCB0aGUgcHJvdmlkZWQKCSAgY2xvY2sgZG9lc24ndCBnZXQgc3R1Y2sgd2hlbiB0aGlzIGhhcHBlbnMgYnkga2VlcGluZyBhbiBpbml0aWFsIG9mZnNldC4gV2UgYWxzbwoJICBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIHN1YnRyYWN0IHRoaXMgb2Zmc2V0IGluIHNhbXBsZXMgd2hlbiB3cml0aW5nIHRvIHRoZQoJICByaW5nYnVmZmVyLgoKMjAwOS0wNC0wOCAxMzo1Mjo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHJld3JpdGUgcHVsc2VzaW5rCgkgIERlcml2ZSBmcm9tIEJhc2VBdWRpb1NpbmsgYW5kIGltcGxlbWVudCBvdXIgY3VzdG9tIHJpbmdidWZmZXIgdGhhdCBtYXBzIHRvIHRoZQoJICBpbnRlcm5hbCBwdWxzZWF1ZGlvIHJpbmdidWZmZXIuCgoyMDA5LTA0LTA4IDEzOjUyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogcmVtb3ZlIHNvbWUgc3RyYXkgZGVidWcgbGluZXMKCjIwMDktMDQtMDkgMTE6MzA6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHVzZSBzbGlnaHRseSBtb3JlIGFkYXB0aXZlIGZvcm11bGEgZm9yIFFvUwoJICBTaG91bGQgd29yayBhdCBsZWFzdCBhIHRhZCBiZXR0ZXIgaWYgdGhlIGRlY29kZXIgY2FuJ3Qga2VlcCB1cCwgYW5kCgkgIHNob3VsZCBhbHNvIHNwcmVhZCBkcm9wcGVkIGZyYW1lcyBhIGJpdCBtb3JlIGV2ZW5seSBvdmVyIHRpbWUuCgoyMDA5LTA0LTA3IDIyOjM1OjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvbid0IGxlYWsgcGFkLXRlbXBsYXRlCgkgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcC4KCjIwMDktMDQtMDQgMjE6MTg6NTUgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMGVhODllIHRvIGIzOTQxZWEKCjIwMDktMDQtMDEgMDE6MTU6MzEgKzAyMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgYWRkIHBlbmRpbmdfc2FtcGxlcyBzbyB0aGF0IHdlIG9ubHkgdXBkYXRlIHNlZ21lbnQncyBsYXN0IHN0b3AgYWZ0ZXIgcmVhbGx5IHNlbmRpbmcgdGhlIHNhbXBsZXMKCjIwMDktMDMtMTUgMjE6MzE6NDkgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBhZGQgZGVidWcgYW5kIGFuIGFzc2VydAoKMjAwOS0wMy0xNSAyMTozMDozMiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgYWRkIGRlYnVnZ2luZwoKMjAwOS0wMy0wMyAxMDoxNDowMiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9hdWRpb3Rlc3RzcmMuZmxhYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgYWRkIGEgdGVzdCB0byBjaGVjayB0aGF0IHdlIGdldCBhbGwgZGVjb2RlZCBieXRlcyBmcm9tIGEgMTAtYnVmZmVyIGF1ZGlvdGVzdHNyYyBmbGFjLCBpbiB0aGUgY2FzZSBvZjogIC0gYSBmdWxsIGRlY29kZSAgLSBhIGRlY29kZSBvZiBhIHNlZWsgZm9yIHRoZSBmdWxsIGZpbGUgIC0gYSBkZWNvZGUgb2YgYSBzZWVrIGZvciBhIHNtYWxsIHBhcnQsIHNtYWxsZXIgdGhhbiB0aGUgZmlyc3QgYnVmZmVyCgkgIFRoZSB0ZXN0IGZhaWxzIGJlY2F1c2UgZmxhY2RlYyBkcm9wcyB0aGUgZmlyc3Qgb3V0Z29pbmcgYnVmZmVyIG9uIGEgc2VlawoKMjAwOS0wMy0wMyAxMDowNjo1MiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgY2xpcHBpbmcgc2hvdWxkIGFsc28gd29yayBpZiBpdCdzIGRvbmUgb24gdGhlIGZpcnN0IGJ1ZmZlciBzdGFydGluZyBhdCAwCgoyMDA5LTA0LTA0IDE0OjU0OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOGIzZDkxIHRvIGQwZWE4OWUKCjIwMDktMDQtMDMgMDk6NTc6MTUgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvcXRkZW11eC9MRUdBTDoKCSAgRml4IGdyYW1tYXIuCgoyMDA5LTA0LTAyIDIyOjQxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbGxvdyBodHRwOi8vIG9uIHRoZSBwcm94eSBzZXR0aW5nCgkgIEFsbG93IGFuZCBpZ25vcmUgaHR0cDovLyBhdCB0aGUgc3RhcnQgb2YgdGhlIHByb3h5IHNldHRpbmcsIGxpa2UKCSAgc291cGh0dHBzcmMuCgkgIEZpeGVzICM1NzMxNzMKCjIwMDktMDQtMDIgMjE6MDg6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGxlYWsgdGhlIHVkcHNyYyBwYWQKCSAgRml4IG1lbW9yeSBsZWFrIGluIHJ0c3BzcmMgYmVjYXVzZSB3ZSBkaWRuJ3QgdW5yZWYgdGhlIHVkcHNyYyBwYWQuCgkgIFNlZSAjNTc3MzE4CgoyMDA5LTA0LTAxIDE3OjMxOjE4IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogZml4IGxlbmd0aCBlbmNvZGluZyBpbiBwYWNrZWQgaGVhZGVycy4KCSAgQXMgZm9yIHZvcmJpcyBwYXlsb2FkZXI7IHRoaXMgYnkgaW5zcGVjdGlvbiBoYWQgdGhlIHNhbWUgYnVnLgoKMjAwOS0wNC0wMSAxNzoyMzozMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IGluIHBhY2tlZCBoZWFkZXJzLCBwcm9wZXJseSBmbGFnIG11bHRpYnl0ZSBsZW5ndGhzLgoJICBJbiB0aGUgc2VxdWVuY2Ugb2YgaGVhZGVyIGxlbmd0aHMsIGZvciBoZWFkZXJzID4xMjcgYnl0ZXMsIHdlIHVzZQoJICBtdWx0aXBsZSBieXRlcyB0byBlbmNvZGUgdGhlIGxlbmd0aC4gQnl0ZXMgb3RoZXIgdGhhbiB0aGUgbGFzdCBtdXN0IGhhdmUKCSAgdGhlIHRvcCAoZmxhZykgYml0IHNldC4KCjIwMDktMDQtMDIgMDA6MjA6MDIgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgaWQzdjJtdXg6IHdyaXRlIFJWQTIgZnJhbWVzIGNvbnRhaW5pbmcgcGVhay9nYWluIHZvbHVtZSBkYXRhCgoyMDA5LTA0LTAyIDAwOjA1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBkZW1vdGUgc29tZSBsb2cgbWVzc2FnZSBmcm9tIERFQlVHIHRvIExPRwoJICBBbmQgbG9nIGRlY29kZXIgb2JqZWN0LgoKMjAwOS0wNC0wMSAyMToxNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogaW1wbGVtZW50IGJhc2ljIFFvUwoJICBEb24ndCBkZWNvZGUgZnJhbWVzIHRoYXQgYXJlIGdvaW5nIHRvIGJlIHRvbyBsYXRlIGFueXdheS4KCjIwMDktMDQtMDEgMTI6MjY6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBlbWl0IHVnbHkgd2FybmluZ3Mgd2l0aCBvbGRlciBydHBqaXR0ZXJidWZmZXIgdmVyc2lvbnMKCSAgVGhlIG9uLW5wdC1zdG9wIHNpZ25hbHMgd2FzIGFkZGVkIG9ubHkgcmVjZW50bHkgdG8gcnRwaml0dGVyYnVmZmVyIGluCgkgIC1iYWQsIHNvIGNoZWNrIGlmIHRoZSBzaWduYWwgZXhpc3RzIGJlZm9yZSBnX3NpZ25hbF9jb25uZWN0KClpbmcgdG8KCSAgaXQsIHRvIGF2b2lkIHdhcm5pbmdzLgoKMjAwOS0wMy0zMSAxOTowODozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcHJveHkgc3VwcG9ydAoKMjAwOS0wMy0zMSAxNzoxNjowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgbGVhayBzZXJpYWxpemVkIHZhbHVlcyB3aGVuIHdyaXRpbmcgdGFncwoKMjAwOS0wMy0zMSAxNzowNjo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBkb24ndCBhbHRlciBwYXNzZWQgZGF0YSBhbmQgZXNwZWNpYWx5IGRvbid0IGxlYWsuCgkgIElmIHdlIG5lZWQgZGlmZmVyZW50IHNpemUsIE1ha2UgYSBjb3B5LCB3b3JrIHdpdGggdGhhdCBhbmQgZnJlZSBpdC4KCjIwMDktMDMtMzEgMTY6NDI6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IHRoZSBzdHJ1Y3R1cmUgaXMgbm90IGZ1bGx5IGluaXRpYWxpemVkLCBidXQgdGhlIGNvcGllZC4KCSAgU2V0IHRvIGZ1bGx5IHRvIDAgdG8gYXZvaWQgY3JlZXAgb2YgdW5pbml0aWFsaXplZCB2YWx1ZXMuCgoyMDA5LTAzLTMxIDE2OjI1OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBpbml0IGVuZGlhbmVzcyBhcyBzdWNoIGFuZCBzaWduZWRuZXNzIGFzIGJvb2xlYW4uCgoyMDA5LTAzLTMxIDE2OjIyOjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHVzZSBpbmluaXRpYWxpemVkIHZhciBpbiBkZWJ1ZyBsb2cgc3RhdGVtZW50CgkgIEFsc28gbWFrZSB0aGUgbG9nIHN0YXRlbWVudCB1c2VmdWwgYnkgcHJpbnRpbmcgdGhlIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCBuYW1lLgoKMjAwOS0wMy0zMSAxMjowMToyMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBsZWFrIGF0b20gZGF0YSBpbiBjYXNlIG9mIGEgd3JvbmcgZm91cmNjCgoyMDA5LTAzLTMxIDExOjU3OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGRvbid0IGxlYWsgcmVhZCBkYXRhIGluIGRlbXV4ZXIKCjIwMDktMDMtMzEgMTE6NTA6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGRvbid0IHVzZSBwcm90b2NvbCBpbiBkZWJ1ZyBtZXNzYWdlIGFmdGVyIGZyZWVpbmcKCjIwMDktMDMtMzAgMTQ6MTA6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBvdXRwdXQgc2hvdWxkIGJlIGZyYW1lZCBhbHJlYWR5CgoyMDA5LTAzLTI3IDIxOjE3OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhYzogcmVxdWlyZSBhICduZXdlcicgZmxhYyBhbmQgcmVtb3ZlIHN1cHBvcnQgZm9yIHRoZSBsZWdhY3kgZmxhYyBBUEkKCjIwMDktMDMtMjcgMTc6NDg6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGxpbmsgdG8gdGhlIG9uX25wdF9zdG9wIHNpZ25hbCB0byBFT1MKCSAgQ29ubmVjdCB0byB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIgdG8gc2NoZWR1bGUgdGhlIEVPUwoJICBhY3Rpb25zLgoKMjAwOS0wMy0yNiAxNDozOTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvbWUgc3RyZWFtIHN5bmNocm9uaXphdGlvbiB0byBhaWQgc2Vla2luZyBpbiB1bmJhbGFuY2VkIGNsaXBzCgkgIFNvbWUgY2xpcHMgKHRyYWlsZXJzKSBtYXkgaGF2ZSAobGVuZ3RoLXdpc2UpIHVuYmFsYW5jZWQgc3RyZWFtcywKCSAgd2hpY2ggc3RhbGxzIHRoZSBwaXBlbGluZSBpZiBzZWVraW5nIGludG8gdGhhdCByZWdpb24uCgkgIEFkZGl0aW9uYWwgc3RyZWFtIHN5bmNocm9uaXphdGlvbiBjYW4gaGFuZGxlIHRoaXMsIGFzIHdlbGwgYXMKCSAgc3BhcnNlIChzdWJ0aXRsZSkgc3RyZWFtcyAoYXQgc29tZSBsYXRlciB0aW1lID8pCgoyMDA5LTAzLTI2IDEwOjMxOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkaXRpb25hbCBzYWZldHkgYW5kIHNhbml0eSBjaGVja3MgKHB1c2ggYmFzZWQgbW9kZSkKCjIwMDktMDMtMjYgMTA6MTg6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IHNvbWUgbW9yZSBpbmRlbnQgZml4ZXMKCjIwMDktMDMtMjQgMTY6MDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBnc3QtaW5kZW50IHNjcmV3dXAKCjIwMDktMDMtMjUgMTc6NTQ6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBydHNwc3JjOiBiZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBSVFNQIGV4dGVuc2lvbiBmb3IgUmVhbCBzdHJlYW1zIGlzIG1pc3NpbmcKCSAgVHJ5IHRvIHBvc3QgYSBkZWNlbnQgZXJyb3IgbWVzc2FnZSB3aGVuIGl0IGxvb2tzIGxpa2Ugd2UncmUgZmFpbGluZwoJICBiZWNhdXNlIHRoZSBSZWFsIFJUU1AgZXh0ZW5zaW9uIHBsdWdpbiBpcyBtaXNzaW5nLiBBbHNvIGFkZCBpMThuCgkgIGJpdHMgZm9yIHJ0c3BzcmMgc28gb3VyIGVycm9yIG1lc3NhZ2VzIGdldCB0cmFuc2xhdGVkLgoKMjAwOS0wMy0yNSAxNTo0MjoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgaTE4bjogbWFrZSBzdXJlIGdldHRleHQgZ2l2ZXMgdXMgVVRGLTggYXQgYWxsIHRpbWVzCgoyMDA5LTAzLTI1IDAxOjI4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5LHJ0cG1wNGRlcGF5OiBmaXggYnVmZmVyIGxlYWtzIGluIEFBQyBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyCgoyMDA5LTAzLTI1IDAxOjIyOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5OiB3YXJuIGlmIGlucHV0IGlzIHVuZnJhbWVkCgoyMDA5LTAzLTIyIDIxOjIwOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBwdXQgR3N0U2VnbWVudCBpbnNpZGUgdGhlIGVsZW1lbnQgc3RydWN0IGluc3RlYWQgb2YgYWxsb2NhdGluZyBpdCBzZXBhcmF0ZWx5CgoyMDA5LTAzLTI1IDEwOjA4OjQxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogbW92ZSBkdXBsaWNhdGVkIHRpbWVzdGFtcGluZyBhbmQgYnVmZmVyIG1ldGFkYXRhIGNvZGUgdG8gX2NyZWF0ZSgpCgkgIFRoaXMgd2lsbCBpbmNsdWRlIHRoZSBsYXRlbmN5IGNoYW5nZXMgYWxzbyBpbiB0aGUgbW1hcCBjYXNlLgoKMjAwOS0wMy0yNSAxMDowNjo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IHJlbW92ZSB3aW4zMiBpZmRlZnMgaW50cm9kdWNlZCBieSBjb21taXQgY2ZmM2Y0Njc2MGVhYzc0YzliYmQ3YTM2YWNhNDRmZWRmMzI3NDI0YgoJICBWNGwyc3JjIGlzIHVuZGVyIHN5cyBhbmQgZG9lcyBub3QgZXhpc3RzL3J1biB1bmRlciB3aW5kb3dzIGFueXdheS4KCjIwMDktMDMtMjQgMTU6NDQ6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgRkxVU0hfU1RPUCBldmVudAoJICBDbGVhbiB1cCBzb21lIHN0YXRlIChtb3N0IG5vdGFibHkgcGFkIGZsb3cgcmV0dXJucykgdG8gcmVzdW1lCgkgIHByb3BlciBzdHJlYW1pbmcgZm9sbG93aW5nIGZsdXNoaW5nIHNlZWsuCgoyMDA5LTAzLTI0IDEyOjQyOjEzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgcG9zdCBhbiBlcnJvciBpZiBFT1MgY2FuJ3QgYmUgcHVzaGVkIGRvd25zdHJlYW0uCgkgIFRoaXMgYWxpZ25zIGF2aWRlbXV4IHdpdGggb3RoZXIgZGVtdXhlcnMgYW5kIGZpeGVzIGEgYnVnIHVzaW5nIGF2aWRlbXV4CgkgIHdpdGggYSByZWNlbnQgZ25vbmxpbi4KCjIwMDktMDMtMjMgMTE6MjI6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2xlYW4gdXAgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICBNYWtlIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYSBiaXQgbW9yZSByZWFkYWJsZSBhbmQgb25seSBwYXVzZSBhZnRlciB0aGUKCSAgcGFyZW50IGhhZCBhIGNoYW5nZSB0byBwYXVzZSBmaXJzdC4KCjIwMDktMDMtMjAgMTc6MjI6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IHNlZWtpbmcgaW4gcHVzaCBiYXNlZCBtb2RlCgoyMDA5LTAzLTIwIDE3OjExOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxpZ24gcHVzaCBiYXNlZCBiZWhhdmlvdXIgbW9yZSB3aXRoIHB1bGwgYmFzZWQKCSAgQ2F0ZXIgZm9yIERFTFRBX1VOSVQgZmxhZyBvbiBidWZmZXJzLCBrZWVwIHRyYWNrIG9mIGN1cnJlbnQKCSAgcG9zaXRpb24sIHJlbW92ZSBhbmQgd2FybiBhYm91dCBlZGl0IGxpc3RzIGlmIGFueSAoYXMgdGhvc2UKCSAgYXMgYXJlIGRlIGZhY3RvIGRpc2NhcmRlZCBhbnl3YXkpLCBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIGFuZCBpbmRlbnQgZml4ZXMuCgoyMDA5LTAzLTIwIDE3OjAzOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IG1lbSBsZWFrcyBhbmQgcHJldmVudCBleGNlc3NpdmUgYnVmZmVyaW5nIGluIHB1c2ggYmFzZWQgbW9kZQoKMjAwOS0wMy0yMCAxMzoyNzo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogVHJhY2sgdGhlIGNvcmtlZC91bmNvcmtlZCBzdGF0ZSBvdXJzZWx2ZXMKCSAgVXNlIGFuIGluc3RhbmNlIHZhcmlhYmxlIHRvIHRyYWNrIHdoZXRoZXIgdGhlIHN0cmVhbSBpcyBjb3JrZWQgb3Igbm90LAoJICBpbnN0ZWFkIG9mIHVzaW5nIFBBIEFQSSB0aGF0IHdhcyBvbmx5IGludHJvZHVjZWQgaW4gMC45LjExCgoyMDA5LTAzLTE5IDE4OjM5OjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBNYWtlIHN1cmUgdGhlIHN0cmVhbSBpcyB1bmNvcmtlZCBpbiB0aGUgd3JpdGUgZnVuY3Rpb24KCSAgSWYgdGhlIGNhcHMgY2hhbmdlcywgdGhlIHNpbmsgaXMgcmVzZXQgd2l0aG91dCB0cmFuc2l0aW9uaW5nIHRocm91Z2gKCSAgYSBQQVVTRUQtPlBMQVlJTkcgc3RhdGUgY2hhbmdlLCByZXN1bHRpbmcgaW4gYSBjb3JrZWQgc3RyZWFtLiBUaGlzIGF2b2lkcwoJICB0aGUgcHJvYmxlbSBieSBjaGVja2luZyB0aGF0IHRoZSBzdHJlYW0gaXMgdW5jb3JrZWQgd2hlbiB3cml0aW5nIHNhbXBsZXMKCSAgdG8gaXQuCgoyMDA5LTAzLTIwIDAxOjAyOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZml4IGRpcmVjdGlvbiBvZiBsYXRlbmN5IHF1ZXJ5IGFuZCBvdGhlciB1cHN0cmVhbSBxdWVyaWVzCgkgIERvbid0IHNlbmQgcXVlcmllcyBiYWNrIHRvIHRoZSBlbGVtZW50IHRoZXkganVzdCBjYW1lIGZyb20gYnkgc2VuZGluZwoJICB0aGVtIHRvIHRoZSBwZWVyIG9mIHRoZSB3cm9uZyBwYWQuCgoyMDA5LTAzLTE5IDExOjEwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlCgoyMDA5LTAzLTE4IDE2OjU1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogZG9uJ3QgYXBwZW5kIGFuIGV4dHJhIDAgYnl0ZSB0byB0aGUgY29kZWMgZGF0YQoJICBUaGUgYXVkaW9NdXhWZXJzaW9uIHN0cnVjdHVyZSBpcyBwYWNrZWQgaW4gc3VjaCBhIHdheSB0aGF0IHRoZSBjb2RlYwoJICBkYXRhIGRvZXMgbm90IHN0YXJ0IGJ5dGUtYWxpZ25lZCwgd2hpY2ggbWVhbnMgdGhlcmUncyBhbiBleHRyYSBiaXQgb2YKCSAgcGFkZGluZyBhdCB0aGUgZW5kLiBXZSBkb24ndCB3YW50IHRoYXQgYml0IGluIHRoZSBjb2RlYyBkYXRhLCBzaW5jZQoJICBzb21lIGRlY29kZXJzIHNlZW0gZ2V0IGNvbmZ1c2VkIHdoZW4gdGhleSdyZSBmZWQgd2l0aCBhbiBleHRyYSBjb2RlYwoJICBkYXRhIGJ5dGUgKGFsc28gaXQncyBqdXN0IG5vdCByaWdodCBvZiBjb3Vyc2UpLgoKMjAwOS0wMy0xOSAxMzoyNTo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IGJhc2U2NCBkZWNvZGluZwoJICBXZSBjYW4ndCBwYXNzIC0xIHRvIF9kZWNvZGVfc3RlcCwgdGhhdCBmdW5jdGlvbnMgcmV0dXJucyAwIHJpZ2h0IGF3YXkgaW5zdGVhZCBvZgoJICBkZWNvZGluZyB1cCB0byB0aGUgc3RyaW5nIGVuZC4KCjIwMDktMDMtMTkgMTM6MjQ6MDIgKzAxMDAgIERhdmlkIEFkYW0gPHphbmNoZXkgYXQgdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogRml4IGJ1aWxkIGlmIG9uIFNvbGFyaXMKCSAgVGhpcyBwYXRjaCBjaGVja3MgZm9yIFNvbGFyaXMgYW5kIHVzZXMgaXBfbXJlcSBpbnN0ZWFkIG9mIGlwX21yZXFuIGlmIG9uIHRoaXMKCSAgcGxhdGZvcm0uCgkgIEZpeGVzICM1NzU5MzcuCgoyMDA5LTAzLTE4IDE0OjUwOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cDogVXNlIEdMaWIgZnVuY3Rpb25zIGZvciBlbmNvZGluZy9kZWNvZGluZyBiYXNlNjQKCjIwMDktMDMtMTYgMTk6MTc6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzb21lIGRlYnVnIGZvciB0aGUgdGltZXN0YW1wcwoJICBXaGVuIHRpbWVzdGFtcGluZyBpbiBUQ1AgbW9kZSwgbG9nIHRoZSBmaXJzdCB0aW1lc3RhbXAgd2UgcHV0IG9uIHRoZSBidWZmZXJzLgoKMjAwOS0wMy0xNSAyMzoyNjo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBsb2cgZGV0YWlscyBpZiB3ZSBoYXZlIHRoZW0sIG5lZWRlZCBmb3IgIzU3NTM5MQoKMjAwOS0wMy0xMyAxODozMjo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogY29udmVydCBfIGluIHByb3BlcnRpZXMgdG8gLQoJICAtLQoKMjAwOS0wMy0xMyAxODoyODo1OSArMDEwMCAgRWRnYXIgRS4gSWdsZXNpYXMgPGVkZ2FyLmlnbGVzaWFzQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IEFkZCBuZXR3b3JrIGludGVyZmFjZSBzZWxlY3Rpb24KCSAgQWRkIG5ldHdvcmsgaW50ZXJmYWNlIHNlbGVjdGlvbiB3aGVuIGpvaW5pbmcgbXVsdGljYXN0IGdyb3Vwcy4KCSAgVXNlZnVsIHdoZW4gdXNpbmcgdGhlIHVkcHNyYyBvbiBtdWx0aWhvbWVkIGhvc3RzLgoJICBGaXhlcyAjNTc1MjM0LgoJICBBUEk6IEdzdFVEUFNyYzo6bXVsdGljYXN0LWlmYWNlCgoyMDA5LTAzLTEzIDE1OjQzOjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFByZXBlbmQgdG8gbGlzdHMgYW5kIHJldmVyc2UgdGhlbSBhdCB0aGUgZW5kLgoJICBHcmF0dWl0b3VzIG1pY3JvLW9wdGltaXNhdGlvbiAtIHByZXBlbmQgdG8gbGlzdHMgYW5kIHJldmVyc2UgdGhlbSwgcmF0aGVyCgkgIHRoYW4gYXBwZW5kaW5nIHRvIHRoZW0gZWFjaCB0aW1lLgoKMjAwOS0wMy0xMyAxNTo0MDo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFdhaXQgdW50aWwgdGhlcmUgaXMgZW5vdWdoIHJvb20gdG8gd3JpdGUgYW4gZW50aXJlIHNlZ21lbnQKCSAgV2hlbiB0cnlpbmcgdG8gd3JpdGUgb3V0IGEgc2VnbWVudCwgd2FpdCB1bnRpbCB0aGVyZSBpcyBlbm91Z2ggZnJlZSBzcGFjZQoJICBmb3IgdGhlIGVudGlyZSBzZWdtZW50LiBUaGlzIGhlbHBzIHRvIHJlZHVjZSByaXBwbGUgaW4gdGhlIGNsb2NrIHJlcG9ydGluZywKCSAgd2hlcmUgdGhlIGFwcCBtaWdodCBxdWVyeSB0aGUgcGxheWJhY2sgcG9zaXRpb24gd2hpbGUgb25seSBoYWxmIGEgc2VnbWVudAoJICBoYXMgYmVlbiB3cml0dGVuIChhbmQgaXMgdGhlcmVmb3JlIHJlcG9ydGVkIGJ5IF9kZWxheSgpLCBldmVuIHRob3VnaAoJICB0aGUgcmluZyBidWZmZXIgaGFzIG5vdCB5ZXQgYmVlbiBhZHZhbmNlZCkKCjIwMDktMDMtMTIgMjA6Mzg6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHNlbmQgUEFVU0Ugd2hlbiBub3QgY29ubmVjdGVkCgkgIGRvbid0IHNlbmQgYSBQQVVTRSByZXF1ZXN0IHdoZW4gd2UgYXJlIG5vIGxvbmdlciBjb25uZWN0ZWQuCgoyMDA5LTAzLTEyIDE2OjEwOjI1ICswMTAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgRG9uJ3QgY2FsbCBGTEFDX18gbWV0aG9kcyBiZWZvcmUgaXQncyBpbml0aWFsaXplZC4gRml4ZXMgIzUxNjAzMQoJICBJbiB0aGUgZXZlbnQgaGFuZGxlciwgZ3N0X2ZsYWNfZGVjX3NpbmtfZXZlbnQoKSwgdHdvIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIG9uCgkgIHRoZSBGTEFDIHN0cmVhbSB3aXRob3V0IGNoZWNraW5nIGlmIGl0IGhhcyBiZWVuIGluaXRpYWxpemVkOgoJICBGTEFDX19zdHJlYW1fZGVjb2Rlcl9mbHVzaCgpCgkgIEZMQUNfX3N0cmVhbV9kZWNvZGVyX3Byb2Nlc3NfdW50aWxfZW5kX29mX3N0cmVhbSgpCgkgIEJvdGggdGhlc2UgRkxBQ19fKigpIGZ1bmN0aW9ucyBtb2RpZnkgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBGTEFDIHN0cmVhbS4KCSAgTGF0ZXIsIHdoZW4gdGhlIGJ1ZmZlcnMgc3RhcnQgZmxvd2luZywgZ3N0X2ZsYWNfZGVjX2NoYWluKCkgdHJpZXMgdG8gaW5pdGlhbGl6ZQoJICB0aGUgc3RyZWFtLiB0aGUgRkxBQ19fc3RyZWFtX2RlY29kZXJfaW5pdF9zdHJlYW0oKSBjYWxsIHdpbGwgZmFpbCBiZWNhdXNlIHRoZQoJICBwcmV2aW91cyBjYWxscyB0byBGTEFDX18qKCkgY2hhbmdlZCB0aGUgc3RyZWFtIHN0YXRlIHNvIGl0IGlzIG5vIGxvbmdlciBpbiB0aGUKCSAgaW5pdGlhbGl6ZWQgc3RhdGUuCgoyMDA5LTAzLTExIDE3OjU5OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggdGltZW91dCBjaGVjawoJICAtLS0KCjIwMDktMDMtMTEgMTI6NDg6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiB1cGRhdGUgTUFOSUZFU1QsIGZpeGluZyAnbWFrZSBkaXN0JwoJICBjb25maWcuaC5pbiBubyBsb25nZXIgZXhpc3RzLgoKMjAwOS0wMy0xMCAyMToxNDo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgbWFrZWZpbGU6IGZpeCB0eXBvIGluIG5vLXN0YXRpYyBwbHVnaW5zIHJ1bGUKCjIwMDktMDMtMTAgMTE6MDE6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IHZhcmlvdXMgY2xlYW51cHMuCgkgIE1ha2Ugc29tZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIEZpeCBhIGxlYWsgd2hlbiBwdWxsIHJhbmdlIHJldHVybnMgYSBzaG90IGJ1ZmZlci4KCSAgUHVzaCBFT1MgYWZ0ZXIgcG9zdGluZyB0aGUgZXJyb3IuCgoyMDA5LTAzLTEwIDEwOjE2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBnc3RydHB2b3JiaXNkZXBheTogRml4IGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wMy0wMSAxNzozNzo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBtNCBkaXJlY3RvcnkKCjIwMDktMDMtMDkgMjM6MTI6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzAzMjE2MyB0byBmOGIzZDkxCgoyMDA5LTAzLTA5IDE4OjA3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICB2b3JiaXNkZXBheTogZml4IHNvbWUgbGVha3MKCSAgQW5kIGxlYWsgdGhlIGNvZGVib29rcy4KCSAgVXNlIGdsaWIgYmFzZTY0IGRlY29kZXJzLgoJICBVc2Ugc3ViYnVmZmVycyB0byBhdm9pZCBhIG1lbWNweSBvZiB0aGUgaGVhZGVycy4KCjIwMDktMDMtMDkgMTc6MTQ6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZG9uJ3QgbG9zZSB0aGUgZmlyc3QgYnVmZmVyIGFmdGVyIGEgc2VlawoJICBUaGUgZmxhY2RlYyBBUEkgY2FsbHMgdGhlIHdyaXRlIGNhbGxiYWNrIHdoZW4gcGVyZm9ybWluZyBhIHNlZWsuIFdlIGNhbm5vdCB5ZXQKCSAgcHVzaCBvdXQgYSBidWZmZXIgYXQgdGhhdCB0aW1lIHNvIHdlIG11c3Qga2VlcCBpdCBhbmQgcHVzaCBpdCBvdXQgbGF0ZXIuCgkgIEZsdXNoIG91dCB0aGUgdXBzdHJlYW0gcGFydCBvZiB0aGUgcGlwZWxpbmUgd2hlbiBkb2luZyBhIHNlZWsuCgkgIEZpeGVzICM1NzQyNzUuCgoyMDA5LTAzLTA5IDE1OjIwOjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzYW5pdGl6ZSB0YWcgbmFtZXMKCSAgU2FuaXRpemUgdGhlIHRhZyBuYW1lcyBiZWZvcmUgdHVybmluZyB0aGVtIGludG8gYSBzdHJ1Y3R1cmUgbmFtZS4gV2UgY2FuIG9ubHkKCSAgYWRkIGFscGhhbnVtZXJpYyB2YWx1ZXMgYXMgdGhlIHN0cnVjdHVyZSBuYW1lLgoKMjAwOS0wMy0wOCAxMjowNDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZmYTczOGQgdG8gNzAzMjE2MwoKMjAwOS0wMy0wOCAxMToxOTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNmMTNlNGUgdG8gZmZhNzM4ZAoKMjAwOS0wMy0wNyAxMTo0NTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjNzQ1NmIgdG8gM2YxM2U0ZQoKMjAwOS0wMy0wNyAxMDo0NTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3YzgzZjIgdG8gM2M3NDU2YgoKMjAwOS0wMy0wNiAyMTo1NjoyNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBmaXggcGFkcywgc28gdGhhdCB0aGV5IGFyZSBzdWJzZXQgb2YgdGVtcGxhdGUgY2FwcwoJICBEbyBub3QgYWRkIHc9MCB8IGg9MC4gV2hlbiB3ZSBjYW4ndCBnZXQgYSBmcmFtZXJhdGUgYWRkIGZyYWN0aW9uIHJhbmdlLgoKMjAwOS0wMy0wNSAxNDowODoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmaXggcmFuZ2UgcGFyc2luZwoJICBGaXggcGFyc2luZyBvZiB0aGUgcmFuZ2UgaGVhZGVycy4KCjIwMDktMDItMTAgMTc6MjA6NTcgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkgIE1vdmUgc2lyZW4gcnRwIHBheS9kZXBheSBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0CgoyMDA5LTAzLTA0IDE2OjI1OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gY2xvc2UKCSAgQ2xvc2UgdGhlIGNvbm5lY3Rpb24gZXZlbiB3aGVuIHdlIGZhaWwgdG8gc2VuZCB0aGUgdGVhcmRvd24gbWVzc2FnZS4KCSAgVXNlIHRoZSBjb25uZWN0aW9uIHVybCAod2hpY2ggaXMgYSBjb3B5IG9mIHRoZSBzcmMgdXJsKS4KCjIwMDktMDMtMDQgMTY6MTU6MDUgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBnc3QtcGx1Z2lucy1nb29kLnN1cHAgbmVlZHMgdG8gYmUgZGlzdHJpYnV0ZWQuCgoyMDA5LTAzLTA0IDEyOjI5OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZG8tcnRjcCBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoJICAtLS0KCjIwMDktMDMtMDMgMTI6MjA6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogRXhwb3NlIHRoZSBTb3VwU2Vzc2lvbiAndGltZW91dCcgcHJvcGVydHkuCgoyMDA5LTAzLTAyIDE1OjA3OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIHRoZSBtNC8gZGlyZWN0b3J5CgoyMDA5LTAzLTAyIDE3OjE4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IEFkZCBzdXBwb3J0IGZvciBtb3JlIGZvcm1hdHMKCSAgSGFjayBhcm91bmQgc2hvcnQgaGVhZGVyIG1wZWc0IHZpZGVvIGZpbGVzIGFuZCBwdXQgdGhlIHNob3J0IGhlYWRlciBhcyB0aGUKCSAgY29uZmlnIHN0cmluZy4KCSAgRml4ZXMgIzU3MjU1MS4KCjIwMDktMDMtMDIgMTY6MDg6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzdXBwb3J0IGZvciBodHRwIHR1bm5lbGluZwoJICBBZGQgc3VwcG9ydCBmb3IgaHR0cCB0dW5uZWxpbmcgYW5kIGEgbmV3IHJ0c3BoOi8vIHVyaSBmb3IgaXQuCgkgIFNlZSAjNTczMTczLgoKMjAwOS0wMy0wMiAwOTo0MzozMCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly90aG9tYXN2c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZAoKMjAwOS0wMy0wMiAwODo0MToxNSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgQWRkL2NsYXJpZnkvZml4IHNvbWUgbG9nZ2luZy4KCjIwMDktMDMtMDEgMTI6NDc6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBoYXJkY29kZWQgZGVmaW5pdGlvbiBvZiBPQkpDCgoyMDA5LTAzLTAxIDE5OjU1OjI2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBXYWl0IGZvciBhIGZyYW1lIHRvIGJlY29tZSBhdmFpbGFibGUgYmVmb3JlIGNhcHR1cmluZyBpdAoJICBVc2UgR3N0UG9sbCB0byB3YWl0IGZvciB0aGUgZmQgb2YgdGhlIHZpZGVvIGRldmljZSB0byBiZWNvbWUgcmVhZGFibGUgYmVmb3JlCgkgIHRyeWluZyB0byBjYXB0dXJlIGEgZnJhbWUuIFRoaXMgc3BlZWRzIHVwIHN0b3BwaW5nIHY0bDJzcmMgYSBsb3QgYXMgaXQgbm8KCSAgbG9uZ2VyIGhhcyB0byB3YWl0IGZvciB0aGUgbmV4dCBmcmFtZSwgZXNwZWNpYWxseSB3aGVuIGNhcHR1cmluZyB3aXRoIGxvdwoJICBmcmFtZXJhdGVzIG9yIHdoZW4gdGhlIHZpZGVvIGRldmljZSBqdXN0IG5ldmVyIGdlbmVyYXRlcyBhIGZyYW1lICh3aGljaCBzZWVtcyBhCgkgIGNvbW1vbiBpc3N1ZSBmb3IgdXZjdmlkZW8gZGV2aWNlcykKCSAgRml4ZXMgYnVnICM1NjM1NzQuCgoyMDA5LTAyLTE0IDE3OjU2OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgYWxhd2RlYywgbXVsYXdkZWM6IGRlbW90ZSBzb21lIGRlYnVnIG1lc3NhZ2VzIGZyb20gRVJST1IgdG8gV0FSTklORyBvciBERUJVRwoJICBOb24tb2sgZmxvdyByZXR1cm5zIG1heSBoYXBwZW4gZm9yIGEgdmFyaWV0eSBvZiBwZXJmZWN0bHkgbGVnaXRpbWF0ZSBhbmQgZXhwZWN0ZWQgcmVhc29ucwoJICAodGVtcG9yYXJpbHkgbm90IGxpbmtlZCwgc2Vla2luZywgcGlwZWxpbmUgc2h1dGRvd24pLCBzbyB3ZSByZWFsbHkgc2hvdWxkbid0IHNwZXcgRVJST1IKCSAgZGVidWcgbWVzc2FnZXMgdG8gc3RkZXJyIGluIHRob3NlIGNhc2VzLiBGaXhlcyAjNTcwNzgxLiAoU2VlbXMgbGlrZSBzb21lb25lIGFscmVhZHkgdG9vawoJICBjYXJlIG9mIHNvbWUgb2YgdGhlc2UuKQoKMjAwOS0wMi0yOCAxNToyNjowMCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBJbXByb3ZlIGxvZyBtZXNzYWdlIGZvciBwZWFrIHZhbHVlcyA+MS4wIGJ5IGNsYW1waW5nIGV4cGxpY2l0bHkuCgoyMDA5LTAyLTI3IDIzOjI1OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBGaXggdGhlIGZpZWxkIGRvbWluYW5jZQoJICBQQUwgaXMgVEZGLCBOVFNDIGlzIEJGRi4gIFNvbWUgZGF5IEkgd2lsbCBsZWFybiB0byBrZWVwIHRoaXMKCSAgc3RyYWlnaHQuCgoyMDA5LTAyLTI3IDIwOjQwOjMxICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEZpeCB0eXBlIG1pc21hdGNoZXMKCSAgRml4ZXMgYnVnICM1NzMzNDMuCgoyMDA5LTAyLTI3IDIwOjI4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZAoKMjAwOS0wMi0yNyAyMDoyNDo1MyArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBEb24ndCBzZXQgZXJybm8gdG8gRUFGTk9TVVBQT1JUIHVuY29uZGl0aW9uYWxseQoJICBGaXhlcyBidWcgIzU3MzM0Mi4KCjIwMDktMDItMjcgMTE6MTc6NTAgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IGlnbm9yZSBvdXQtb2YtcmFuZ2UgcGVhayB2YWx1ZXMKCSAgSWYgdGhlIHBlYWsgdmFsdWUgaXMgPiAxIChhbmQgdGh1cyBub25zZW5zaWNhbCkgaWdub3JlIGl0LiBQcmV2ZW50cwoJICByZ3ZvbHVtZSByZWR1Y2luZyB2b2x1bWUgdG8gZWZmZWN0aXZlbHkgc2lsZW50IG9uIGZpbGVzIHdpdGggYm9ndXMgcGVhawoJICB2YWx1ZXMuCgoyMDA5LTAyLTI3IDEzOjI5OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRml4IFNFRUsgZXZlbnQgaGFuZGxpbmcgaW4gcHVzaCBtb2RlLCBhbmQgU0VFS0FCTFkgcXVlcnkgaGFuZGxpbmcKCSAgU3RhbmRhcmQgcHVsbCBtb2RlIGxvb3AgYmFzZWQgU0VFSyBoYW5kbGluZyBmYWlscyBpbiBwdXNoIG1vZGUsCgkgIHNvIGNvbnZlcnQgdGhlIFNFRUsgZXZlbnQgYXBwcm9wcmlhdGVseSBhbmQgZGlzcGF0Y2ggdG8gdXBzdHJlYW0uCgkgIEFsc28gY2F0ZXIgZm9yIE5FV1NFR01FTlQgZXZlbnQgaGFuZGxpbmcsIGFuZCBwcm9wZXJseSBpbmZvcm0KCSAgZG93bnN0cmVhbSBhbmQgYXBwbGljYXRpb24gb2YgU0VFS0FCTEUgY2FwYWJpbGl0aWVzLCBkZXBlbmRpbmcKCSAgb24gc2NoZWR1bGluZyBtb2RlIGFuZCB1cHN0cmVhbS4KCjIwMDktMDItMjcgMTE6MDQ6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIGdzdF91dGlsX2R1bXBfbWVtKCkgY2FsbHMuCgoyMDA5LTAyLTI2IDE5OjA3OjM1ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggU0VFSyBldmVudCBoYW5kbGluZyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBpbiBwdXNoIG1vZGUgd2Ugc2hvdWxkIG5vdCB0cnkgdG8gaGFuZGxlIHRoZSBTRUVLIGV2ZW50IGFzIHRoZXJlJ3MKCSAgbm8gY29kZSB0byBoYW5kbGUgaXQgcHJvcGVybHkuIFByb3BhZ2F0ZSB1cHN0cmVhbS4KCjIwMDktMDItMjYgMTk6MDU6MDYgKzAxMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrIGRvdCByYWRpemkgYXQgYXhpcyBkb3QgY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgdGhlIC5oIGZpbGUgY2hhbmdlIHRvbwoJICBBZGQgdGhlIC5oIGZpbGUgY2hhbmdlIGZvciB0aGUgbmV3IHByb3BlcnR5LgoKMjAwOS0wMi0yNiAxOTowMzo1MiArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sgZG90IHJhZGl6aSBhdCBheGlzIGRvdCBjb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBwcm9wZXJ0eSB0byBkaXNhYmxlIFJUQ1AKCSAgU29tZSBvbGQgc2VydmVycyBkb24ndCBsaWtlIHVzIGRvaW5nIFJUQ1AgYW5kIHRodXMgd2UgbmVlZCBhIHByb3BlcnR5IHRvIGRpc2FibGUKCSAgaXQuIFNlZSAjNTczMTczLgoKMjAwOS0wMi0yNiAxMzoxOTozMSArMDEwMCAgSmFuIFNtb3V0IDxqYW4gZG90IHNtb3V0IGF0IGdtYWlsIGRvdCBjb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogZml4IGdzdF91ZHBfc2V0X2xvb3BfdHRsKCkgYWdhaW4KCSAgRml4IHRoZSBnc3RfdWRwX3NldF9sb29wX3R0bCgpIGZ1bmN0aW9uIHRoYXQgd2FzIGNvbW1lbnRlZCBvdXQgaW4gYQoJICBwcmV2aW91cyBjb21taXQuIFNlZSAjNTczMTE1LgoKMjAwOS0wMi0yNiAxMzowNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogZmFpbCBvbiBpbnRlcmxhY2VkIHZpZGVvCgkgIEZhaWwgb24gaW50ZXJsYWNlZCB2aWRlbyB1bnRpbCB3ZSBzdXBwb3J0IGl0LgoKMjAwOS0wMi0yNiAxMzowMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBmYWlsIG9uIGludGVybGFjZWQgdmlkZW8KCSAgRGV0ZWN0IGFuZCBmYWlsIHdoZW4gdHJ5aW5nIHRvIHBheWxvYWQgaW50ZXJsYWNlZCB2aWRlby4KCjIwMDktMDItMjUgMjA6NDc6MTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBDaGFuZ2UgaG93IHdpbjMyL2NvbW1vbi9jb25maWcuaCBpcyB1cGRhdGVkCgkgIEdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaC1uZXcgZGlyZWN0bHkgZnJvbSBjb25maWcuaC5pbiwKCSAgdXNpbmcgc2hlbGwgdmFyaWFibGVzIGluIGNvbmZpZ3VyZSBhbmQgc29tZSBoYXJkLWNvZGVkIGluZm9ybWF0aW9uLgoJICBDaGFuZ2UgdG9wLWxldmVsIG1ha2VmaWxlIHNvIHRoYXQgJ21ha2Ugd2luMzItdXBkYXRlJyBjb3BpZXMgdGhlCgkgIGdlbmVyYXRlZCBmaWxlIHRvIHdpbjMyL2NvbW1vbi9jb25maWcuaCwgd2hpY2ggd2Uga2VlcCBpbiBzb3VyY2UKCSAgY29udHJvbC4gIEl0J3Mga2VwdCBpbiBzb3VyY2UgY29udHJvbCBzbyB0aGF0IHRoZSBnaXQgdHJlZSBpcwoJICBidWlsZGFibGUgZnJvbSBWUy4KCSAgVGhpcyBjaGFuZ2UgaXMgc2ltaWxhciB0byB0aGUgb25lIHJlY2VudGx5IGFwcGxpZWQgdG8gR1N0cmVhbWVyCgkgIGFuZCBnc3QtcGx1Z2lucy1nb29kLiAgVGhlIHByZXZpb3VzIGNvbmZpZy5oIGZpbGUgaW4gLWdvb2Qgd2FzIGluCgkgIHByZXR0eSBiYWQgc2hhcGUsIHNvIHVubGlrZSBjb3JlIGFuZCBiYXNlLCBJIGRpZG4ndCBhdHRlbXB0IHRvCgkgIGxlYXZlIGl0IHN0cmljdGx5IHRoZSBzYW1lLCBidXQgZml4ZWQgaXQgYXMgbmVjZXNzYXJ5LiAgTmVlZHMKCSAgdGVzdGluZyBJIGNhbm5vdCBkbyBteXNlbGYuCgoyMDA5LTAyLTI1IDE5OjU4OjI5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgZHZkZWM6IEFkZCBpbnRlcmxhY2luZyBpbmZvIHRvIGNhcHMgYW5kIGJ1ZmZlcnMKCjIwMDktMDItMjUgMTQ6NTc6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogVXBkYXRlIHNoYXZlIGluaXQgc3RhdGVtZW50IGZvciBjaGFuZ2VzIGluIGNvbW1vbi4gQnVtcCBjb21tb24uCgoyMDA5LTAyLTI1IDE0OjAxOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggY29tcGlsYXRpb24KCSAgRml4IGNvbXBpbGF0aW9uIG9uIHN5c3RlbXMgTVNHX0VSUlFVRVVFIGFuZCBJUF9SRUNWRVJSLgoKMjAwOS0wMi0xOSAyMDoxNDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGNyYXNoaW5nIGlmIG5vIGNhcHMgaGF2ZSBiZWVuIHNldAoJICBEb24ndCBjcmFzaCBpZiB3ZSByZWNlaXZlIGEgYnVmZmVyIHdpdGhvdXQgY2Fwcy4gRml4ZXMgIzU3MjQxMy4KCjIwMDktMDItMjUgMTE6MzU6MzEgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBNYWtlIHN1cmUgdGhlIHNvY2thZGRyIGxlbmd0aCB1c2VkIGZvciByZWN2ZnJvbSgpIGlzIGJpZyBlbm91Z2guCgkgIFByZXZpb3VzbHkgdGhlIHNvY2thZGRyIGxlbmd0aCB1c2VkIGZvciByZWN2ZnJvbSgpIHdhcyBjYWxjdWxhdGVkIGFzCgkgIHNpemVvZiAoc3RydWN0IHNvY2thZGRyKS4gSG93ZXZlciwgdGhpcyBpcyB0b28gbGl0dGxlIHRvIGhvbGQgYW4gSVB2NgoJICBhZGRyZXNzLCBzbyB0aGUgZnVsbCBzaXplIG9mIHRoZSBnc3Rfc29ja2FkZHIgdW5pb24gc2hvdWxkIGJlIHVzZWQKCSAgaW5zdGVhZC4KCjIwMDktMDItMjUgMTE6MzI6MjggKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBVbmlmeSB0aGUgdXNlIG9mIHVuaW9uIGdzdF9zb2NrYWRkci4KCjIwMDktMDItMjUgMTE6MzI6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWNmOGM5YiB0byBhNmNlNWM2CgoyMDA5LTAyLTI1IDEyOjA1OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgY3Jhc2hpbmcgb24gc3VidGl0bGVzCgkgIEF2b2lkIGEgY3Jhc2ggaW4gYXZpIHdpdGggc3VidGl0bGVzIGJ5IG9ubHkgZGVyZWZlcmVuY2luZyB0aGUgdmlkZW8gZGVzY3JpcHRpb24KCSAgd2hlbiB3ZSBhY3R1YWxseSBhcmUgZGVhbGluZyB3aXRoIHZpZGVvIGluIHRoZSBfaW52ZXJ0IGZ1bmN0aW9uLgoKMjAwOS0wMi0yNCAxNzo1ODozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBGaXggc3RyaWN0LWFsaWFzaW5nIHdhcm5pbmdzIGZyb20gZ2NjIDQuNC4wCgkgIEZpeCBzdHJpY3QgYWxpYXNpbmcgd2FybmluZ3MgYnkgZGVmaW5pbmcgYSB1bmlvbiBvbiB0aGUgZGlmZmVyZW50CgkgIHNvY2thZGRyIHN0cnVjdHMgdGhhdCB3ZSBuZWVkLgoKMjAwOS0wMi0yNCAxNzozNTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwOiBGaXggY29tcGlsZXIgd2FybmluZyBpbiBoMjY0IHBheWxvYWRlcgoJICBGaXggYW4gdW5kZWZpbmVkIGJlaGF2aW91ciB3YXJuaW5nIGZyb20gZ2NjIDQuNC4wCgkgIFBhdGNoIEJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCSAgRml4ZXM6ICM1NzA5OTUKCSAgU2lnbmVkLU9mZi1CeTogSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoyMDA5LTAyLTIyIDE3OjIzOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXNlIHNoYXZlIGZvciB0aGUgYnVpbGQgb3V0cHV0CgoyMDA5LTAyLTI0IDE0OjU1OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL2djb25mLmM6CgkqIGV4dC9nY29uZi9nY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuYzoKCSogZXh0L2djb25mL2dzdGdjb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmg6CgkgIGdjb25mOiBSZW5hbWUgZ2NvbmYuW2NoXSB0byBnc3RnY29uZi5bY2hdIHRvIHByZXZlbnQgbmFtZSBjb25mbGljdHMKCjIwMDktMDItMjQgMTQ6NDE6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEFsc28gdXNlICIoYylpbmYiIHRvIGZpbGwgdGhlIGNvbW1lbnQgdGFnCgoyMDA5LTAxLTI2IDExOjA2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGVyZm9ybSBVRFAgU0VUVVAgYWNjb3JkaW5nIHRvIE1TIFJUU1Agc3BlYwoJICBNUyBSVFNQIHNwZWMgc3RhdGVzIHRoYXQgdGhlIFVEUCBwb3J0IHBhaXIgdXNlZCBpbiBzdWJzZXF1ZW50IFNFVFVQCgkgIHJlcXVlc3RzIGZvciB2YXJpb3VzIHN0cmVhbXMgbXVzdCBiZSBpZGVudGljYWwgKHNpbmNlIHRoZXJlIHdpbGwgYWN0dWFsbHkKCSAgYmUgb25seSAxIHN0cmVhbSBvZiBtdXhlZCBhc2YgcGFja2V0cykuICBGb2xsb3dpbmcgdHJhZGl0aW9uYWwgc3BlY3MgYW5kCgkgIHVzaW5nIGRpZmZlcmVudCBwb3J0IHBhaXJzIGluIHRoZSBTRVRVUHMgZm9yIHNlcGFyYXRlIHN0cmVhbXMgd2lsbCByZXN1bHQKCSAgaW4gYWxsIGJ1dCB0aGUgZmlyc3Qgb25lIGZhaWxpbmcgYW5kIG9ubHkgb25lIHN0cmVhbSBiZWluZyBzdHJlYW1lZC4KCSAgU28sIGluIGFwcHJvcHJpYXRlIGNpcmN1bXN0YW5jZXMsIHJldHJ5IFVEUCBTRVRVUCB1c2luZyBwcmV2aW91c2x5IHVzZWQKCSAgcG9ydCBwYWlyLiAgRml4ZXMgIzU1MjY1MC4KCjIwMDktMDItMjMgMjA6NDk6MzcgKzAxMDAgIEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenogYXQgeWFob28gZG90IGZyPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgUmVhZCBJQ01QIGVycm9yIG1lc3NhZ2VzIGluc3RlYWQgb2YgbG9vcGluZwoJICBXaGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggY29ubmVjdGVkIHNvY2tldHMgc2hhcmVkIGJldHdlZW4gYSB1ZHBzcmMgYW5kIGEgdWRwc2luawoJICB3ZSBtaWdodCByZWNlaXZlIElDTVAgY29ubmVjdGlvbiByZWZ1c2VkIGVycm9yIG1lc3NhZ2VzIGluIHVkcHNyYyB0aGF0IHdpbGwKCSAgY2F1c2UgaXQgdG8gZ28gaW50byBhIGJ1cnN0eSBsb29wIGJlY2F1c2UgdGhlIHBvbGwgcmV0dXJucyByaWdodCBhd2F5IHdpdGhvdXQgYQoJICBtZXNzYWdlIHRvIHJlYWQuCgkgIEluc3RlYWQgb2YgbG9vcGluZywgcmVhZCB0aGUgZXJyb3IgbWVzc2FnZSBmcm9tIHRoZSBlcnJvciBxdWV1ZSBpbiB1ZHBzcmMuCgkgIEZpeGVzICM1Njc4NTcuCgoyMDA5LTAyLTIzIDE5OjUzOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBDb25kaXRpb25hbGx5IGNvbXBpbGUgY29kZSBmb3IgWVZZVQoJICBPbmx5IGNvbXBpbGUgdGhlIGNvZGUgZm9yIHRoZSBZVllVIGZvcm1hdCB3aGVuIHRoZSBmb3JtYXQgaXMgYWN0dWFsbHkgZGVmaW5lZC4KCSAgU3BvdHRlZCBieSB0bWF0dGggb24gSVJDLgoKMjAwOS0wMi0xNyAxMTowMTo0NyAtMDgwMCAgTGV2ZW50ZSBGYXJrYXMgPGxmYXJrYXNAbGZhcmthcy5vcmc+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IE1ha2Ugc29ydF9ieV9mcmFtZV9zaXplIGNvbmRpdGlvbmFsbHkgY29tcGlsZWQKCSAgc29ydF9ieV9mcmFtZV9zaXplIGlzIGRlY2xhcmVkIHN0YXRpYyBhbmQgb25seSB1c2VkIGluc2lkZQoJICBhbiBpZmRlZiwgc28gdXNlIHRoZSBzYW1lIGlmZGVmIHRvIGRlZmluZSB0aGUgZnVuY3Rpb24uICBGaXhlcyAjNTcyMTg1CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMi0yMyAxNzowNTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkIFlWWVUgZm9ybWF0IHRvIGNhcHMKCSAgQWRkIFlWWVUgZm9ybWF0IHRvIHRoZSBjYXBzLiBXZSBkb24ndCBoYXZlIGFueXRoaW5nIHRvIGhhbmRsZSB0aGVzZSBjYXBzIHlldCwKCSAgdGhvdWdoLgoKMjAwOS0wMi0yMyAxNTo0ODo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBTb21lIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMuCgkgIEF2b2lkIGEgdXNlbGVzcyBfcmVzeW5jIGNhbGwuCgkgIENvcnJlY3RseSB1c2UgYSBnYm9vbGVhbi4KCjIwMDktMDItMjMgMTU6NDM6NTEgKzAxMDAgIFdhaS1NaW5nIEhvIDx3YWltaW5nIGF0IGFpbHVyb3BvZGEgZG90IG5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBBbHdheXMgYWRkIFBQUyB0byB0aGUgc3Byb3AtcGFyYW1ldGVycy1zZXQKCSAgUmV3b3JrIHRoZSBwYXJzaW5nIGNvZGUgdGhhdCB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgZHJvcHBlZCB0aGUgUFBTIGZyb20KCSAgdGhlIHNwcm9wLXBhcmFtZXRlcnMtc2V0LgoJICBGaXhlcyAjNTcyODU0LgoKMjAwOS0wMi0yMyAxMjoxNDoyMyArMDEwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dCBhdCBtaW5kIGRvdCBiZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRG9uJ3QgZG8gY3JhenkgdGhpbmdzIHdpdGggMC8xIGZyYW1lcmF0ZXMKCSAgV2UgdXNlIDAvMSBmcmFtZXJhdGVzIHRvIG1hcmsgdmFyaWFibGUgZnJhbWVyYXRlcyBhbmQgbWF0cm9za2FtdXggc2hvdWxkIG5vdCB0cnkKCSAgdG8gY2FsY3VsYXRlIGEgZnJhbWUgZHVyYXRpb24gZm9yIGl0LgoJICBGaXhlcyAjNTcxMjk0LgoKMjAwOS0wMi0yMyAxMTo0NTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBuZXdlciBnc3QtcC1iIGZvciB0aGUgUlRTUCBleHRlbnNpb25zLgoJICAtLQoKMjAwOS0wMi0yMyAxMTo0Mjo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgQ2FsbCBuZXcgcmVjZWl2ZV9yZXF1ZXN0IG1ldGhvZAoJICBDYWxsIHRoZSByZWNlaXZlX3JlcXVlc3QgZXh0ZW5zaW9uIG1ldGhvZHMgc28gdGhhdCBleHRlbnNpb25zIGNhbiBoYW5kbGUgdGhlCgkgIHNlcnZlciByZXF1ZXN0IGlmIHRoZXkgd2FudC4KCjIwMDktMDItMjMgMTE6MTM6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgQWRkIG1ldGhvZCBmb3IgaGFkbGluZyBzZXJ2ZXIgcmVxdWVzdHMKCSAgQWRkIG1ldGhvZCB0byBoYW5kbGUgc2VydmVyIHJlcXVlc3RzIG9uIHRoZSBsaXN0IG9mIFJUU1AgZXh0ZW5zaW9ucy4KCjIwMDktMDItMTMgMTQ6Mzk6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIERvbid0IHVzZSBHU1RfRVJST1IgZm9yIG5vbi1lcnJvciBjYXNlcy4KCSAgVHVybiBhIEdTVF9FUlJPUiBsaW5lIGludG8gYSBHU1RfREVCVUcgbGluZSBzbyB0aGF0IHdlIGRvbid0IHNwYW0gdGhlIGxvZyB3aXRoCgkgIGVycm9ycy4gRml4ZXMgIzU3MDc4MS4KCjIwMDktMDItMjIgMTk6MzA6MzIgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgZ2NvbmZ2aWRlbyhzcmN8c2luayk6IERpc2Nvbm5lY3QgR0NvbmYgbm90aWZpY2F0aW9ucwoJICBGaXhlcyBidWcgIzU3MTMyMS4KCjIwMDktMDItMjIgMTk6MjU6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVucmVmIHRoZSBidWZmZXIgYW5kIG5vdCB0aGUgbWVtb3J5IGFkZHJlc3Mgb2YgdGhlIGJ1ZmZlcgoKMjAwOS0wMi0yMiAxODo0NzozNSArMDEwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgYWxhdy9tdWxhdzogSW1wbGVtZW50IF9nZXRjYXBzIGZ1bmN0aW9uIGZvciBhbGF3L211bGF3IGRlY29kZXJzCgkgIEZpeGVzIGJ1ZyAjNTcyMzU4LgoKMjAwOS0wMi0yMiAxODo0NjowMyArMDEwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgYWxhdy9tdWxhdzogRG9uJ3QgcmVxdWlyZSBib3RoLCByYXRlIGFuZCBjaGFubmVsLCB0byBiZSBzZXQgaW4gX2dldGNhcHMKCSAgRml4ZXMgYnVnICM1NzIzNTguCgoyMDA5LTAyLTIyIDE4OjMyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBhbGlnbm1lbnQgaXNzdWVzIGJ5IHVzaW5nIEdTVF9SRUFEXyoKCSAgUmVhZGluZyBpbnRlZ2VycyBmcm9tIHJhbmRvbSBtZW1vcnkgYWRkcmVzc2VzIHdpbGwgcmVzdWx0CgkgIGluIFNJR0JVUyBvbiBzb21lIGFyY2hpdGVjdHVyZXMgaWYgdGhlIG1lbW9yeSBhZGRyZXNzCgkgIGlzIG5vdCBjb3JyZWN0bHkgYWxpZ25lZC4gVGhpcyBjYW4gaGFwcGVuIGF0IHR3bwoJICBwbGFjZXMgaW4gYXZpZGVtdXggc28gd2Ugc2hvdWxkIHVzZSBHU1RfUkVBRF9VSU5UMzJfTEUKCSAgYW5kIGZyaWVuZHMgaGVyZS4gRml4ZXMgYnVnICM1NzIyNTYuCgoyMDA5LTAyLTIyIDE4OjA4OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZW1peGVyOiBEb24ndCB1c2UgZ19hdG9taWNfaW50XyhnZXR8c2V0KSBmb3IgYWNjZXNzaW5nIHRoZSBtaXhlciB0cmFjayBmbGFncwoJICBnX2F0b21pY19pbnRfKGdldHxzZXQpIG9ubHkgd29yayBvbiBpbnRzIGFuZCB0aGUgZmxhZ3MgYXJlCgkgIGFuIGVudW0gKHdoaWNoIG9uIG1vc3QgYXJjaGl0ZWN0dXJlcyBpcyBzdG9yZWQgYXMgYW4gaW50KS4KCSAgQWxzbyB0aGUgd2F5IHRoZSBmbGFncyB3ZXJlIGFjY2Vzc2VkIGF0b21pY2FsbHkgd291bGQgc3RpbGwKCSAgbGVhdmUgYSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbiBhbmQgd2UgZG9uJ3QgZG8gaXQgaW4gYW55CgkgIG90aGVyIG1peGVyIHRyYWNrIGltcGxlbWVudGF0aW9uLCBsZXQgYWxvbmUgYXQgYW55IG90aGVyCgkgIHBsYWNlIHdoZXJlIGFuIGludGVnZXIgY291bGQgYmUgY2hhbmdlZCBmcm9tIGRpZmZlcmVudAoJICB0aHJlYWRzLiBSZW1vdmluZyB0aGUgZ19hdG9taWNfaW50XyhnZXR8c2V0KSB3aWxsIG9ubHkKCSAgaW50cm9kdWNlIGEgbmV3IHJhY2UgY29uZGl0aW9uIG9uIGFyY2hpdGVjdHVyZXMgd2hlcmUKCSAgaW50ZWdlcnMgY291bGQgYmUgaGFsZi13cml0dGVuIHdoaWxlIHJlYWRpbmcgdGhlbQoJICB3aGljaCBzaG91bGRuJ3QgYmUgdGhlIGNhc2UgZm9yIGFueSBtb2Rlcm4gYXJjaGl0ZWN0dXJlCgkgIGFuZCBpZiB3ZSByZWFsbHkgY2FyZSBhYm91dCB0aGlzIHdlIG5lZWQgdG8gdXNlCgkgIGdfYXRvbWljX2ludF8oZ2V0fHNldCkgYXQgbWFueSBvdGhlciBwbGFjZXMgdG9vLgoJICBBcGFydCBmcm9tIHRoYXQgZ19hdG9taWNfaW50XyhzZXR8Z2V0KSB3aWxsIHJlc3VsdCBpbgoJICBhbGlhc2luZyB3YXJuaW5ncyBpZiB0aGVpciBhcmd1bWVudCBpcyBleHBsaWNpdGVseQoJICBjYXN0ZWQgdG8gYW4gaW50ICouIEZpeGVzIGJ1ZyAjNTcxMTUzLgoKMjAwOS0wMi0yMiAxNTo1MjowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZDdjOWNjIHRvIDljZjhjOWIKCjIwMDktMDItMjIgMTI6NDE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBoZHYxMzk0c3JjOiBEb24ndCB1c2Ugdm9pZCAqIHBvaW50ZXIgYXJpdGhtZXRpYwoKMjAwOS0wMi0yMSAxMToxMzo0MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDgwYzYyN2QgdG8gNWQ3YzljYwoKMjAwOS0wMi0yMSAxODo0Mjo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTQuMQoKMjAwOS0wMi0yMSAxMjo0NzowMCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgcmVzcGVjdCBERUZBVUxUIHNlZ21lbnQgYnkgY2xpcHBpbmcgdGhlIGxhc3QgYnVmZmVyIHRvIGJlIHNlbnQKCj09PSByZWxlYXNlIDAuMTAuMTQgPT09CgoyMDA5LTAyLTE5IDIwOjA5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTQKCjIwMDktMDItMTkgMjA6MDc6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wMi0xOSAxMzoxNjozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgVXBkYXRlIFNpbmNlOiB0YWdzIGluIGF1dG9kZXRlY3Qgc3JjcyBhbmQgYXVkaW9lY2hvCgoyMDA5LTAyLTE5IDExOjEyOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIFVwZGF0ZSBDaGFuZ2VMb2cgZm9yIDAuMTAuMTMuMwoKMjAwOS0wMi0xOSAxMTowOTowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuMyBwcmUtcmVsZWFzZQoKMjAwOS0wMi0xMCAxMToyNTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2VtaXhlcjogRml4IGNvbXBpbGVyIHdhcm5pbmdzLgoJICBDYXN0IChlbnVtICopIHRvIChpbnQgKiksIG5vdCBuZWNlc3NhcmlseSB0ZWNobmljYWxseSByaWdodCwKCSAgYnV0IHBsdWdzICM1NzExNTMuCgoyMDA5LTAyLTEzIDE4OjAzOjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IElzc3VlIHByb3BlcnR5IGNoYW5nZSBub3RpZmljYXRpb24gaW4gc3RyZWFtaW5nIHRocmVhZCwgcmF0aGVyIHRoYW4gUEEgdGhyZWFkLgoJICBwYV90aHJlYWRlZF9tYWlubG9vcF9sb2NrKCkgKGEuby4pIGFuZCBieSBleHRlbnNpb24gZ2V0X3Byb3BlcnR5IHNob3VsZAoJICBub3QgYmUgZG9uZSBmcm9tIGEgUEEgdGhyZWFkLCBidXQgdGhlIGxhdHRlciBtYXkgb2NjdXIgYXMgYSByZXN1bHQgb2YgYQoJICBwcm9wZXJ0eSBjaGFuZ2Ugbm90aWZpY2F0aW9uLiAgRml4ZXMgIzU3MTIwNCAodGhvdWdoIGN1cnJlbnQgc2l0dWF0aW9uCgkgIG5vdCBpZGVhbCwgZS5nLiBwb3N0IG1lc3NhZ2UgcmF0aGVyIHRoYW4gc2lnbmFsKS4KCjIwMDktMDItMTAgMTE6Mjc6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBhc3BlY3RyYXRpb2Nyb3A6IERvbid0IGZvcmdldCB0byBjYWxsIHBhcmVudCBmaW5hbGl6ZSBpbXBsZW1lbnRhdGlvbi4KCSAgVGhpcyBmaXhlcyBhIG1lbW9yeSBsZWFrIChsZWFraW5nIHRoZSBjb250YWluZWQgZWxlbWVudHMgb2YgdGhlIGJpbikuCgoyMDA5LTAyLTEwIDA4OjQzOjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IEZpeCBidWlsZC4gRml4ZXMgIzU3MTAzOAoKMjAwOS0wMi0wOSAxMjoxODozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQnVtcCByZXZpc2lvbiB0byB1c2UgZm9yIGNvbW1vbiBzdWJtb2R1bGUuCgoyMDA5LTAyLTA3IDE2OjAwOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZzogVXBkYXRlIENoYW5nZUxvZyBmb3IgMC4xMC4xMy4yCgoyMDA5LTAyLTA3IDE1OjU4OjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zIGZvciAwLjEwLjEzLjIKCjIwMDktMDItMDcgMTU6NDY6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTMuMgoKMjAwOS0wMi0wNyAxNTo0MDo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vbXQucG86CgkgIHBvOiBBZGQgTWFsdGVzZSB0cmFuc2xhdGlvbgoKMjAwOS0wMi0wNiAxNjoxNjowNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgaGFuZGxpbmcgZm9yIHN0cHMgYXRvbXMKCSAgc3RwcyBhdG9tcyBjb250YWluICJwYXJ0aWFsIHN5bmMiIGluZm9ybWF0aW9uLCB3aGljaCBtZWFucyB0aGF0IGl0J3MKCSAgYSBzeW5jIHBvaW50IHdoZXJlIHB0cyAhPSBkdHMuICBUaGlzIGlzIG5lZWRlZCB0byBwcm9wZXJseSBoYW5kbGUKCSAgTVBFRzIsIEguMjY0LCBEaXJhYywgZXRjLiwgaW4gcXVpY2t0aW1lLgoKMjAwOS0wMi0wNSAxNTo1MTo0MiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGlmIHdlIGFib3J0ZWQgcmVhZGluZywgZG9uJ3QgZG8gaW50byBhbiBpbmZpbml0ZSBsb29wLgoJICBJZiBvdXIgcmVhZCBjYWxsYmFjayByYW4gb3V0IG9mIGRhdGEsIHNvIGhhZCB0byBhYm9ydCByZWFkaW5nLCB3ZSByZXR1cm4KCSAgR1NUX0ZMT1dfRVJST1IgaW5zdGVhZCBvZiBnb2luZyBpbnRvIGFuIGluZmluaXRlIGxvb3AuCgoyMDA5LTAyLTA1IDEwOjE5OjM3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlbW92ZSBub24tZW1iZWRkZWQgbW9kZSBhbmQgZml4IG1lbW9yeSBtYW5hZ2VtZW50LgoJICBSZW1vdmUgbm9uLWVtYmVkZGVkIG1vZGUuIEVtYmVkIG1vZGUgYmVjb21lcyBkZWZhdWx0IGFuZCBvbmx5IG1vZGUuCgkgIGVtYmVkIHByb3BlcnR5IGlzIHJldGFpbmVkIGZvciBiaW5hcnkgY29tcGF0aWJpbGl0eS4KCSAgQWRkZWQgYXV0b3JlbGVhc2UgcG9vbHMgYXJvdW5kIGFsbCBvYmpjIGZ1bmN0aW9ucyB0aGF0IG1pZ2h0IGJlIGNhbGxlZAoJICBmcm9tIGEgbm9uLW1haW4gdGhyZWFkLgoKMjAwOS0wMi0wNSAyMDowMjowMSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZGVidWcgb24gdGhlIG9iamVjdAoKMjAwOS0wMi0wNCAxNjo0MDoxMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbyBmaXhlczogbXVsdGljaGFubmVsIGFuZCBjaGFuZ2luZyBjYXBzLgoJICBFbnN1cmUgd2UgY3JlYXRlIHRoZSByaW5nYnVmZmVyIHNlZ21lbnQgc2l6ZSBhcyBhIG11bHRpcGxlIG9mIHRoZQoJICBieXRlcyBwZXIgc2FtcGxlIChmaXhlcyA2LWNoYW5uZWwgb3V0cHV0KS4KCSAgUmVzZXQgdGhlIHNlZ29mZnNldCB3aGVuIGFjcXVpcmluZyB0aGUgcmluZ2J1ZmZlciwgc28gd2UgZG9uJ3QgcmV0YWluCgkgIGEgYm9ndXMgb2Zmc2V0IHdoZW4gY2FwcyBjaGFuZ2UuCgoyMDA5LTAyLTA0IDExOjM4OjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEtlZXAgdHJhY2sgb2YgY29ubmVjdGVkIHN0YXRlCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHN0YXRlIG9mIHRoZSBjb25uZWN0aW9uIGFuZCBkb24ndCB0cnkgdG8gc2VuZCBURUFSRE9XTiB3aGVuCgkgIHRoZSBzZXJ2ZXIgaGFzIGNsb3NlZCB0aGUgY29ubmVjdGlvbi4KCjIwMDktMDItMDQgMDk6MjA6MjggKzAxMDAgIFJvYmluIFN0b2NrZXIgPHJvYmluQG5pYm9yLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBSZWFkIE1hdHJvc2thIFRpdGxlIGVsZW1lbnQgZm9yIHRoZSBUSVRMRSB0YWcKCSAgTm90IGFsbCBNYXRyb3NrYSBmaWxlcyBoYXZlIGEgVGFncyBlbGVtZW50IHdoaWNoIGNvbnRhaW5zCgkgIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0aXRsZSBhbW9uZyBvdGhlciB0aGluZ3MuIE1vc3QgdmlkZW8KCSAgTWF0cm9za2EgZmlsZXMgb25seSBjb250YWluIHRoZSBUaXRsZSBlbGVtZW50IHNvIHdlCgkgIHNob3VsZCBwYXJzZSB0aGlzIHRvby4gRml4ZXMgYnVnICM1NzA0MzUuCgoyMDA5LTAyLTAzIDIyOjM0OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMDktMDItMDMgMTc6MTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIEZpeCBhdWRpb2VjaG8gdW5pdCB0ZXN0IG9uIDMyIGJpdCBzeXN0ZW1zCgkgIENhc3QgdGhlIG5ldyB2YWx1ZSBmb3IgdGhlICJkZWxheSIgcHJvcGVydHkgdG8gR3N0Q2xvY2tUaW1lLgoJICBJbnRlZ2VycyB3aXRob3V0IHR5cGUgYXJlIHBhc3NlZCB0byB2YXJhcmcgZnVuY3Rpb25zIHdpdGgKCSAgYW4gaW50ZWdlciB0eXBlIHRoYXQgY2FuIGhvbGQgYSBwb2ludGVyLgoKMjAwOS0wMi0wMyAxNDowOToyNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBEb24ndCByZXNldCBmcmVxdWVuY3kgYmFuZHMgZnJvbSB1c2VyIHNldHRpbmdzLiBGaXhlcyAjNTcwMzQzLgoJICBNb3ZlIHJlYWxsb2NhdGluZyB0aGUgaGlzdG9yeSBidWZmZXIgb3V0IG9mIF9jb21wdXRlX2ZyZXF1ZW5jaWVzKCkgYW5kIGNhbGwgdGhlCgkgIHJpZ2h0IGZ1bmN0aW9uIGFzIG5lZWRlZC4gQWRkIHNvbWUgbG9nZ2luZyBhbmQgdHdlYWsgdGhlIGZvcm1hdHRpbmcgb2YgZXhpc3RpbmcKCSAgbG9nZ2luZy4gU2ltcGxpZnkgc2V0dGluZyBuZWVkX25ld19jb2VmZmljaWVudHMgd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzLgoKMjAwOS0wMi0wMyAxMTo1MjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgVXNlIGd1aW50NjQgaW5zdGVhZCBvZiBndWludCBmb3Igc3RvcmluZyBndWludDY0CgoyMDA5LTAyLTAyIDE4OjM3OjM1ICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXNlIGNvcnJlY3QgZmxhZyBmb3IgdGhlIEdOT01FIHByb3h5IGNvbmZpZ3VyYXRpb24KCSAgRml4ZXMgYnVnICM1NTIxNDAuCgoyMDA5LTAyLTAyIDEzOjA4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBmaXggY29tcGlsZXIgd2FybmluZ3MgZHVlIHRvIHVudXNlZCByZXR1cm4gdmFsdWVzIG9mIHNjYW5mLgoKMjAwOS0wMS0zMSAxMTowODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoKMjAwOS0wMS0zMCAyMjoyNDoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEFkZCByZWxlYXNlaW5mbyB3aXRoIG9ubGluZSB1cmwuCgoyMDA5LTAxLTMwIDE4OjA0OjExICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIHNvbWUgY29tcGlsZSBmbGFncwoKMjAwOS0wMS0zMCAxNzozNTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBEb24ndCB1c2UgR2xpYiAyLjE2IGZ1bmN0aW9uIGdfc3RyY21wMC4KCjIwMDktMDEtMzAgMTc6MzQ6NDUgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYwoKMjAwOS0wMS0zMCAxNzoyNjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBGaXggRm9ydGUgY29tcGlsZXIgd2FybmluZ3MuCgkgIERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljLiBEb24ndCBoYXZlIGFuIHVucmVhY2hhYmxlIHN0YXRlbWVudC4KCjIwMDktMDEtMzAgMTc6Mjk6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQnVtcCBjb21tb24KCjIwMDktMDEtMjYgMTA6MzM6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJlbW92ZSB1c2VsZXNzIHByb2Nlc3NpbmcgZm9yIG5vbi1yYXcgZm9ybWF0cwoKMjAwOS0wMS0zMCAxNTozNDozMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlICdSZXF1aXJlbWVudCcgYW5kICdFbmNvZGVyJyB0YWdzCgoyMDA5LTAxLTMwIDE1OjMzOjE5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBNb2RpZnkgcHJpdmF0ZS10YWcgbmFtZSBmb3JtYXR0ZXIgc28gdGhhdCBpdCBkb2Vzbid0IGdvIG1hZCBhdCBmb3VyY2Mgc3RhcnRpbmcgd2l0aCAnKGMpJy4KCjIwMDktMDEtMzAgMTQ6NDA6NTEgKzAxMDAgIEJyaWplc2ggU2luZ2ggPGJyaWplc2gua3NpbmdoQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICBGaXggY29tcGFyaXNvbiBvZiB0aGUgdHVuZXIgbm9ybXMKCSAgVGhlIFY0TDIgdHVuZXIgbm9ybXMgdGhhdCBhIGRldmljZSBzdXBwb3J0cyBjb3VsZAoJICBiZSBhIHN1YnNldCBvZiBzb21lIG5vcm0gKGUuZy4gTlRTQyBpbnN0ZWFkIG9mIE5UU0NfTSkuCgkgIFRoZSBjb21wYXJpc29uIHNob3VsZCBiZSBkb25lIGJ5ICYgaW5zdGVhZCBvZiA9PS4KCSAgU2VlIGh0dHA6Ly93d3cubGludXh0di5vcmcvZG93bmxvYWRzL3ZpZGVvNGxpbnV4L0FQSS9WNEwyX0FQSS9zcGVjLXNpbmdsZS92NGwyLmh0bWwjU1RBTkRBUkQKCSAgRml4ZXMgYnVnICM1Njk4MjAuCgoyMDA5LTAxLTMwIDA4OjUzOjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBVc2UgYSBzeW1ib2xpYyBsaW5rIGZvciB0aGUgcHJlLWNvbW1pdCBjbGllbnQtc2lkZSBob29rCgoyMDA5LTAxLTI5IDE0OjA4OjU2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgT25seSB1bnJlZiB0aGUgcGVlciB3aGVuIHRoZXJlIGlzIG9uZS4KCjIwMDktMDEtMjkgMTE6MDc6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgUmVtb3ZlIHZlcnNpb24gbnVtYmVycyBmcm9tIGEgZmV3IGdzdC1sYXVuY2ggZXhhbXBsZXMuCgkgIFRoZSBtYWpvcml0eSBvZiB0aGUgZXhhbXBsZXMgZG9lIG5vdCB1c2UgLTAuMTAgYW5kIHRoaXMgd2lsbCBhbHNvIGhlbHAgdXMgdG8gbWFpbnRhaW4gdGhlIGRvY3MuCgoyMDA5LTAxLTI5IDEwOjEwOjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgcGx1Z2lucyAoc3lzKS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIEZpeCBleGFtcGxlcy4KCjIwMDktMDEtMjkgMDk6NDU6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIEFkZCAnIHRvIGZyYW1lcmF0ZSBhcmd1bWVudCBhbmQgcmVtb3ZlIHRoZSB3b3JkICdzaW1wbGUnIGFzIGFsbCBvdXIgcGlwZWxpbmVzIGFyZSBhcHBhcmVudGx5IHNpbXBsZS4KCjIwMDktMDEtMjkgMDk6NDI6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBBZGQgZXhhbXBsZXMgZm9yIHRoZSBqcGVnIGVsZW1lbnRzLgoKMjAwOS0wMS0yOCAyMTo0MDoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBGaXggY29tcGlsZSBlcnJvciBpbiB0aGUgbGFzdCBjb21taXQKCjIwMDktMDEtMjggMjA6MzQ6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIFJld3JpdGUgdGhlIHB1bHNlIHBsdWdpbiwgY29uZGl0aW9uYWxseSBlbmFibGluZyBuZXcgYmVoYXZpb3VyIHdpdGggbmV3ZXIgcHVsc2VhdWRpby4KCSAgRml4ZXM6ICM1Njc3OTQKCSAgKiBIb29rIHB1bHNlc2luaydzIHZvbHVtZSBwcm9wZXJ0eSB1cCB3aXRoIHRoZSBzdHJlYW0gdm9sdW1lIC0tIG5vdCB0aGUKCSAgc2luayB2b2x1bWUgaW4gUEEuCgkgICogUmVhZCB0aGUgZGV2aWNlIGRlc2NyaXB0aW9uIGRpcmVjdGx5IGZyb20gdGhlIHNpbmsgaW5zdGVhZCBvZiBnb2luZwoJICB2aWEgdGhlIG1peGVyLgoJICAqIFByb3Blcmx5IGltcGxlbWVudCBfcmVzZXQoKSBtZXRob2RzIGZvciBib3RoIHNpbmsgYW5kIHNvdXJjZSB0byBhdm9pZAoJICBkZWFkbG9ja3Mgd2hlbiBzaHV0dGluZyBkb3duIGEgcGlwZWxpbmUuCgkgICogUmVwbGFjZSBhbGwgc2ltcGxlIHBhX3RocmVhZGVkX21haW5sb29wX3dhaXQoKSBieSBwcm9wZXIgbG9vcHMgdG8KCSAgZ3VhcmFudGVlIHRoYXQgd2Ugd2FpdCBmb3IgdGhlIHJpZ2h0IGV2ZW50IGluIGNhc2UgbXVsdGlwbGUgZXZlbnRzIGFyZQoJICBmaXJlZC4gIFdoaWxlIHRoaXMgaXMgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSBpbiBtYW55IGNhc2VzIGl0CgkgIGNlcnRhaW5seSBpcyBtb3JlIGNvcnJlY3QgYW5kIG1ha2VzIG1lIHNsZWVwIGJldHRlciBhdCBuaWdodC4KCSAgKiBSZXBsYWNlIENIRUNLX0RFQURfR09UTyBtYWNyb3Mgd2l0aCBwcm9wZXIgZnVuY3Rpb25zCgkgICogRXh0ZW5kIHRoZSBudW1iZXIgb2Ygc3VwcG9ydGVkIGNoYW5uZWxzIHRvIDMyIHNpbmNlIHRoYXQgaXMgdGhlIGFjdHVhbAoJICBsaW1pdCBpbiBQQS4KCSAgKiBHZXQgcmlkIG9mIF9kaXNwb3NlKCkgbWV0aG9kcyBzaW5jZSB3ZSBkb24ndCBuZWVkIHRoZW0uCgkgICogSW5jcmVhc2UgdGhlIHZvbHVtZSBwcm9wZXJ0eSB1cHBlciBsaW1pdCBvZiB0aGUgc2luayB0byAxMDAwLgoJICAqIFJlc2V0IGZ1bmN0aW9uIHBvaW50ZXJzIGFmdGVyIHdlIGRpc2Nvbm5lY3QgYSBzdHJlYW0vY29udGV4dC4gQmV0dGVyCgkgIGZpeCBmb3IgYnVnIDU1Njk4Ni4KCSAgKiBSZXNldCB0aGUgc3RhdGUgb2YgdGhlIGVsZW1lbnQgcHJvcGVybHkgaWYgb3Blbi9wcmVwYXJlIGZhaWxzCgkgICogQ29yayB0aGUgUEEgc3RyZWFtIHdoZW4gdGhlIHBpcGVsaW5lIGlzIHBhdXNlZC4gVGhpcyBhbGxvd3MgdGhlIFBBCgkgICogZGFlbW9uIHRvCgkgIGNsb3NlIGF1ZGlvIGRldmljZSBvbiBwYXVzZSBhbmQgdGh1cyBzYXZlIGEgYml0IG9mIHBvd2VyLgoJICAqIFNldCBQQSBzdHJlYW0gcHJvcGVydGllcyBiYXNlZCBvbiBHU1QgdGFncyBzdWNoIGFzIEdTVF9UQUdfVElUTEUsCgkgIEdTVF9UQUdfQVJUSVNULCBhbmQgc28gb24uCgkgIFNpZ25lZC1vZmYtYnk6IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCjIwMDktMDEtMjggMTc6NDY6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9oYWwvaGFsLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGx1Z2lucyB3aXRoIGRlcHMgKGV4dCkuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBEb2N1bWVudCBhIGZldyB0cml2aWFsIGNhc2VzLiBLZWVwIGxpc3RzIGluIHNlY3Rpb24gZmlsZSBhbmQgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtIGFscGhhYmV0aWNhbGx5IG9yZGVyZWQuIEZpeCB3YXJuaW5ncyB0aGF0IGd0ay1kb2MgcG9pbnRzIG91dC4KCjIwMDktMDEtMjggMTU6NTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJICBMaW1pdCB0aGUgZGVsYXkgYnkgYSBuZXcgbWF4LWRlbGF5IHByb3BlcnR5CgkgIEludHJvZHVjZSBhIG5ldyBtYXgtZGVsYXkgcHJvcGVydHkgdGhhdCBjYW4gb25seQoJICBiZSBzZXQgYmVmb3JlIGdvaW5nIHRvIFBMQVlJTkcgb3IgUEFVU0VELiBUaGlzCgkgIGlzIHVzZWQgdG8gbGltaXQgdGhlIG1heGltdW0gZGVsYXkgYW5kIGlzIHNldAoJICB0byB0aGUgY3VycmVudCBkZWxheSBieSBkZWZhdWx0LgoJICBVc2luZyB0aGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YQoJICBpbiBvdXIgaW50ZXJuYWwgcmluZ2J1ZmZlciBmb3IgdGhlIGVjaG8uIFdpdGggZHluYW1pYwoJICByZWFsbG9jYXRpb24gb2YgdGhlIHJpbmdidWZmZXIgYXMgdXNlZCBiZWZvcmUgc2lsZW5jZQoJICBjb3VsZCd2ZSBiZWVuIHVzZWQgYXMgdGhlIGVjaG8gZGlyZWN0bHkgYWZ0ZXIgc2V0dGluZwoJICBhIG5ldyBkZWxheS4KCjIwMDktMDEtMjggMTE6NTg6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJldmVydCBwcmV2aW91cyBib2d1cyBjb21taXQKCjIwMDktMDEtMjggMTI6Mjk6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbHVnaW5zIHdpdGggbm8gZGVwcyAoZ3N0KS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIERvY3VtZW50IGEgZmV3IHRyaXZpYWwgY2FzZXMuIEtlZXAgbGlzdHMgaW4gc2VjdGlvbiBmaWxlIGFuZCBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW0gYWxwaGFiZXRpY2FsbHkgb3JkZXJlZC4KCjIwMDktMDEtMjcgMjM6MDk6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEZpeCBleGFtcGxlIGFwcHMgYnkgZHJhd2luZyBpbiB0aGUgbWFpbi1sb29wLgoKMjAwOS0wMS0yNyAyMDozMzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBhc3BlY3RyYXRpbyBjcm9wIHVuaXQgdGVzdCBpbiB1bmluc3RhbGxlZCBlbnZpcm9ubWVudC4KCjIwMDktMDEtMjcgMjA6MzA6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgTWFrZSBnaXQgaWdub3JlIGJhY2t1cCBmaWxlcwoKMjAwOS0wMS0yNiAxNjoxNDo0NyArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIFBsdWcgYSBtZW1vcnkgbGVhayBpbiBhIGRlYnVnIG1lc3NhZ2UuCgoyMDA5LTAxLTIyIDE1OjU5OjQwICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgQ29ycmVjdCByZXR1cm4gdmFsdWUgZnJvbSBnc3RfdWRwX2dldF9hZGRyKCkgd2hlbiBubyBrbm93biBmYW1pbHkgaXMgZm91bmQuCgoyMDA5LTAxLTI2IDA5OjUxOjM2ICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXNlIGxpYnNvdXAtZ25vbWUgZm9yIHByb3h5IGNvbmZpZ3VyYXRpb24gaWYgYXZhaWxhYmxlCgkgIElmIGxpYnNvdXAtZ25vbWUgaXMgZm91bmQgdXNlIHRoaXMgYXMgaXQgd2lsbCBnaXZlIHVzCgkgIHRoZSBHTk9NRSBwcm94eSBjb25maWd1cmF0aW9uLiBPdGhlcndpc2UgdXNlIG5vcm1hbAoJICBsaWJzb3VwLgoJICBUaGUgR05PTUUgcHJveHkgY29uZmlndXJhdGlvbiB3aWxsIG9ubHkgYmUgdXNlZCBpZgoJICB0aGUgcHJveHkgcHJvcGVydGllcyBhcmUgbm90IHNldCBvbiBzb3VwaHR0cHNyYwoJICBhbmQgaWYgdGhlIGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90CgkgIHNldC4KCSAgRml4ZXMgYnVnICM1NTIxNDAuCgoyMDA5LTAxLTI1IDE5OjI2OjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgQWRkIGEgZmV3IG1vcmUgdmlkZW8gZm91cmNjJ3MKCjIwMDktMDEtMjQgMTQ6NDg6MDAgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGFzcGVjdHJhdGlvY3JvcCBGaXhlcyBidWcgIzUyNzk1MQoJICBBZGQgdW5pdCB0ZXN0IGZvciBhc3BlY3RyYXRpb2Nyb3AgYW5kIHJlZmFjdG9yIHRoaXMgZWxlbWVudC4gQWRkZWQKCSAgZmluYWxpemUgZnVuY3Rpb24gdG8gY2xlYW51cCBsZWFraW5nIG11dGV4LgoKMjAwOS0wMS0yNSAxNDozNDowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgSWdub3JlIGNoZWNrIGJpbmFyaWVzCgoyMDA5LTAxLTI0IDE4OjI4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBTYXZlIHNvbWUgYWxsb2NhdGlvbnMgaWYgdGhlIGVjaG8gZGVsYXkgaXMgaW5jcmVhc2VkIG9mdGVuCgkgIFNhdmUgc29tZSBhbGxvY2F0aW9ucyBpZiB0aGUgZWNobyBkZWxheSBpcyBpbmNyZWFzZWQgb2Z0ZW4KCSAgZHVyaW5nIHBsYXliYWNrIGJ5IGFsd2F5cyBhbGxvY2F0aW5nIGVub3VnaCBtZW1vcnkgdG8gaG9sZAoJICBkYXRhIHVwIHRvIHRoZSBuZXh0IGNvbXBsZXRlIHNlY29uZCwgaS5lLiBpbiB0aGUgd29yc3QgY2FzZQoJICBhbGxvY2F0ZSBtZW1vcnkgZm9yIG9uZSBhZGRpdGlvbmFsIHNlY29uZC4KCjIwMDktMDEtMjQgMTQ6MjU6MDggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIHBsdWdpbiB2ZXJzaW9uIGluIGRvY3VtZW50YXRpb24KCjIwMDktMDEtMjMgMjE6NDc6NDAgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBGaXggbGluayBpbiBkb2N1bWVudGF0aW9uIG9mIHZpZGVvY3JvcCBlbGVtZW50CgoyMDA5LTAxLTIzIDIxOjQ2OjEzICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGFzcGVjdHJhdGlvY3JvcAoKMjAwOS0wMS0yNCAxMzoyMTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmggZm9yIHRoZSBuZXcgZGV2ZWxvcG1lbnQgY3ljbGUKCjIwMDktMDEtMjQgMTE6NTM6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIEFkZCBub3RlIHRoYXQgYXVkaW9lY2hvJ3MgcmV2ZXJiIHNvdW5kcyBtZXRhbGxpYwoJICBBZGQgYSBub3RlIHRvIHRoZSBkb2NzIHRoYXQgYXVkaW9lY2hvJ3MgcmV2ZXJiIHdpbGwKCSAgc291bmQgbWV0YWxsaWMuIFRoaXMgaGFwcGVucyBiZWNhdXNlIGZvciBhIHJlYWwKCSAgcmV2ZXJiIGZpbHRlciBhZGRpdGlvbmFsIGZpbHRlcmluZyBpcyBuZWNlc3NhcnkuCgkgIEFsc28gbm90ZSB3aGljaCB2YWx1ZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZWxheQoJICBwcm9wZXJ0eSB0byBnZXQgYW4gZWNobyBlZmZlY3QuCgoyMDA5LTAxLTIzIDIzOjM4OjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogcG8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC8uZ2l0aWdub3JlOgoJICBNb3JlIGVudHJpZXMgZm9yIHRoZSBnaXRpZ25vcmVzCgoyMDA5LTAxLTIzIDIwOjM2OjI3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHNraXAgdmlkZW8veC1yYXctZ3JheSBpbiB2aWRlb2Nyb3AgdW5pdCB0ZXN0CgkgIEEgcmVjZW50IGNvbW1pdCBhZGRlZCB2aWRlby94LXJhdy1ncmF5IHN1cHBvcnQgdG8gdmlkZW9jcm9wLiBIb3dldmVyCgkgIHRoaXMgbGV0cyB0aGUgdmlkZW9jcm9wIHVuaXQgdGVzdCBmYWlsLiBCZWNhdXNlIHZpZGVvdGVzdHNyYyBjYW4ndAoJICBnZW5lcmF0ZSB0aGlzIGZvcm1hdC4KCjIwMDktMDEtMjMgMTU6Mzk6NDYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBBZGQgYXNwZWN0cmF0aW9jcm9wIGVsZW1lbnQuIEZpeGVzIGJ1ZyAjNTI3OTUxCgkgIEFkZCBuZXcgYXNwZWN0cmF0aW9jcm9wIGVsZW1lbnQgdGhhdCBjcm9wcyB0aGUgdmlkZW8KCSAgdG8gYSBzcGVjaWZpZWQgYXNwZWN0IHJhdGlvIHVzaW5nIHZpZGVvY3JvcC4KCjIwMDktMDEtMjMgMTA6NDk6MjggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBGaXggbmF2aWdhdGlvbiBldmVudCBmb3J3YXJkaW5nIHdoaWxlIGNyb3BwaW5nLiBGaXhlcyBidWcgIzU2Nzk5Mi4KCSAgRml4IHRoZSBuYXZpZ2F0aW9uIGV2ZW50IGZvcndhcmRpbmcgd2hpbGUgY3JvcHBpbmcgYnkgYWRqdXN0aW5nCgkgIHRoZSBtb3VzZSBwb3NpdGlvbiBieSB0aGUgYW1vdW50IG9mIGNyb3BwZWQgcGl4ZWxzLgoKMjAwOS0wMS0yMyAxMDowNDozOSArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBGaXggbGlua2luZyBvbiBTb2xhcmlzLiBGaXhlcyBidWcgIzU2ODgwOS4KCSAgQ2hlY2sgZm9yIHRoZSBzb2NrZXQgbGlicmFyeSB3aGljaCBpcyBuZWVkZWQKCSAgZm9yIHNvY2tldCgpIG9uIFNvbGFyaXMuCgoyMDA5LTAxLTIyIDIyOjQxOjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgdmVyc2lvbiBudW1iZXIgYWdhaW4gLT4gMC4xMC4xMy4xCgoyMDA5LTAxLTIyIDIyOjQxOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCByZWxlYXNlcyAwLjEwLjEyIGFuZCAwLjEwLjEzIHRvIHRoZSBkb2FwIGZpbGUKCjIwMDktMDEtMjIgMTg6MDg6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzbmFwc2hvdC4KCjIwMDktMDEtMjIgMTQ6MjU6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsIC0+IDAuMTAuMTIuMQoKMjAwOS0wMS0yMiAwMToyOTo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBSZWxlYXNlIDAuMTAuMTIKCjIwMDktMDEtMjEgMTc6MjI6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBGaXggZm9yIHNlY3VyaXR5IGFkdmlzb3J5IFRLQURWMjAwOS0weHgKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3dzIHdoaWxlIHJlYWRpbmcgcXVpY2t0aW1lIGhlYWRlcnMuCgkgIFNlY3VyaXR5IGlzc3VlIG5vdGljZWQgYnkgVG9iaWFzIEtsZWluLgoKMjAwOS0wMS0yMSAxMjo1Njo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBGaXggdHlwbyBhbmQgc21hbGwgZmxhdyBpbiBmbGFjIGRlY29kZXIKCjIwMDktMDEtMjIgMTM6NDk6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgRml4IHByZS1jb21taXQgaG9vawoKMjAwOS0wMS0yMiAxMDo0MDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3JldmVyYi5jOgoJICBSZW5hbWUgYXVkaW9yZXZlcmIgdG8gYXVkaW9lY2hvLiBGaXhlcyBidWcgIzU2ODM5NS4KCSAgVGhlIGVsZW1lbnQgY2FuIGFkZCBhbiBlY2hvIGFuZCBhIHNpbXBsZSByZXZlcmIgZWZmZWN0IHRvCgkgIGFuIGF1ZGlvIHN0cmVhbSBidXQgZm9yIGEgcmVhbCByZXZlcmIgZmlsdGVyIGl0IHdvdWxkIG5lZWQKCSAgc29tZSBhZGRpdGlvbmFsIGZpbHRlcmluZyB0byBwcmV2ZW50IGEgbWV0YWxsaWMtc291bmRpbmcKCSAgcmVzdWx0LgoKMjAwOS0wMS0yMiAxMjoyMToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgRnJlZSBsZWZ0b3ZlciB1ZHAgcG9ydHMgKGlmIGFueSkgd2hlbiBhIHNldHVwIHJlcXVlc3QgZmFpbHMuCgoyMDA5LTAxLTIyIDA2OjA1OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBJbnN0YWxsIGFuZCB1c2UgcHJlLWNvbW1pdCBpbmRlbnRhdGlvbiBob29rIGZyb20gY29tbW9uCgoyMDA5LTAxLTIxIDEzOjI1OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBXaGl0ZXNwYWNlIGZpeGVzIGFuZCBzb21lIGltcHJvdmVkIGRlYnVnIGxpbmVzLgoKMjAwOS0wMS0yMSAwNDozMTo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2ggOiBVc2UgZ2l0IHN1Ym1vZHVsZQoKMjAwOS0wMS0yMCAxNTozMzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogRml4IGVycm9yIGNvZGUgKHRoZSBtZXNzYWdlIHN0cmluZyBhbHNvIG5lZWRzIGxvdmUsIGJ1dCBub3QgdG9kYXkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCk6CgkgIEZpeCBlcnJvciBjb2RlICh0aGUgbWVzc2FnZSBzdHJpbmcgYWxzbyBuZWVkcyBsb3ZlLCBidXQgbm90IHRvZGF5KS4KCjIwMDktMDEtMTkgMTE6NDQ6MzYgKzAwMDAgIEx1b3RhbyBGdSA8bC5mdUBwZW5ndXRyb25peC5kZT4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IEFkZCA4Yml0IGdyYXlzY2FsZSBzdXBwb3J0IHRvIHZpZGVvY3JvcCBwbHVnaW4uIEZpeGVzICM1Njc5NTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2Fwcyk6CgkgIEFkZCA4Yml0IGdyYXlzY2FsZSBzdXBwb3J0IHRvIHZpZGVvY3JvcCBwbHVnaW4uIEZpeGVzICM1Njc5NTIuCgoyMDA5LTAxLTE5IDExOjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5jOiBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGluc3RhbmNlIGluaXQgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmM6IChnc3RfYXVkaW9fcmV2ZXJiX2luaXQpOgoJICBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGluc3RhbmNlIGluaXQgZnVuY3Rpb24uCgoyMDA5LTAxLTE5IDExOjE5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgYW4gZWNoby9yZXZlcmIgZmlsdGVyIHRvIHRoZSBhdWRpb2Z4IHBsdWdpbiwgd2l0aCBjb25maWd1cmFibGUgZWNobyBkZWxheSwgaW50ZW5zaXR5IGFuZCBmZWVkYmFjay4gRml4ZXMgYnVnICM1NjcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuYzogKGdzdF9hdWRpb19yZXZlcmJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcmV2ZXJiX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3JldmVyYl9maW5hbGl6ZSksIChnc3RfYXVkaW9fcmV2ZXJiX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcmV2ZXJiX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fcmV2ZXJiX3NldHVwKSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfc3RvcCksIChnc3RfYXVkaW9fcmV2ZXJiX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3JldmVyYi5jOiAoc2V0dXBfcmV2ZXJiKSwKCSAgKGNsZWFudXBfcmV2ZXJiKSwgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvcmV2ZXJiX3N1aXRlKToKCSAgQWRkIGFuIGVjaG8vcmV2ZXJiIGZpbHRlciB0byB0aGUgYXVkaW9meCBwbHVnaW4sIHdpdGggY29uZmlndXJhYmxlCgkgIGVjaG8gZGVsYXksIGludGVuc2l0eSBhbmQgZmVlZGJhY2suIEZpeGVzIGJ1ZyAjNTY3ODc0LgoKMjAwOS0wMS0xOSAxMDoxMzo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IEltcGxlbWVudCBhIHNpbXBsZSBjb21wZW5zYXRpb24gYWxnb3JpdGhtIGZvciByb3VuZGluZyBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3Jlc2V0X3N0YXRlKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBJbXBsZW1lbnQgYSBzaW1wbGUgY29tcGVuc2F0aW9uIGFsZ29yaXRobSBmb3Igcm91bmRpbmcgZXJyb3JzLgoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCBhIHNwZWN0cnVtIG1lc3NhZ2UgaXMgcG9zdGVkIG9uIHRoZSBidXMKCSAgZXZlcnkgaW50ZXJ2YWwgbmFub3NlY29uZHMuIEZpeGVzIGJ1ZyAjNTY3OTU1LgoKMjAwOS0wMS0xNSAyMToxNjo0NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOiBMaW5rIGFnYWluc3QgQ29yZVNlcnZpY2VzIChuZWVkZWQgZm9yIG9zeCAxMC40KSBhbmQgZml4IHVwIHRoZSBsaW5rZXIgZmxhZ3MuIEZpeGVzICM1Njc4NTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgTGluayBhZ2FpbnN0IENvcmVTZXJ2aWNlcyAobmVlZGVkIGZvciBvc3ggMTAuNCkgYW5kIGZpeCB1cCB0aGUgbGlua2VyCgkgIGZsYWdzLiBGaXhlcyAjNTY3ODUzLgoKMjAwOS0wMS0xNSAxNDo1MzoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2F0Y2ggaW52YWxpZCBhbmQgY29tbW9ubHkgd3JvbmcgcGxheWJhY2sgcmF0ZXMgaW4gdGhlIGVsc3QgYXRvbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpOgoJICBDYXRjaCBpbnZhbGlkIGFuZCBjb21tb25seSB3cm9uZyBwbGF5YmFjayByYXRlcyBpbiB0aGUgZWxzdCBhdG9tcy4KCSAgRml4ZXMgIzU2NzgwMC4KCjIwMDktMDEtMTUgMTE6NDA6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBEb24ndCBjYWxsIGdzdF9mZnRfZjMyX2ZyZWUoKSB3aXRoIE5VTEwgdG8gcHJldmVudCBhIGNyYXNoLiBGaXhlcyBidWcgIzU2NzY0Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fcmVzZXRfc3RhdGUpOgoJICBEb24ndCBjYWxsIGdzdF9mZnRfZjMyX2ZyZWUoKSB3aXRoIE5VTEwgdG8gcHJldmVudCBhCgkgIGNyYXNoLiBGaXhlcyBidWcgIzU2NzY0Mi4KCjIwMDktMDEtMTQgMTU6NDQ6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBVc2UgY29ycmVjdCB0eXBlcyBmb3IgZnJhbWUvZmZ0IGNvdW50ZXJzIGFuZCBzb21lIG1pbm9yIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBjb3JyZWN0IHR5cGVzIGZvciBmcmFtZS9mZnQgY291bnRlcnMgYW5kIHNvbWUgbWlub3IKCSAgY2xlYW51cC4KCjIwMDktMDEtMTQgMTU6Mzc6MDcgKzAwMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IEZpeCByZWZjb3VudCBsb29wLCByZXN1bHRpbmcgaW4gYSB0aHJlYWQgbGVhay4gRml4ZXMgYnVnICM1Njc3NDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0IGF0IHBvZXR0ZXJpbmcgZG90IG5ldD4KCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfbmV3KSwKCSAgKGdzdF9wdWxzZXByb2JlX2ZyZWUpOgoJICBGaXggcmVmY291bnQgbG9vcCwgcmVzdWx0aW5nIGluIGEgdGhyZWFkIGxlYWsuIEZpeGVzIGJ1ZyAjNTY3NzQ2LgoKMjAwOS0wMS0xNCAxMDo0Njo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtLzogUG9zdCBhIHNwZWN0cnVtIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgZXZlcnkgaW50ZXJ2YWwsIGV2ZW4gaWYgdGhlIGludGVydmFsIGlzIHNtYWxsIHRoYW4gdGhlIGxlbmd0aCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vUkVBRE1FOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksIChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fcmVzZXRfc3RhdGUpLCAoZ3N0X3NwZWN0cnVtX2ZpbmFsaXplKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zdG9wKSwgKGdzdF9zcGVjdHJ1bV9zZXR1cCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgUG9zdCBhIHNwZWN0cnVtIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgZXZlcnkgaW50ZXJ2YWwsIGV2ZW4KCSAgaWYgdGhlIGludGVydmFsIGlzIHNtYWxsIHRoYW4gdGhlIGxlbmd0aCBvZiB0aGUgRkZULgoJICBGaXhlcyBidWcgIzU2NzY0Mi4KCSAgTWFqb3IgY2xlYW51cCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudC4KCjIwMDktMDEtMTMgMTk6MjM6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBhdWRpb2lpcmZpbHRlciBhbmQgYXVkaW9maXJmaWx0ZXIgZWxlbWVudHMgd2hpY2ggYWxsb3cgZ2VuZXJpYyBJSVIvRklSIGZpbHRlcnMgdG8gYmUgaW1wbGVtZW50ZWQgYnkgcHJvdmlkaW5nIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzogKGdzdF9hdWRpb19maXJfZmlsdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX3VwZGF0ZV9rZXJuZWwpLCAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9zZXR1cCksIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOiAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfdXBkYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9pbml0KSwgKGdzdF9hdWRpb19paXJfZmlsdGVyX3NldHVwKSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkgIEFkZCBhdWRpb2lpcmZpbHRlciBhbmQgYXVkaW9maXJmaWx0ZXIgZWxlbWVudHMgd2hpY2ggYWxsb3cKCSAgZ2VuZXJpYyBJSVIvRklSIGZpbHRlcnMgdG8gYmUgaW1wbGVtZW50ZWQgYnkgcHJvdmlkaW5nIHRoZQoJICBmaWx0ZXIgY29lZmZpY2llbnRzLiBGaXhlcyBidWcgIzU2NzU3Ny4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgYXVkaW9paXJmaWx0ZXIgYW5kIGF1ZGlvZmlyZmlsdGVyCgkgIGVsZW1lbnRzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChvbl9oYW5kb2ZmKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvZmlyZmlsdGVyX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOiAob25fbWVzc2FnZSksCgkgIChvbl9yYXRlX2NoYW5nZWQpLCAob25faGFuZG9mZiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2lpcmZpbHRlcl9zdWl0ZSk6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChtYWluKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgYW5kIGV4YW1wbGUgYXBwbGljYXRpb25zIGZvciB0aGUgdHdvIGZpbHRlcgoJICBlbGVtZW50cy4KCjIwMDktMDEtMTMgMTk6MDk6MTkgKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggZm9ybWF0IHN0cmluZyBmb3IgZ3VpbnQ2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGZvciBndWludDY0LgoKMjAwOS0wMS0xMyAxOTowNDowOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOiBvc3hhdWRpbyBwbHVnaW4gbm93IHJlcXVpcmVzIEF1ZGlvVW5pdCBmcmFtZXdvcmssIHNvIGxpbmsgYWdhaW5zdCB0aGF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIG9zeGF1ZGlvIHBsdWdpbiBub3cgcmVxdWlyZXMgQXVkaW9Vbml0IGZyYW1ld29yaywgc28gbGluayBhZ2FpbnN0IHRoYXQuCgkgIENsZWFuIHVwIHRhYnMgdiBzcGFjZXMgd2hpbGUgSSdtIHRoZXJlLgoKMjAwOS0wMS0xMyAxNzo0OTowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6IEFkZCBzb21lIGV4YW1wbGUgY29kZSBmb3IgcHJpbnRpbmcgdGhlIFJUUCBtYW5hZ2VyIHN0YXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOiAocHJpbnRfc291cmNlX3N0YXRzKSwKCSAgKHByaW50X3N0YXRzKSwgKG1haW4pOgoJICBBZGQgc29tZSBleGFtcGxlIGNvZGUgZm9yIHByaW50aW5nIHRoZSBSVFAgbWFuYWdlciBzdGF0cy4KCjIwMDktMDEtMTMgMDg6MjQ6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogVXNlIGEgY3VzdG9tIG11dGV4IGZvciBwcm90ZWN0aW5nIHRoZSBpbnN0YW5jZSBmaWVsZHMgaW5zdGVhZCBvZiB0aGUgR3N0T2JqZWN0IGxvY2suIFVzaW5nIHRoZSBsYXR0ZXIgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6IChnc3RfYXVkaW9fY2hlYl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9pbml0KSwgKGdzdF9hdWRpb19jaGViX2JhbmRfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOiAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYl9saW1pdF9pbml0KSwgKGdzdF9hdWRpb19jaGViX2xpbWl0X2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19jaGViX2xpbWl0X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOiAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOiAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9pbml0KSwgKGdzdF9hdWRpb193c2luY2xpbWl0X2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkgIFVzZSBhIGN1c3RvbSBtdXRleCBmb3IgcHJvdGVjdGluZyB0aGUgaW5zdGFuY2UgZmllbGRzIGluc3RlYWQgb2YKCSAgdGhlIEdzdE9iamVjdCBsb2NrLiBVc2luZyB0aGUgbGF0dGVyIGNhbiBsZWFkIHRvIGRlYWRsb2NrcywgZXNwZWNpYWxseQoJICB3aXRoIHRoZSBGSVIgZmlsdGVycyB3aGVuIHVwZGF0aW5nIHRoZSBsYXRlbmN5LgoKMjAwOS0wMS0xMSAxOTowMzozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBnZW5lcmljIGF1ZGlvIEZJUiBmaWx0ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9wdXNoX3Jlc2lkdWUpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9zZXR1cCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3RyYW5zZm9ybSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3N0YXJ0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc3RvcCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3F1ZXJ5KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfcXVlcnlfdHlwZSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2V2ZW50KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc2V0X2tlcm5lbCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBnZW5lcmljIGF1ZGlvIEZJUiBmaWx0ZXJzLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIChnc3RfZ3N0X2F1ZGlvX3dzaW5jYmFuZF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9nc3RfYXVkaW9fd3NpbmNiYW5kX3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX2Jhc2VfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9pbml0KSwgKGdzdF9hdWRpb193c2luY2JhbmRfYnVpbGRfa2VybmVsKSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfc2V0dXApLCAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2J1aWxkX2tlcm5lbCksIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9zZXR1cCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVc2UgdGhpcyBuZXcgYmFzZSBjbGFzcyBmb3IgYXVkaW93c2luY2JhbmQgYW5kIGF1ZGlvd3NpbmNsaW1pdC4KCSAgQWxzbyBjbGVhbnVwIGJvdGggZWxlbWVudHMuCgoyMDA5LTAxLTA4IDE4OjE3OjEzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEluIHB1c2ggbW9kZSwgZXJyb3Igb3V0IGlmIHdlIGdldCBFT1MgYmVmb3JlIHdlJ3ZlIGNyZWF0ZWQgYW55IHNyY3BhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgSW4gcHVzaCBtb2RlLCBlcnJvciBvdXQgaWYgd2UgZ2V0IEVPUyBiZWZvcmUgd2UndmUgY3JlYXRlZCBhbnkgc3JjcGFkcy4KCSAgSGFuZGxlIChpbiBwdWxsIG1vZGUpIHNvbWUgZmlsZXMgdGhhdCBoYXZlIGEgdHJ1bmNhdGVkIG1vb3YgYXRvbSB3aGVyZQoJICB0aGUgZmluYWwgc3ViLWF0b20gaXMgYSAnZnJlZScgYXRvbSBhbmQgdGhlIGNvbnRlbnRzIG9mIHRoYXQgYXJlIG5vdAoJICBwcmVzZW50IGluIHRoZSBmaWxlLgoKMjAwOS0wMS0wOCAxNTo1Njo0NiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvOiBTb21lIGNsZWFudXBzLCByZWZhY3RvcmluZyBhbmQgbWlub3IgZW5oYW5jZW1lbnRzIGluIGNhcHMgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBTb21lIGNsZWFudXBzLCByZWZhY3RvcmluZyBhbmQgbWlub3IgZW5oYW5jZW1lbnRzIGluIGNhcHMgaGFuZGxpbmcuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksIChnc3RfbWF0cm9za2FfcGFkX3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9wYWRfZnJlZSksIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6ICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgT25seSByZW1vdmUsIHJlbGVhc2Ugb3IgcmVzZXQgd2hhdCBpcyBhcHByb3ByaWF0ZSB1cG9uIHN0YXRlIGNoYW5nZS4KCjIwMDktMDEtMDcgMjA6Mzg6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay4qOiBVc2UgYSBtdXRleCB0byBwcm90ZWN0IHRoZSBjdXJyZW50IHN0cmVhbSBwb2ludGVyLCBhbmQgaWdub3JlIGNhbGxiYWNrcyBmb3Igc3RyZWFtIG9iamVjdHMgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIFVzZSBhIG11dGV4IHRvIHByb3RlY3QgdGhlIGN1cnJlbnQgc3RyZWFtIHBvaW50ZXIsIGFuZCBpZ25vcmUKCSAgY2FsbGJhY2tzIGZvciBzdHJlYW0gb2JqZWN0cyB0aGF0IGhhdmUgYmVlbiBkZXN0cm95ZWQgYWxyZWFkeS4KCSAgRml4ZXMgcHJvYmxlbXMgd2l0aCB1bnByZXBhcmUvcHJlcGFyZSBjeWNsZXMgY2F1c2VkIGJ5IHRoZSBpbnB1dAoJICBjYXBzIGNoYW5naW5nLCB3aXRob3V0IHJlaW50cm9kdWNpbmcgYnVnICM1NTY5ODYuCgoyMDA5LTAxLTA3IDE2OjA5OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUmVtb3ZlICgpIGZyb20gdHJhbnNsYXRlYWJsZSBzdHJpbmcsIHNvIHRoYXQgaXQgbWFrZXMgbW9yZSBzZW5zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBSZW1vdmUgKCkgZnJvbSB0cmFuc2xhdGVhYmxlIHN0cmluZywgc28gdGhhdCBpdCBtYWtlcyBtb3JlIHNlbnNlLgoKMjAwOS0wMS0wNyAwOTo0MzoxMyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBNaW5vciBmaXgvY2xlYW51cCBpbiBoZWFkZXIgZmllbGQgY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKToKCSAgTWlub3IgZml4L2NsZWFudXAgaW4gaGVhZGVyIGZpZWxkIGNhbGN1bGF0aW9uLgoKMjAwOS0wMS0wNiAxNzo0ODoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IFJlbW92ZSBpbnRlcm5hbCB0YWdsaXN0IGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIFJlbW92ZSBpbnRlcm5hbCB0YWdsaXN0IGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyIGludGVyZmFjZS4KCjIwMDktMDEtMDYgMTQ6NTA6MjkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogRW5zdXJlIGhlYWRlciBzaXplIGludmFyaWFuY2UgZHVyaW5nIHN1YnNlcXVlbnQgcmV3cml0ZSBieSB1c2luZyB0YWdzIHNuYXBzaG90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgRW5zdXJlIGhlYWRlciBzaXplIGludmFyaWFuY2UgZHVyaW5nIHN1YnNlcXVlbnQgcmV3cml0ZSBieSB1c2luZwoJICB0YWdzIHNuYXBzaG90LgoKMjAwOS0wMS0wNSAxNzozMToxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jOiBEb24ndCB3YWl0IGZvciB0aGUgcHVsc2UgbWFpbmxvb3Agd2hlbiBkZXN0cm95aW5nIHRoZSBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfZGVzdHJveV9zdHJlYW0pOgoJICBEb24ndCB3YWl0IGZvciB0aGUgcHVsc2UgbWFpbmxvb3Agd2hlbiBkZXN0cm95aW5nIHRoZSBzdHJlYW0uCgkgIEZpeGVzIGEgZGVhZGxvY2sgd2hlbiB0aGUgcHVsc2VkYWVtb24gZ29lcyBhd2F5IHdoaWxlIHB1bHNlc2luawoJICBpcyBQTEFZSU5HLiBGaXhlcyBidWcgIzU1Njk4Ni4KCjIwMDktMDEtMDUgMTI6MzA6NDAgKzAwMDAgIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHN1cHBvcnQgZm9yIGdyYXlzY2FsZSB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTY2NjE2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNhc2NoYSBIYXVlciA8cyBkb3QgaGF1ZXIgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSksCgkgIChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKToKCSAgQWRkIHN1cHBvcnQgZm9yIGdyYXlzY2FsZSB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTY2NjE2LgoKMjAwOS0wMS0wNSAxMTo0MjowOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC86IFN0cmVhbWxpbmUgdGFnIGhhbmRsaW5nIGFuZCBwYXNzIHVucGFyc2VkIHRhZ3MgYXMgYmluYXJ5IGJsb2IgaW4gcHJpdmF0ZSB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF90YWdfYWRkX3RtcG8pLCAocXRkZW11eF90YWdfYWRkX2NvdnIpLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpLCAocXRkZW11eF90YWdfYWRkX2ducmUpLAoJICAocXRkZW11eF90YWdfYWRkX2Jsb2IpLCAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6IChwbHVnaW5faW5pdCk6CgkgIFN0cmVhbWxpbmUgdGFnIGhhbmRsaW5nIGFuZCBwYXNzIHVucGFyc2VkIHRhZ3MgYXMgYmluYXJ5IGJsb2IKCSAgaW4gcHJpdmF0ZSB0YWcuCgoyMDA5LTAxLTA1IDEwOjEzOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEltcGxlbWVudCBhIGJhc2UgY2xhc3MgZm9yIElJUiBmaWx0ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9jYWxjdWxhdGVfZ2FpbiksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX3NldF9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9zZXR1cCksIChwcm9jZXNzKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfc3RvcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuaDoKCSAgSW1wbGVtZW50IGEgYmFzZSBjbGFzcyBmb3IgSUlSIGZpbHRlcnMuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOiAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19jaGViX2JhbmRfaW5pdCksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLCAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6IChnc3RfYXVkaW9fY2hlYl9saW1pdF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fY2hlYl9saW1pdF9pbml0KSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksIChnc3RfYXVkaW9fY2hlYl9saW1pdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfc2V0dXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkgIFVzZSB0aGUgSUlSIGZpbHRlciBiYXNlIGNsYXNzIGZvciB0aGUgY2hlYnlzaGV2IGZpbHRlcnMuCgoyMDA5LTAxLTAyIDIwOjM5OjM0ICswMDAwICBKdXN0aW4gS2FybmVnYXMgPGp1c3RpbkBhZmZpbml4LmNvbT4KCgkgIHN5cy9vc3hhdWRpby86IFJld3JpdGUgb3N4YXVkaW8gdG8gd29yayBtb3JlIGZsZXhpYmx5IGFuZCBtb3JlIHJlbGlhYmx5LCB1c2luZyBhIGRpZmZlcmVudCBhYnN0cmFjdGlvbiBsYXllciBvZiBjb3JlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEp1c3RpbiBLYXJuZWdhcyA8anVzdGluQGFmZmluaXguY29tPiBhbmQKCSAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgUmV3cml0ZSBvc3hhdWRpbyB0byB3b3JrIG1vcmUgZmxleGlibHkgYW5kIG1vcmUgcmVsaWFibHksIHVzaW5nIGEKCSAgZGlmZmVyZW50IGFic3RyYWN0aW9uIGxheWVyIG9mIGNvcmVhdWRpbyB0aGF0IGlzIHRoZSByZWNvbW1lbmRlZCB3YXkgb2YKCSAgZG9pbmcgbG93LWxldmVsIGF1ZGlvIEkvTyBvbiBPU1guCgkgIEZpeGVzIGJ5ZyAjNTY0OTQ4LgoKMjAwOS0wMS0wMiAxNjozMToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDogQWRkIGV4YW1wbGUgUlRQIHRyYW5zY29kaW5nIHBpcGVsaW5lIGZyb20gYW55IGZpbGUgZGVjb2RlZGFibGUgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkgIEFkZCBleGFtcGxlIFJUUCB0cmFuc2NvZGluZyBwaXBlbGluZSBmcm9tIGFueSBmaWxlIGRlY29kZWRhYmxlIHdpdGgKCSAgdXJpZGVjb2RlYmluLgoKMjAwOS0wMS0wMiAxNToyMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC86IEFkZCB0d28gQyBleGFtcGxlcyBvZiB1c2luZyBnc3RydHBiaW4gYXMgYSBzZW5kZXIgYW5kIGEgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzogKHBhZF9hZGRlZF9jYiksIChtYWluKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOiAobWFpbik6CgkgIEFkZCB0d28gQyBleGFtcGxlcyBvZiB1c2luZyBnc3RydHBiaW4gYXMgYSBzZW5kZXIgYW5kIGEgcmVjZWl2ZXIuCgoyMDA4LTEyLTMxIDExOjIwOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIENoYW5nZUxvZzogUmVtb3ZlIGNvbmZsaWN0IG1hcmtlciBmcm9tIENoYW5nZUxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBjb25mbGljdCBtYXJrZXIgZnJvbSBDaGFuZ2VMb2cKCjIwMDgtMTItMjggMDk6NTA6MzEgKzAwMDAgIGpeIDxqQG9pbDIxLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIGNvZGVjIG1hcHBpbmcgZm9yIHh2aWQsIGZtcDQgYW5kIGFjMyB0cmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgb2lsMjEub3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2FwcyksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgY29kZWMgbWFwcGluZyBmb3IgeHZpZCwgZm1wNCBhbmQgYWMzIHRyYWNrcy4KCSAgRml4ZXMgIzU2NTg1MAoKMjAwOC0xMi0yMyAxMjoxMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLio6IEltcGxlbWVudCBnZXRjYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2luaXQpLAoJICAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX2NoYWluKSwgKGdzdF9zbW9rZWVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgIEltcGxlbWVudCBnZXRjYXBzIGZ1bmN0aW9uLgoJICBTZXQgY2FwcyBvbiB0aGUgcGFkIGFuZCBvbiBhbGwgb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4ZXMgIzU2NTQ0MS4KCjIwMDgtMTItMTkgMDk6MzY6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiBBbmQgcmVtb3ZlIHRlbXBvcmFyeSBjb21tZW50IHBvaW50aW5nIHRvIHRoZSBidWcgdGlja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgQW5kIHJlbW92ZSB0ZW1wb3JhcnkgY29tbWVudCBwb2ludGluZyB0byB0aGUgYnVnIHRpY2tldC4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBNb3ZlIHJlb2NjdXJpbmcgbG9nZ2luZyB0byBMT0cgYW5kIGxvZyBpbnN0YW5jZSB0b28uCgoyMDA4LTEyLTE3IDE3OjI4OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogRG9uJ3QgbGVhayB0aGUgcGFfb3BlcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgRG9uJ3QgbGVhayB0aGUgcGFfb3BlcmF0aW9uLgoKMjAwOC0xMi0xNiAxNjoxOToyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGNvcmUgY3ZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSBjdnMuCgoyMDA4LTEyLTE2IDE2OjA3OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBSZW5hbWUgYXBpIGZyb20gX2ZsdXNoIHRvIF9yZXNldF90YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBSZW5hbWUgYXBpIGZyb20gX2ZsdXNoIHRvIF9yZXNldF90YWdzLgoKMjAwOC0xMi0xNiAxNDoyMjo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogVXNlIG5ldyB0YWdzZXR0ZXIgYXBpIHRvIGZsdXNoIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFVzZSBuZXcgdGFnc2V0dGVyIGFwaSB0byBmbHVzaCB0YWdzLgoKMjAwOC0xMi0xNiAxMzoxNDozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCjIwMDgtMTItMTYgMTI6NTI6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgoyMDA4LTEyLTE2IDExOjU3OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLgoKMjAwOC0xMi0xNSAxNTo1OTo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogSW5zdGVhZCBvZiBmaWx0ZXJpbmcgd3JvbmdseSBqdXN0IHVzZSB0aGUgbWVyZ2Vtb2RlLiBBcHBsaWNhdGlvbnMgaXMgdXNlIEtFRVBfQUxMIGlmIHRoZXkgd2FudCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEluc3RlYWQgb2YgZmlsdGVyaW5nIHdyb25nbHkganVzdCB1c2UgdGhlIG1lcmdlbW9kZS4gQXBwbGljYXRpb25zIGlzCgkgIHVzZSBLRUVQX0FMTCBpZiB0aGV5IHdhbnQgdG8gc3VwcmVzcyB0YWctZXZlbnRzLiBGaXhlcyAjNTYzMjIxIGZvcgoJICBhdmkgZm9yIHJlYWwgKEkgaG9wZSkuIEV2ZXJ5b25lIGNoaW1lIGluLCBiZWZvcmUgSSBmaXggdGhlIG90aGVycy4KCjIwMDgtMTItMTUgMTI6NDU6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiBBZGQgbm90ZSBhYm91dCBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgQWRkIG5vdGUgYWJvdXQgbWVtbGVhay4KCjIwMDgtMTItMTMgMTY6MjM6MDkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogQSBjb3VwbGUgbW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCBhbnltb3JlIHdpdGggZ2V0dGV4dCAwLjE3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgQSBjb3VwbGUgbW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCBhbnltb3JlIHdpdGggZ2V0dGV4dCAwLjE3LgoKMjAwOC0xMi0xMyAxNTozNDowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFN3aXRjaCB0byB1c2luZyBHc3RTdGF0aWNQYWRUZW1wbGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxhd19kZWNfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxhd19lbmNfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211bGF3ZGVjX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWxhd2VuY19pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LmM6IChwbHVnaW5faW5pdCk6CgkgIFN3aXRjaCB0byB1c2luZyBHc3RTdGF0aWNQYWRUZW1wbGF0ZS4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2dldF9hZGRyKToKCSAgRG9uJ3QgZm9yZ2V0IHRvIGZyZWUgdGhlIGFkZHJpbmZvIHN0cnVjdHVyZS4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSk6CgkgIERvbid0IGZvcmdldCB0byB1bnJlZiB0aGUgR3N0QWRhcHRlci4KCjIwMDgtMTItMTMgMTI6NTg6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdyByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cKCSAgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlIGNhbiByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCBvZiBmaWxlcyB0bwoJICBkaXN0LgoKMjAwOC0xMi0xMCAxNTowMzoyMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBzbWFsbGVyIHNwZWMgZmlsZSB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbGVyIHNwZWMgZmlsZSB1cGRhdGVzCgoyMDA4LTEyLTA5IDE3OjU1OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1vcmUgbG9nZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBNb3JlIGxvZ2dpbmcuCgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgSGFuZGxlIG1vcmUgbWV0YWRhdGEgZmllbGRzLiBCZXR0ZXIgZXN0aW1hdGUgb2YgbWV0YWRhdGEgc2l6ZS4gRG9uJ3QKCSAgbWVyZ2UgcmVjZWl2ZWQgdGFncywgaWYgYXBwbGljYXRpb24gaGFzIHNwZWNpZmllZCB0YWdzIHVzaW5nCgkgIEdTVF9UQUdfTUVSR0VfUkVQTEFDRV9BTEwuIEZpeGVzICM1NjMyMjEgZm9yIGF2aS4KCjIwMDgtMTItMDkgMTQ6MzA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBbHNvIGlnbm9yZSBwdWxzZW1peGVyIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFsc28gaWdub3JlIHB1bHNlbWl4ZXIgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LgoKMjAwOC0xMi0wOSAxNDoxOToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6IEFkZCBhbiBFT0kgbWFya2VyIGF0IHRoZSBlbmQgb2YgdGhlIGpwZWcgZnJhbWUgd2hlbiBpdCdzIG1pc3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6IChnc3RfcnRwX2pwZWdfZGVwYXlfcHJvY2Vzcyk6CgkgIEFkZCBhbiBFT0kgbWFya2VyIGF0IHRoZSBlbmQgb2YgdGhlIGpwZWcgZnJhbWUgd2hlbiBpdCdzIG1pc3NpbmcuCgkgIEZpeGVzICM1NjMwNTYuCgoyMDA4LTEyLTA5IDEwOjQ3OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogVXBkYXRlIHRoZSB1bml0IHRlc3QgZm9yIHRoZSBuZXcgY29sb3IgdmFsdWVzIGZvciBCVC42MDEgcmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGNoZWNrXzF4MV9idWZmZXIpOgoJICBVcGRhdGUgdGhlIHVuaXQgdGVzdCBmb3IgdGhlIG5ldyBjb2xvciB2YWx1ZXMgZm9yIEJULjYwMSByZWQuCgkgIEZpeGVzIGJ1ZyAjNTYzNTEwLgoKMjAwOC0xMi0wOSAxMDoyODoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IFJlc3RvcmUgcHJldmlvdXMgYmVoYXZpb3VyIG9mIG5vdCBwYXNzaW5nIFFvUyBhbmQgbmF2aWdhdGlvbiBldmVudHMgdXBzdHJlYW0sIHdoaWNoIHByZXN1bWFibHkgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFJlc3RvcmUgcHJldmlvdXMgYmVoYXZpb3VyIG9mIG5vdCBwYXNzaW5nIFFvUyBhbmQgbmF2aWdhdGlvbgoJICBldmVudHMgdXBzdHJlYW0sIHdoaWNoIHByZXN1bWFibHkgd2Fzbid0IG1lYW50IHRvIGJlIGNoYW5nZWQuCgoyMDA4LTEyLTA5IDA5OjM5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBBZGQgc3JjcGFkcyBvbmx5IHdoZW4gbmVlZGVkIGFuZCByZW1vdmUgdGhlbSBhZ2FpbiB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkuIFRoaXMgcHJldmVudHMgc3RhbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2FkZF92aWRlb19wYWQpLAoJICAoZ3N0X2R2ZGVtdXhfYWRkX2F1ZGlvX3BhZCksIChnc3RfZHZkZW11eF9yZW1vdmVfcGFkcyksCgkgIChnc3RfZHZkZW11eF9kZW11eF9hdWRpbyksIChnc3RfZHZkZW11eF9kZW11eF92aWRlbyksCgkgIChnc3RfZHZkZW11eF9jaGFpbiksIChnc3RfZHZkZW11eF9sb29wKSwKCSAgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBzcmNwYWRzIG9ubHkgd2hlbiBuZWVkZWQgYW5kIHJlbW92ZSB0aGVtIGFnYWluIHdoZW4gZ29pbmcKCSAgYmFjayB0byBSRUFEWS4gVGhpcyBwcmV2ZW50cyBzdGFsbGVkIHBpcGVsaW5lcyBpZiB0aGVyZSdzIG5vCgkgIGF1ZGlvIGluc2lkZSB0aGUgRFYgc3RyZWFtLCB3aGljaCBoYXBwZW5zIGZvciBtYW55IE1YRiBmaWxlcy4KCjIwMDgtMTItMDkgMDk6MDk6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IFRoZSBwb3J0cyBpbiBsaWJzb3VwIGFyZSB1bnNpZ25lZCBpbnRlZ2VycyBhbmQgbm90IHNpZ25lZCBpbnRlZ2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHJ1bl9zZXJ2ZXIpOgoJICBUaGUgcG9ydHMgaW4gbGlic291cCBhcmUgdW5zaWduZWQgaW50ZWdlcnMgYW5kIG5vdCBzaWduZWQKCSAgaW50ZWdlcnMuCgoyMDA4LTEyLTA4IDE4OjMxOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBGb3J3YXJkIGFsbCBldmVudHMgdXBzdHJlYW0gdW5sZXNzIGl0J3Mgc29tZXRoaW5nIHdlIHJlYWxseSBkb24ndCBoYW5kbGUuIFRoaXMgZml4ZXMgbGF0ZW5jeSBjb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBGb3J3YXJkIGFsbCBldmVudHMgdXBzdHJlYW0gdW5sZXNzIGl0J3Mgc29tZXRoaW5nIHdlIHJlYWxseQoJICBkb24ndCBoYW5kbGUuIFRoaXMgZml4ZXMgbGF0ZW5jeSBjb25maWd1cmF0aW9uIG9mIHBpcGVsaW5lcy4KCjIwMDgtMTItMDggMTg6MjQ6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdi86IFJlYWxseSBjYWxsIGR2X2luaXQoKSBleGFjdGx5IG9uZSB0aW1lLCBub3Qgb25lIHRpbWUgZm9yIHRoZSBkZW11eGVyIGFuZCBvbmUgdGltZSBmb3IgdGhlIGRlY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9jbGFzc19pbml0KToKCSAgUmVhbGx5IGNhbGwgZHZfaW5pdCgpIGV4YWN0bHkgb25lIHRpbWUsIG5vdCBvbmUgdGltZSBmb3IKCSAgdGhlIGRlbXV4ZXIgYW5kIG9uZSB0aW1lIGZvciB0aGUgZGVjb2Rlci4KCjIwMDgtMTItMDggMTI6Mzc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogQ29weSBpbmNvbW1pbmcgdGltZXN0YW1wIHRvIG91dGdvaW5nIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOiAoZ3N0X3J0cF9tcDRhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgQ29weSBpbmNvbW1pbmcgdGltZXN0YW1wIHRvIG91dGdvaW5nIHBhY2tldHMuCgoyMDA4LTEyLTA4IDEyOjM2OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IERvbid0IHRyeSB0byBwdXNoIHBhY2tldHMgYmVmb3JlIHdlIGNvdWxkIGZpbmQgYSB2YWxpZCBjb25maWcgc3RhcnRjb2RlLiBGaXhlcyAjNTYzNTA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgIERvbid0IHRyeSB0byBwdXNoIHBhY2tldHMgYmVmb3JlIHdlIGNvdWxkIGZpbmQgYSB2YWxpZCBjb25maWcKCSAgc3RhcnRjb2RlLiBGaXhlcyAjNTYzNTA5LgoKMjAwOC0xMi0wNyAxOToyMjo0OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IFNldCB0aGUgbWl4ZXIgZmQgYmVmb3JlIGNhbGxpbmcgaW9jdGwoKSBvbiBpdC4gRml4ZXMgYnVnICM1NjM0MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfb3Blbik6CgkgIFNldCB0aGUgbWl4ZXIgZmQgYmVmb3JlIGNhbGxpbmcgaW9jdGwoKSBvbiBpdC4gRml4ZXMgYnVnICM1NjM0MTQuCgoyMDA4LTEyLTA3IDE5OjAxOjM1ICswMDAwICBBbGV4YW5kcmUgUm9zdG92dHNldiA8dGV0cm9taW5vQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogTWFrZSB1c2FnZSBvZiBsaWJ2NGwgb3B0aW9uYWwgYnkgYSBjb25maWd1cmUgcGFyYW1ldGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXhhbmRyZSBSb3N0b3Z0c2V2IDx0ZXRyb21pbm8gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIE1ha2UgdXNhZ2Ugb2YgbGlidjRsIG9wdGlvbmFsIGJ5IGEgY29uZmlndXJlIHBhcmFtZXRlci4KCSAgRml4ZXMgYnVnICM1NjM1MDQuCgoyMDA4LTEyLTA1IDA5OjI0OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgbWF0cm9za2FtdXggYW5kIG1hdHJvc2thZGVtdXggYW5kIHVwZGF0ZSB0aGUgaW5zcGVjdGlvbiB4bWwgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBtYXRyb3NrYW11eCBhbmQgbWF0cm9za2FkZW11eCBhbmQKCSAgdXBkYXRlIHRoZSBpbnNwZWN0aW9uIHhtbCBmaWxlcy4KCjIwMDgtMTItMDQgMjA6MTA6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUKCSAgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgoyMDA4LTEyLTA0IDE5OjQ3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0byBvdXIgTTQgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0bwoJICBvdXIgTTQgbWFjcm9zLgoKMjAwOC0xMS0zMCAxNjoyNDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogUHJvdmlkZSB0aGUgcGFyYW1ldGVycyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgUHJvdmlkZSB0aGUgcGFyYW1ldGVycyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcKCSAgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMjkgMjA6MDU6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOiBGaXggY2xhc3NpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICBGaXggY2xhc3NpZmljYXRpb24uCgoyMDA4LTExLTI5IDEzOjMxOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lcgoJICA8eXNlbGtvd2l0eiBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sCgkgIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzdGlsbCB3b3JrLgoJICBGaXhlcyBidWcgIzU1NjA5MS4KCjIwMDgtMTEtMjggMTU6MTA6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogTWFrZSBnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcigpIGlnbm9yZSBlcnJvcnMgZnJvbSBzZW5kdG8oKSBpbnN0ZWFkIG9mIGJyZWFraW5nIHN0cmVhbWluZy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgTWFrZSBnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcigpIGlnbm9yZSBlcnJvcnMgZnJvbSBzZW5kdG8oKSBpbnN0ZWFkIG9mCgkgIGJyZWFraW5nIHN0cmVhbWluZy4gRW1pdCBhIHdhcm5pbmcgaW5zdGVhZC4gRml4ZXMgIzU2MjU3Mi4KCjIwMDgtMTEtMjcgMTY6NDM6MjQgKzAwMDAgIFJvbiBNY091YXQgPHJtY291YXRAc21hcnR0LmNvbT4KCgkgIEFkZCBzdXBwb3J0IGZvciBiYXNpYyBhbmQgZGlnZXN0IGF1dGhlbnRpY2F0aW9uIGluIHNvdXBodHRwc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvbiBNY091YXQgPHJtY291YXQgYXQgc21hcnR0IGRvdCBjb20+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYXV0aGVudGljYXRlX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChiYXNpY19hdXRoX2NiKSwKCSAgKGRpZ2VzdF9hdXRoX2NiKSwgKHJ1bl90ZXN0KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKSwgKHJ1bl9zZXJ2ZXIpOgoJICBBZGQgc3VwcG9ydCBmb3IgYmFzaWMgYW5kIGRpZ2VzdCBhdXRoZW50aWNhdGlvbiBpbiBzb3VwaHR0cHNyYy4KCSAgRml4ZXMgYnVnICM1NjE3NzUuCgoyMDA4LTExLTI3IDEyOjEzOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jLzogQWRkIHN1cHBvcnQgZm9yIGEtbGF3IGFuZCBtdS1sYXcgZW5jb2RlZCB3YXYgZmlsZXMuIEZpeGVzIGJ1ZyAjNTYyNDM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBlcGlqbiBWYW4gRWVja2hvdWR0CgkgIDxwZXBpam4gZG90IHZhbmVlY2tob3VkdCBhdCBsdWNpYWQgZG90IGNvbT4KCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgKiBnc3Qvd2F2ZW5jL3JpZmYuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGEtbGF3IGFuZCBtdS1sYXcgZW5jb2RlZCB3YXYgZmlsZXMuIEZpeGVzIGJ1ZyAjNTYyNDM0LgoKMjAwOC0xMS0yNyAxMToyMjo1NiArMDAwMCAg7J2066y47ZiVIDxpd2luZ3NAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQcmV2ZW50IGZ1cnRoZXIgcmVhZC93cml0ZSBhY3Rpb25zIHRha2VuIHRvIHRoZSBjb25uZWN0LWZhaWxlZCBzb2NrZXQgYnkgZXJyb3Jpbmcgb3V0IHF1aWNrbHkuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTog7J2066y47ZiVIDxpd2luZ3MgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgIFByZXZlbnQgZnVydGhlciByZWFkL3dyaXRlIGFjdGlvbnMgdGFrZW4gdG8gdGhlIGNvbm5lY3QtZmFpbGVkIHNvY2tldCBieQoJICBlcnJvcmluZyBvdXQgcXVpY2tseS4gU2VlICM1NjIyNTguCgoyMDA4LTExLTI2IDIxOjE5OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IFNldCBmYWtlc2luayB0byBzeW5jLiBPdGhlcndpc2UgcGVvcGxlIG1pZ2h0IHF1ZXN0aW9uIHRoZSBtZXNzYWdlIGludGVydmFsLiBOZXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBTZXQgZmFrZXNpbmsgdG8gc3luYy4gT3RoZXJ3aXNlIHBlb3BsZSBtaWdodCBxdWVzdGlvbiB0aGUgbWVzc2FnZQoJICBpbnRlcnZhbC4gTmV2ZXJ0aGVsZXNzIHRoZSB0aW1lc3RhbXAgaW4gdGhlIG1lc3NhZ2UgaXMgd2hhdCBtYXR0ZXJzLgoKMjAwOC0xMS0yNSAxODoxMzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6IGN2c2lnbm9yZSBuZXdseSBnZW5lcmF0ZWQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgY3ZzaWdub3JlIG5ld2x5IGdlbmVyYXRlZCBmaWxlLgoKMjAwOC0xMS0yNSAxODowMzowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggdGhlIGRlc2NyaXB0aW9ucyBhbmQgZml4IHNvbWUgZW1haWwgYWRkcmVzc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6IChnc3RfcnRwX2FjM19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzogKGdzdF9ydHBfZHZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6IChnc3RfcnRwX21wMXNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogKGdzdF9ydHBfdnJhd19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgRml4IHRoZSBkZXNjcmlwdGlvbnMgYW5kIGZpeCBzb21lIGVtYWlsIGFkZHJlc3Nlcy4KCjIwMDgtMTEtMjUgMTc6NDc6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgTVBHMSBhbmQgTVBHMiBmb3VyY2MgdG8gc3VwcG9ydGVkIHF0ZGVtdXggdmlkZW8gY29kZWNzIGFzIEkgZm91bmQgc29tZSB2aWRlbyBjbGlwcyB1c2luZyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTExLTI1ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6IEFkZCBNUEcxIGFuZCBNUEcyCgkgIGZvdXJjYwoJICB0byBzdXBwb3J0ZWQgcXRkZW11eCB2aWRlbyBjb2RlY3MgYXMgSSBmb3VuZCBzb21lIHZpZGVvIGNsaXBzCgkgIHVzaW5nCgkgIHRob3NlLgoKMjAwOC0xMS0yNSAxNjoyNjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogUG9zdCBhbiBlcnJvciB3aGVuIHdlIGNhbid0IHNldCB0aGUgaW50ZXJuYWwgZ2hvc3RwYWQgdGFyZ2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6IChnc3RfYXV0b19hdWRpb19zcmNfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzogKGdzdF9hdXRvX3ZpZGVvX3NyY19kZXRlY3QpOgoJICBQb3N0IGFuIGVycm9yIHdoZW4gd2UgY2FuJ3Qgc2V0IHRoZSBpbnRlcm5hbCBnaG9zdHBhZCB0YXJnZXQuCgoyMDA4LTExLTI1IDE2OjA2OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuKjogRml4IHJlbmVnb3RpYXRpb24gd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzIHVzaW5nIHRoZSBuZXcgYmFzZXRyYW5zZm9ybSBmZWF0dXJlcy4gRml4ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIEZpeCByZW5lZ290aWF0aW9uIHdoZW4gY2hhbmdpbmcgcHJvcGVydGllcyB1c2luZyB0aGUgbmV3IGJhc2V0cmFuc2Zvcm0KCSAgZmVhdHVyZXMuIEZpeGVzICM1NjE1MDIuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wMi10ZXN0LmM6IChtYWtlX3BpcGVsaW5lKSwgKG1haW4pOgoJICBBZGQgY3JhenkgaW50ZXJhY3RpdmUgdGVzdCB1bml0IGZvciBkeW5hbWljYWxseSBjaGFuZ2luZyBwcm9wZXJ0aWVzLgoKMjAwOC0xMS0yNCAxMjoyMDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKG5ld19zZXNzaW9uX3BhZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBVc2UgdGhlIHJlYW5nZXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyIHVuY29uZGl0aW9uYWxseS4KCSAgRml4ZXMgIzU2MTYyNS4KCjIwMDgtMTEtMjMgMTU6MDg6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogQ2hhbmdlICNpZiAwIHRvIHNvbWV0aGluZyBtb3JlIGV4cHJlc2l2ZSBhbmQgYWRkIHBvaW50ZXIgdG8gcmVsYXRlZCBidWcgdGlja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIENoYW5nZSAjaWYgMCB0byBzb21ldGhpbmcgbW9yZSBleHByZXNpdmUgYW5kIGFkZCBwb2ludGVyIHRvIHJlbGF0ZWQKCSAgYnVnIHRpY2tldC4KCjIwMDgtMTEtMjMgMTE6MTc6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgoyMDA4LTExLTIzIDExOjE0OjQyICswMDAwICBUYWwgU2hhbGlmIDx0c2hhbGlmQG5hcmdpbGEub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgR197QklHLExJVFRMRX1fRU5ESUFOIGluc3RlYWQgb2YgdGhlIG5vbi1HTGliIHZhcmlhbnRzIGFzIHRoZSBsYXR0ZXIgZG9uJ3QgZXhpc3Qgb24gc29tZSBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGFsIFNoYWxpZiA8dHNoYWxpZiBhdCBuYXJnaWxhIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgVXNlIEdfe0JJRyxMSVRUTEV9X0VORElBTiBpbnN0ZWFkIG9mIHRoZSBub24tR0xpYiB2YXJpYW50cyBhcwoJICB0aGUgbGF0dGVyIGRvbid0IGV4aXN0IG9uIHNvbWUgc3lzdGVtcyAobWluZ3cpLiBGaXhlcyBidWcgIzU2MTk5Mi4KCjIwMDgtMTEtMjEgMTM6NDM6MjkgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHRyYW5zZmVyTW9kZS5kbmxhLm9yZyBoZWFkZXIgdG8gSFRUUCByZXF1ZXN0cyBhcyB0aGlzIGlzIHJlcXVpcmVkIGJ5IHRoZSBETE5BIHNwZWNzIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWmVlc2hhbiBBbGkgPHplZXNoYW5hayBhdCBnbm9tZSBkb3Qgb3JnPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19idWlsZF9tZXNzYWdlKToKCSAgQWRkIHRyYW5zZmVyTW9kZS5kbmxhLm9yZyBoZWFkZXIgdG8gSFRUUCByZXF1ZXN0cyBhcyB0aGlzIGlzCgkgIHJlcXVpcmVkIGJ5IHRoZSBETE5BIHNwZWNzIGFuZCBkb2Vzbid0IGh1cnQgaW4gb3RoZXIgc2l0dWF0aW9ucy4KCSAgRml4ZXMgYnVnICM1NjE4MDIuCgoyMDA4LTExLTIwIDIzOjU5OjA3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IEhhbmRsZSB2aWRlbyB3aW5kb3cgcmVzaXppbmcgbW9yZSBjb3JyZWN0bHksIGF2b2lkaW5nIGNyYXNoZXMgd2hlbiBlbWJlZGRpbmcgdGhlIHdpbmRvdyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgSGFuZGxlIHZpZGVvIHdpbmRvdyByZXNpemluZyBtb3JlIGNvcnJlY3RseSwgYXZvaWRpbmcgY3Jhc2hlcyB3aGVuCgkgIGVtYmVkZGluZyB0aGUgd2luZG93IGFuZCByZXNpemluZyBpdC4KCjIwMDgtMTEtMjAgMjI6NTY6NTggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC91ZHAvOiBGaXggbXVsdGl1ZHBzaW5rIG9uIE9TWCBieSBwYXNzaW5nIHRoZSBzcGVjaWZpYyBsZW5ndGggb2YgdGhlIHNvY2tldCwgcmVmYWN0b3IgdGhhdCBpbnRvIGEgZnVuY3Rpb24gc2hhcmVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRml4IG11bHRpdWRwc2luayBvbiBPU1ggYnkgcGFzc2luZyB0aGUgc3BlY2lmaWMgbGVuZ3RoIG9mIHRoZSBzb2NrZXQsCgkgIHJlZmFjdG9yIHRoYXQgaW50byBhIGZ1bmN0aW9uIHNoYXJlZCB3aXRoIHRoZSBzYW1lIHRoaW5nIGluIHVkcHNyYy4KCjIwMDgtMTEtMjAgMjA6MDc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHRoZSBzY2FsaW5nIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKHVpbnQ2NF9jZWlsaW5nX3NjYWxlKSwgKGdzdF93YXZwYXJzZV9jYWxjdWxhdGVfZHVyYXRpb24pLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgRml4IHRoZSBzY2FsaW5nIGNvZGUuCgkgIEZpeCBwYXJzaW5nIG9mIHRoZSBJTkZPIGNodW5rcywgd2Ugd2VyZSByZWFkaW5nIHRoZSB3cm9uZyBudW1iZXIgb2YKCSAgYnl0ZXMuICBGaXhlcyAjNTYxNTgwLgoKMjAwOC0xMS0yMCAxNDozMDo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugb2YgYW4gdW5zZXQgY29kZWNfaWQgaW4gdGhlIHJlY2VudGx5IGFkZGVkIERpcmFjIHBhdGhzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBvZiBhbiB1bnNldCBjb2RlY19pZCBpbiB0aGUgcmVjZW50bHkKCSAgYWRkZWQgRGlyYWMgcGF0aHMKCjIwMDgtMTEtMjAgMTM6NTg6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEp1c3Qga2VlcCBkaXNhYmxpbmcgZWxlbWVudHMgdGhhdCBoYW5nIHRoZSBzdGF0ZXMgdGVzdCB1bnRpbCBpdCB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEp1c3Qga2VlcCBkaXNhYmxpbmcgZWxlbWVudHMgdGhhdCBoYW5nIHRoZSBzdGF0ZXMgdGVzdCB1bnRpbCBpdAoJICB3b3Jrcy4KCjIwMDgtMTEtMjAgMTM6NDY6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogRG9uJ3QgZmx1c2ggZG93bnN0cmVhbSBhZnRlciBldmVyeSBidWZmZXIgLSB0aGF0J3Mgbm90IHdoYXQgdGhpcyBsaWJwbmcgY2FsbGJhY2sgaXMgZm9yIGF0IGFsbCEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgRG9uJ3QgZmx1c2ggZG93bnN0cmVhbSBhZnRlciBldmVyeSBidWZmZXIgLSB0aGF0J3Mgbm90IHdoYXQKCSAgdGhpcyBsaWJwbmcgY2FsbGJhY2sgaXMgZm9yIGF0IGFsbCEKCjIwMDgtMTEtMTcgMTQ6MDQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFR1cm5zIG91dCB3ZSBkb24ndCBhbHdheXMgZ2V0IHRoZSBmcmFtZSBzaXplcyBpbiBhIHByZWRlZmluZWQgb3JkZXIgZnJvbSBsb3dlc3QgdG8gaGlnaGVzdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKSwgKHNvcnRfYnlfZnJhbWVfc2l6ZSksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBUdXJucyBvdXQgd2UgZG9uJ3QgYWx3YXlzIGdldCB0aGUgZnJhbWUgc2l6ZXMgaW4gYSBwcmVkZWZpbmVkCgkgIG9yZGVyIGZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcmVzb2x1dGlvbiwgc28gbGV0J3MganVzdCBzb3J0IHRoZQoJICBsaXN0IGJ5IGZyYW1lIHNpemUgb25jZSB3ZSd2ZSBxdWVyaWVkIHRoZSBwb3NzaWJsZSByZXNvbHV0aW9ucwoJICByYXRoZXIgdGhhbiBhc3N1bWUgYW55IHBhcnRpY3VsYXIgb3JkZXIuIEZpeGVzIHByb2JlZCBjYXBzIGZvcgoJICB0aGUgY2FtZXJhIGluIG15IEhQMjEzMyBtaW5pIG5vdGVib29rIGFuZCBtYWtlcyB2NGwyc3JjIGRlZmF1bHQKCSAgdG8gYSBkZWNlbnQgc2l6ZS4KCjIwMDgtMTEtMTYgMTQ6NDE6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBNYWtlIG1rdmRlbXV4IGF3YXJlIG9mIEUtQUMzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIE1ha2UgbWt2ZGVtdXggYXdhcmUgb2YgRS1BQzMuCgoyMDA4LTExLTE0IDE4OjQxOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBhIGpwZWcgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOiAoZ3N0X3J0cF9qcGVnX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2pwZWdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfZmluYWxpemUpLCAoTWFrZVRhYmxlcyksIChNYWtlUXVhbnRIZWFkZXIpLAoJICAoTWFrZUh1ZmZtYW5IZWFkZXIpLCAoTWFrZURSSUhlYWRlciksIChNYWtlSGVhZGVycyksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2pwZWdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAgQWRkIGEganBlZyBkZXBheWxvYWRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgU2V0IHRoZSBkZWZhdWx0IHByb3BlcnRpZXMgb24gdGhlIHBheWxvYWRlciB0byBiZXR0ZXIgZGVmYXVsdHMuCgoyMDA4LTExLTE0IDE1OjQyOjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyLmM6IEdpdmUgaXQgYSBwcmltYXJ5IHJhbmsgZm9yIGF1dG92aWRlb3NyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICBHaXZlIGl0IGEgcHJpbWFyeSByYW5rIGZvciBhdXRvdmlkZW9zcmMuCgoyMDA4LTExLTE0IDExOjQxOjU1ICswMDAwICBCam9ybiBPc3RieSA8Ympvcm5vc0BheGlzLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgSlBFRyBwYXlsb2FkZXIuIEZpeGVzICM1NjA3NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmpvcm4gT3N0YnkgPGJqb3Jub3MgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzogKGdzdF9ydHBfanBlZ19wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2pwZWdfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfanBlZ19wYXlfaGVhZGVyX3NpemUpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9yZWFkX3F1YW50X3RhYmxlKSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfc2Nhbl9tYXJrZXIpLCAoZ3N0X3J0cF9qcGVnX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfanBlZ19wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBBZGQgSlBFRyBwYXlsb2FkZXIuIEZpeGVzICM1NjA3NTYuCgoyMDA4LTExLTEzIDE3OjQ1OjU5ICswMDAwICBGYWJyaWNpbyBHb2RveSA8c2thcmxsb3RAZ21haWwuY29tPgoKCSAgc3lzLzogRml4IHNvbWUgc3BlbGxpbmcgbWlzdGFrZXMuIEZpeGVzICM1NTY4MDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmFicmljaW8gR29kb3kgPHNrYXJsbG90IGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3Npbmtfb3Blbik6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9tbWFwKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRml4IHNvbWUgc3BlbGxpbmcgbWlzdGFrZXMuIEZpeGVzICM1NTY4MDIuCgoyMDA4LTExLTEzIDE2OjI0OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIHByZXNldHMgZm9yIGVxdWFsaXplci4gRml4ZXMgIzUyMjE4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9Hc3RJaXJFcXVhbGl6ZXIxMEJhbmRzLnByczoKCSAgKiBnc3QvZXF1YWxpemVyL0dzdElpckVxdWFsaXplcjNCYW5kcy5wcnM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBBZGQgcHJlc2V0cyBmb3IgZXF1YWxpemVyLiBGaXhlcyAjNTIyMTgzLgoKMjAwOC0xMS0xMyAxNjoxNzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUmVtb3ZlIGdvb2dsZSBleHRlbnNpb24gYWdhaW4sIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlIGJlY2F1c2Ugd2UgbmV2ZXIgc2VuZCBtdWx0aXBsZSB0cmFuc3BvcnRzIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5oOgoJICBSZW1vdmUgZ29vZ2xlIGV4dGVuc2lvbiBhZ2FpbiwgaXQncyBub3QgbmVlZGVkIGFueW1vcmUgYmVjYXVzZSB3ZSBuZXZlcgoJICBzZW5kIG11bHRpcGxlIHRyYW5zcG9ydHMgYW55bW9yZS4KCjIwMDgtMTEtMTMgMTY6MTE6MTYgKzAwMDAgIEVyaWMgWmhhbmcgPGNoYW8uemhhbmdAYWNjZXNzLWNvbXBhbnkuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIE5BVCB0cmF2ZXJzYWwgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEVyaWMgWmhhbmcgPGNoYW8uemhhbmcgYXQgYWNjZXNzLWNvbXBhbnkgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9uYXRfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmtzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfZHVtbXlfcGFja2V0cyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgTkFUIHRyYXZlcnNhbCBtZXRob2QuCgkgIElnbm9yZSBFT1MgZnJvbSB0aGUgaW50ZXJuYWwgc2lua3MuCgkgIEltcGxlbWVudCBzZW5kaW5nIGR1bW15IHBhY2tldHMgYXMgYSAoc2ltcGxlKSBtZXRob2QgdG8gb3BlbiB1cAoJICBzb21lIGZpcmV3YWxscy4KCSAgU2VuZCBQTEFZIHJlcXVlc3QgdG8gdGhlIHNlcnZlciBhZnRlciB3ZSBzdGFydGVkIHRoZSB1ZHAgc291cmNlcy4KCSAgRml4ZXMgIzU1OTU0NS4KCjIwMDgtMTEtMTMgMTQ6MDQ6NDAgKzAwMDAgIFlvdGFtIDxzaC55b3RhbUBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRmx1c2ggdGhlIHJlbWFpbmluZyBmcmFtZXMgb24gRU9TLiBGaXhlcyAjNTYwNjQxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdGFtIDxzaCBkb3QgeW90YW0gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICBGbHVzaCB0aGUgcmVtYWluaW5nIGZyYW1lcyBvbiBFT1MuIEZpeGVzICM1NjA2NDEuCgoyMDA4LTExLTEyIDE2OjM3OjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBwcmludGYgZm9ybWF0dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwX2c3MjlfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBwcmludGYgZm9ybWF0dGluZy4KCjIwMDgtMTEtMTIgMTE6NTU6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogUXVldWUgdXAgbmV3IHNlZ21lbnQgZXZlbnRzIGluc3RlYWQgb2Ygc2VuZGluZyB0aGVtIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmggKHN0cnVjdCBfR3N0UVREZW11eCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9kb19zZWVrKTogUXVldWUgdXAgbmV3CgkgIHNlZ21lbnQgZXZlbnRzIGluc3RlYWQgb2Ygc2VuZGluZyB0aGVtIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkLgoJICBGaXhlcyAjNTU5Mjg4LgoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9wZW5kaW5nX25ld3NlZ21lbnQpOiBOZXcgaGVscGVyLCBzZW5kcyBvdXQKCSAgcXVldWVkIG5ld3NlZ21lbnQgZXZlbnRzLgoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6IFZvaWzDoCwgY2FsbCBpdCBoZXJlLiBPbmx5IG5lZWQgdG8KCSAgY2FsbCBpdCBoZXJlLCBhcyB3ZSBvbmx5IHNlZWsgd2hlbiBsb29waW5nLCBhbmQgb25seSBwdXNoIGluIHRoZQoJICBtb3ZpZSBzdGF0ZS4KCjIwMDgtMTEtMTEgMTk6NTI6MDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgY292ZXIgYW5kIGFsdGVybmF0aXZlIGNvcHlyaWdodCB0YWcsIGFuZCBlbmhhbmNlIHNvbWUgZXhpc3Rpbmcgb25lcyBieSBtYXJraW5nIHRoZW0gYXMgY29udGFpbmVyIGF0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdGFnX2FkZF90bXBvKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9jb3ZyKSwgKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBjb3ZlciBhbmQgYWx0ZXJuYXRpdmUgY29weXJpZ2h0IHRhZywgYW5kIGVuaGFuY2Ugc29tZSBleGlzdGluZwoJICBvbmVzIGJ5IG1hcmtpbmcgdGhlbSBhcyBjb250YWluZXIgYXRvbXMuCgoyMDA4LTExLTExIDE3OjMzOjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cF9nNzI5X3BheV9zZXRfY2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgoyMDA4LTExLTExIDE3OjI5OjAzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lio6IFJlcGxhY2UgRzcyOSBwYXlsb2FkZXIgd2l0aCBhbiBpbXByb3ZlZCB2ZXJzaW9uLiBGaXhlcyAjNTMyNDA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cF9nNzI5X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyOV9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfcGF5X3NldF9jYXBzKSwgKGdzdF9ydHBfZzcyOV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIFJlcGxhY2UgRzcyOSBwYXlsb2FkZXIgd2l0aCBhbiBpbXByb3ZlZCB2ZXJzaW9uLiBGaXhlcyAjNTMyNDA5LgoKMjAwOC0xMS0xMSAxNjowMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogT25seSBzZW5kIG9uZSB0cmFuc3BvcnQgYXQgYSB0aW1lIGZvciBpbXByb3ZlZCBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBicm9rZW4gc2VydmVycy4gU2VlICM1My4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgT25seSBzZW5kIG9uZSB0cmFuc3BvcnQgYXQgYSB0aW1lIGZvciBpbXByb3ZlZCBjb21wYXRpYmlsaXR5IHdpdGggc29tZQoJICBicm9rZW4gc2VydmVycy4gU2VlICM1Mzc4MzIuCgoyMDA4LTExLTExIDE1OjE2OjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBPbmx5IHBhdXNlL3BsYXkgaW4gdGhlIHNlZWsgaGFuZGxlciB3aGVuIHRoZSBzb3VyY2Ugd2FzIHBsYXlpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2RvX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKToKCSAgT25seSBwYXVzZS9wbGF5IGluIHRoZSBzZWVrIGhhbmRsZXIgd2hlbiB0aGUgc291cmNlIHdhcyBwbGF5aW5nLgoJICBGaXhlcyAjNTI5Mzc5LgoKMjAwOC0xMS0xMSAxMjoxODoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggbXV4aW5nIG9mIERpcmFjIHN0cmVhbXMgaWYgdGhlIGlucHV0IGFscmVhZHkgaGFzIHRoZSBmb3JtYXQgd2UgbmVlZCwgaS5lLiBpcyB0aGUgb3V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX2RpcmFjX3BhY2tldCk6CgkgIEZpeCBtdXhpbmcgb2YgRGlyYWMgc3RyZWFtcyBpZiB0aGUgaW5wdXQgYWxyZWFkeSBoYXMgdGhlIGZvcm1hdAoJICB3ZSBuZWVkLCBpLmUuIGlzIHRoZSBvdXRwdXQgb2YgbWF0cm9za2FkZW11eC4KCjIwMDgtMTEtMTEgMTA6MDY6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IERvbid0IHNlZ2ZhdWx0IG9uIHN0cmluZyB0eXBlZCB0YWdzIGJlaW5nIE5VTEwuIEZpeGVzICM1NjAxNTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIERvbid0IHNlZ2ZhdWx0IG9uIHN0cmluZyB0eXBlZCB0YWdzIGJlaW5nIE5VTEwuIEZpeGVzICM1NjAxNTUuCgoyMDA4LTExLTEwIDE2OjQ0OjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG1hcHBpbmcgQUFDIHByb2ZpbGUgdG8gTWF0cm9za2EgY29kZWMgaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGFhY19jb2RlY19kYXRhX3RvX2NvZGVjX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBGaXggbWFwcGluZyBBQUMgcHJvZmlsZSB0byBNYXRyb3NrYSBjb2RlYyBpZC4KCjIwMDgtMTEtMTAgMTY6MzY6MDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZWZhY3RvciBzb21lIHJhdyBhdWRpbyBjYXBzIGJ1aWxkaW5nLCBhbmQgaGFuZGxlID4xNi1iaXQgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgUmVmYWN0b3Igc29tZSByYXcgYXVkaW8gY2FwcyBidWlsZGluZywgYW5kIGhhbmRsZSA+MTYtYml0IGNhc2VzLgoJICBGaXgvcmVwbGFjZSBidWlsZGluZyBjYXBzIGZyb20gYSBzdHJpbmcgZGVzY3JpcHRpb24uCgoyMDA4LTExLTEwIDEzOjU5OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC86IE1ha2UgYXV0aG9yIG5hbWUgY29uc2lzdGVudCB3aXRoIG90aGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBNYWtlIGF1dGhvciBuYW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlcnMuCgoyMDA4LTExLTEwIDEyOjEzOjIxICswMDAwICBFcmljIFpoYW5nIDxjaGFvLnpoYW5nQGFjY2Vzcy1jb21wYW55LmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUGF1c2UgdGhlIFJUU1Agc3RyZWFtIGJlZm9yZSBkb2luZyBhIG5ldyBwbGF5IHJlcXVlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogRXJpYyBaaGFuZyA8Y2hhby56aGFuZyBhdCBhY2Nlc3MtY29tcGFueSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgUGF1c2UgdGhlIFJUU1Agc3RyZWFtIGJlZm9yZSBkb2luZyBhIG5ldyBwbGF5IHJlcXVlc3QuCgkgIE1ha2Ugc3VyZSB0aGF0IGFkZGluZyB0aGUgdWRwc2lua3MgZG9lcyBub3QgY2F1c2UgdGhlIHJ0c3BzcmMgdG8gYmVjb21lCgkgIGEgc2luay4gRml4ZXMgIzU1OTU0Ny4KCjIwMDgtMTEtMDUgMTQ6NDI6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEltcGxlbWVudCBEaXJhYyBtdXhpbmcgaW50byBNYXRyb3NrYSBjb21mb3JtaW5nIHRvIHRoZSBzcGVjLCBpLmUuIHB1dCBhbGwgRGlyYWMgcGFja2FnZXMgdXAgdG8gYSBwaWN0dS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX3BhZF9mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX2RpcmFjX3BhY2tldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBJbXBsZW1lbnQgRGlyYWMgbXV4aW5nIGludG8gTWF0cm9za2EgY29tZm9ybWluZyB0byB0aGUgc3BlYywgaS5lLgoJICBwdXQgYWxsIERpcmFjIHBhY2thZ2VzIHVwIHRvIGEgcGljdHVyZSBpbnRvIGEgTWF0cm9za2EgYmxvY2suCgkgIFRPRE86IEltcGxlbWVudCB3cml0aW5nIG9mIHRoZSBSZWZlcmVuY2VCbG9jayBNYXRyb3NrYSBlbGVtZW50cywKCSAgY3VycmVudGx5IHRoZSBEaXJhYyBtdXhpbmcgaXMgb25seSAxMDAlIGNvcnJlY3QgaWYgTWF0cm9za2EgdmVyc2lvbiAyCgkgIGlzIHNlbGVjdGVkIGZvciBtdXhpbmcuCgoyMDA4LTExLTA0IDEyOjMyOjQ4ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBPcHRpb25hbGx5IHVzZSBsaWJ2NGwgdG8gYWNjZXNzIHY0bDIgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDUwMzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4sCgkgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGUgYXQgZmVkb3JhcHJvamVjdCBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfY2xvc2UpLAoJICAoZ3N0X3Y0bDJfZ2V0X25vcm0pLCAoZ3N0X3Y0bDJfc2V0X25vcm0pLCAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksCgkgIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfbmV3KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldyksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9hY3RpdmF0ZSksCgkgIChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X25lYXJlc3Rfc2l6ZSk6CgkgIE9wdGlvbmFsbHkgdXNlIGxpYnY0bCB0byBhY2Nlc3MgdjRsMiBkZXZpY2VzLiBGaXhlcyBidWcgIzU0NTAzMy4KCjIwMDgtMTEtMDQgMTI6Mjg6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkgICogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoKMjAwOC0xMC0zMSAxODoxNzo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvTWFrZWZpbGUuYW06IEluY2x1ZGUgJChGTEFDX0NGTEFHUykgaW4gQ0ZMQUdTIHRvIG1ha2Ugc3VyZSB0byBmaW5kIHRoZSBGTEFDIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICBJbmNsdWRlICQoRkxBQ19DRkxBR1MpIGluIENGTEFHUyB0byBtYWtlIHN1cmUgdG8gZmluZCB0aGUgRkxBQyBoZWFkZXJzLgoJICBUaGlzIGZpeGVzIGNvbXBpbGF0aW9uIGlmIEZMQUMgaXMgaW5zdGFsbGVkIGluIGFuIHVuY29tbW9uIGxvY2F0aW9uCgkgIHRoYXQgaXMgbm90IGFscmVhZHkgaGFuZGxlZCBieSBvdGhlciBDRkxBR1MuIEZpeGVzIGJ1ZyAjNTU4NzExLgoKMjAwOC0xMC0zMSAxMDowODo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogR3VhcmQgbW9yZSB1bmNvbW1vbiBmb3JtYXRzIHdpdGggaWZkZWZzIHNvIHRoYXQgd2UgY2FuIGNvbXBpbGUgb24gb2xkZXIgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2Zvcm1hdF9nZXRfcmFuayk6CgkgIEd1YXJkIG1vcmUgdW5jb21tb24gZm9ybWF0cyB3aXRoIGlmZGVmcyBzbyB0aGF0IHdlIGNhbiBjb21waWxlIG9uIG9sZGVyCgkgIHZlcnNpb25zLgoKMjAwOC0xMC0zMSAxMDowMDoxOCArMDAwMCAgTmljayBIYWRkYWQgPG5pY2tAaGFkZGFkcy5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEludmVydCBvdGhlciB1bmNvbXByZXNzZWQgUkdCIGZvcm1hdHMuIEZpeGVzICM1NTg1NTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTmljayBIYWRkYWQgPG5pY2sgYXQgaGFkZGFkcyBkb3QgbmV0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaXNfdW5jb21wcmVzc2VkKSwKCSAgKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBJbnZlcnQgb3RoZXIgdW5jb21wcmVzc2VkIFJHQiBmb3JtYXRzLiBGaXhlcyAjNTU4NTU0LgoKMjAwOC0xMC0zMCAxNTowODo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogQWRkIHN1cHBvcnQgZm9yIGZsb2F0L2RvdWJsZSBhcyBpbnB1dCBhbmQgcmVtb3ZlIHRoZSAobm93YWRheXMpIHVzZWxlc3MgcGFyc2luZyBvZiB0aGUgZGVwdGggLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZmxvYXQvZG91YmxlIGFzIGlucHV0IGFuZCByZW1vdmUgdGhlIChub3dhZGF5cykKCSAgdXNlbGVzcyBwYXJzaW5nIG9mIHRoZSBkZXB0aCBhcyB3ZSByZXF1aXJlIHdpZHRoPT1kZXB0aC4KCjIwMDgtMTAtMzAgMTA6MzE6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogTmFycm93IGRvd24gdGhlIGNhcHMgb2YgdGhlIG1wZWcgYXVkaW8gcGF5L2RlcGF5bG9hZGVycyB0byBvbmx5IGFjY2VwdCBtcGVnIHZlcnNpb24gMS4gRml4ZXMgIzU1ODQyNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgTmFycm93IGRvd24gdGhlIGNhcHMgb2YgdGhlIG1wZWcgYXVkaW8gcGF5L2RlcGF5bG9hZGVycyB0byBvbmx5IGFjY2VwdAoJICBtcGVnIHZlcnNpb24gMS4gRml4ZXMgIzU1ODQyNy4KCjIwMDgtMTAtMjkgMTg6Mjg6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiBPbmx5IHB1dCBhbiBpbnRlZ3JhbCBhbW91bnQgb2Ygc2FtcGxlcyBpbiB0aGUgUlRQIHBhY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9mbHVzaCksCgkgIChnc3RfcnRwX0wxNl9wYXlfZ2V0Y2Fwcyk6CgkgIE9ubHkgcHV0IGFuIGludGVncmFsIGFtb3VudCBvZiBzYW1wbGVzIGluIHRoZSBSVFAgcGFja2V0LgoJICBGaXhlcyAjNTU2NjQxLgoKMjAwOC0xMC0yOCAxNzo0MjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuKjogQWRkIG1ldGhvZCB0byBnZXQgcG9zc2libGUgY2hhbm5lbCBwb3NpdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzogKGdzdF9ydHBfY2hhbm5lbHNfZ2V0X2J5X2luZGV4KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkgIEFkZCBtZXRob2QgdG8gZ2V0IHBvc3NpYmxlIGNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOC0xMC0yOCAxNzozOTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IEFsc28gY29tbWl0IHVwZGF0ZWQgbWFrZWZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgQWxzbyBjb21taXQgdXBkYXRlZCBtYWtlZmlsZQoKMjAwOC0xMC0yOCAxNDo1NjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogRG9uJ3QgYWxsb3cgd2lkdGg9MzIsZGVwdGg9MjQgYXMgaW5wdXQuIFdBViByZXF1aXJlcyB0aGF0IHRoZSB3aWR0aCBpcyB0aGUgbmV4dCBpbnRlZ2VyIG11bHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgRG9uJ3QgYWxsb3cgd2lkdGg9MzIsZGVwdGg9MjQgYXMgaW5wdXQuIFdBViByZXF1aXJlcyB0aGF0IHRoZSB3aWR0aAoJICBpcyB0aGUgbmV4dCBpbnRlZ2VyIG11bHRpcGx5IG9mIDggZnJvbSB0aGUgZGVwdGguCgoyMDA4LTEwLTI4IDEwOjAxOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBtYXBwaW5ncyBmb3IgbXVsdGljaGFubmVsIHN1cHBvcnQuIERvZXMgbm90IGNvbXBsZXRlbHkganVzdCB3b3JrIGJlY2F1c2UgdGhlIGdldGNhcHMgZnVuY3Rpb24gZG9lcyBub3QgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9wYXlfZ2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOiAoY2hlY2tfY2hhbm5lbHMpLAoJICAoZ3N0X3J0cF9jaGFubmVsc19nZXRfYnlfcG9zKSwgKGdzdF9ydHBfY2hhbm5lbHNfZ2V0X2J5X29yZGVyKSwKCSAgKGdzdF9ydHBfY2hhbm5lbHNfY3JlYXRlX2RlZmF1bHQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgQWRkIG1hcHBpbmdzIGZvciBtdWx0aWNoYW5uZWwgc3VwcG9ydC4gRG9lcyBub3QgY29tcGxldGVseSBqdXN0IHdvcmsKCSAgYmVjYXVzZSB0aGUgZ2V0Y2FwcyBmdW5jdGlvbiBkb2VzIG5vdCB5ZXQgcmV0dXJuIHRoZSBhbGxvd2VkIGNoYW5uZWwKCSAgbWFwcGluZ3MuIFNlZSAjNTU2NjQxLgoKMjAwOC0xMC0yOCAwNjo1MDo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20vOiBBZGQgbGljZW5zZSBoZWFkZXJzIGluIGFsbCBzb3VyY2UgZmlsZXMuIFJlbW92ZSBmaWx0ZXIuYyBmcm9tCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL1JFQURNRToKCSAgKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2RyYXdtZXRob2RzLmM6CgkgICogZ3N0L2dvb20vZHJhd21ldGhvZHMuaDoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgICogZ3N0L2dvb20vZmlsdGVyc19tbXguczoKCSAgKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSAgKiBnc3QvZ29vbS9nb29tLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICAqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJICAqIGdzdC9nb29tL2dvb21fZnguaDoKCSAgKiBnc3QvZ29vbS9nb29tX2dyYXBoaWMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5jOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3R5cGVkZWZzLmg6CgkgICogZ3N0L2dvb20vZ29vbV92aXN1YWxfZnguaDoKCSAgKiBnc3QvZ29vbS9ncmFwaGljLmM6CgkgICogZ3N0L2dvb20vaWZzLmM6CgkgICogZ3N0L2dvb20vaWZzLmg6CgkgICogZ3N0L2dvb20vbGluZXMuYzoKCSAgKiBnc3QvZ29vbS9saW5lcy5oOgoJICAqIGdzdC9nb29tL21hdGh0b29scy5jOgoJICAqIGdzdC9nb29tL21hdGh0b29scy5oOgoJICAqIGdzdC9nb29tL21teC5jOgoJICAqIGdzdC9nb29tL21vdGlmX2dvb20xLmg6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTIuaDoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3BwY19kcmF3aW5ncy5oOgoJICAqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLmg6CgkgICogZ3N0L2dvb20vc291bmRfdGVzdGVyLmM6CgkgICogZ3N0L2dvb20vc291bmRfdGVzdGVyLmg6CgkgICogZ3N0L2dvb20vc3VyZjNkLmM6CgkgICogZ3N0L2dvb20vc3VyZjNkLmg6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJICAqIGdzdC9nb29tL3RlbnRhY2xlM2QuaDoKCSAgKiBnc3QvZ29vbS92M2QuYzoKCSAgKiBnc3QvZ29vbS92M2QuaDoKCSAgKiBnc3QvZ29vbS94bW14LmM6CgkgIEFkZCBsaWNlbnNlIGhlYWRlcnMgaW4gYWxsIHNvdXJjZSBmaWxlcy4gUmVtb3ZlIGZpbHRlci5jIGZyb20KCSAgRVhUUkFfRElTVCwgYXMgaXRzIGluIFNPVVJDRVMgYWxyZWFkeS4gTWVudGlvbiB0aGUgZmlsZXMgaW4gdGhlIFJFRE1FCgkgIHdoaWNoIGFyZSBub3QgdXNlZCByaWdodCBub3cuIEZpeGVzICM1NTc3MDkuCgoyMDA4LTEwLTI3IDExOjI4OjMwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogSW1wbGVtZW50IGdldGNhcHMgaW4gcnRwTDE2cGF5LiBGaXhlcyAjNTU2NDg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX0wxNl9wYXlfZ2V0Y2Fwcyk6CgkgIEltcGxlbWVudCBnZXRjYXBzIGluIHJ0cEwxNnBheS4gRml4ZXMgIzU1NjQ4NC4KCjIwMDgtMTAtMjcgMTE6MDM6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IENoZWNrIGlmIGNsb2NrLXJhdGUgYW5kIGNoYW5uZWxzIGFyZSB2YWxpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9wcm9jZXNzKToKCSAgQ2hlY2sgaWYgY2xvY2stcmF0ZSBhbmQgY2hhbm5lbHMgYXJlIHZhbGlkLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzogKGdzdF9ydHBfYWMzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9jYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgb3V0cHV0IGNhcHMgb24gdGhlIGJ1ZmZlcnMsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IKCSAgdXMuCgkgIFRoZSBzdWJjbGFzcyB3aWxsIG1ha2Ugc3VyZSB3ZSBhcmUgbmVnb3RpYXRlZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzogKGdzdF9ydHBfZHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2R2X2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9kdl9kZXBheV9yZXNldCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFRoZSBzdWJjbGFzcyB3aWxsIG1ha2Ugc3VyZSB3ZSBhcmUgbmVnb3RpYXRlZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOiAoZ3N0X3J0cF9nNzI2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiAoZ3N0X3J0cF9nNzI5X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI5X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkgIFRoZSBzdWJjbGFzcyB3aWxsIG1ha2Ugc3VyZSB3ZSBhcmUgbmVnb3RpYXRlZC4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2dzbV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9zZXRjYXBzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOiAoZ3N0X3J0cF9oMjYzX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M19wYXlfZmx1c2gpLCAoZ3N0X3J0cF9oMjYzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgIERvIHNvbWUgbW9yZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgRG8gc29tZSBtb3JlIHRpbWVzdGFtcHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgRml4IHBvc3NpYmxlIGNhcHMgbGVhay4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2lsYmNfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2lua19zZXRjYXBzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOiAoZ3N0X3J0cF9tcDFzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6IChnc3RfcnRwX21wNGFfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6IChnc3RfcnRwX21wYV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIEFjdHVhbGx5IHNldCBvdXRwdXQgY2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6IChnc3RfcnRwX21wdl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3BjbWFfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFNldCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3BjbXVfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfc3BlZXhfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFNldCBvdXRwdXQgY2FwcyBvbiB0aGUgcGFkIGFuZCBoZWFkZXIgYnVmZmVycy4KCSAgU2V0IGR1cmF0aW9uIG9uIG91dHB1dCBidWZmZXJzIGJlY2F1c2Ugd2UgY2FuLgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X3BhcnNlX2lkZW50KToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG91dCBvdXRwdXQgYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0LgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZsdXNoX3BhY2tldCksIChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyksIChnc3RfcnRwX3RoZW9yYV9wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IChnc3RfcnRwX3ZyYXdfZGVwYXlfc2V0Y2Fwcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24sIGRvbid0IGlnbm9yZSBzZXRjYXBzIHJldHVybi4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzogKGdzdF9ydHBfdnJhd19wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoKMjAwOC0xMC0yNyAxMDozNTowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGb3J3YXJkIHVua25vd24gZXZlbnRzIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgRm9yd2FyZCB1bmtub3duIGV2ZW50cyB1cHN0cmVhbS4KCjIwMDgtMTAtMjcgMTA6MzM6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiBBZGQgc29tZSByZWZjb3VudCBjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoaWN5ZGVtdXhfZm91bmRfcGFkKToKCSAgQWRkIHNvbWUgcmVmY291bnQgY2hlY2sKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOiAocnRwX3BpcGVsaW5lX3J1bik6CgkgIERvbid0IGlnbm9yZSB0aGUgcmVzdWx0IG9mIHdyaXRlKCksIGZpeGVzIGEgIGNvbXBpbGVyIHdhcm5pbmcgZm9yIG1lLgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvYm94LXRlc3QuYzogKG1haW4pOgoJICBNYWtlIHRoZSBvdXRwdXQgYSBsaXR0bGUgbW9yZSBwcmV0dHkuCgoyMDA4LTEwLTI3IDA5OjI2OjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZXNkL2VzZG1vbi5jOiBBZGQgZG9jIGJsb2IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgIEFkZCBkb2MgYmxvYi4KCjIwMDgtMTAtMjcgMDk6MjE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB0aGUgZG9jcyBvZiB0aGUgbmV3IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgIEFkZCB0aGUgZG9jcyBvZiB0aGUgbmV3IGVsZW1lbnRzLgoKMjAwOC0xMC0yNyAwOTowNDozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBGaXggIlNpbmNlIiB0YWdzIGluIHRoZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NyY19jbGFzc19pbml0KToKCSAgRml4ICJTaW5jZSIgdGFncyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMTAtMjcgMDk6MDA6MjkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBzb3VwaHR0cHNyYyB0byBhY3QgYXMgYSBsaXZlIHNvdXJjZS4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBnZXQgdGltZXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBzdXBwb3J0IGZvciBzb3VwaHR0cHNyYyB0byBhY3QgYXMgYSBsaXZlIHNvdXJjZS4gVGhpcyBtYWtlcyBpdAoJICBwb3NzaWJsZSB0byBnZXQgdGltZXN0YW1wZWQgYnVmZmVycyBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZQoJICAiZG8tdGltZXN0YW1wIiBwcm9wZXJ0eS4gRml4ZXMgYnVnICM1NTYwMTkuCgoyMDA4LTEwLTI3IDA4OjU0OjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IEltcGxlbWVudCBzcmMgcGx1Z2lucy4gTGl0dGxlIGNvZGUvc3RyaW5nIGNsZWFudXAgaW4gdGhlIHNpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuaDoKCSAgSW1wbGVtZW50IHNyYyBwbHVnaW5zLiBMaXR0bGUgY29kZS9zdHJpbmcgY2xlYW51cCBpbiB0aGUgc2lua3MuCgkgIEZpeGVzICM1MjM4MTMuCgoyMDA4LTEwLTI3IDA4OjQ1OjExICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IGEgbWVtb3J5IGxlYWsgd2hlbiBwYWRzIGFyZSByZXF1ZXN0ZWQgYnV0IHRoZSBwaXBlbGluZSBuZXZlciBnb2VzIGludG8gUExBWUlORy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpOgoJICBGaXggYSBtZW1vcnkgbGVhayB3aGVuIHBhZHMgYXJlIHJlcXVlc3RlZCBidXQgdGhlIHBpcGVsaW5lIG5ldmVyCgkgIGdvZXMgaW50byBQTEFZSU5HLgoJICBDb3JyZWN0bHkgcmVtb3ZlIHJlcXVlc3QgcGFkcywgbm8gbWF0dGVyIGlmIHRoZXkgaGF2ZSBjb2xsZWN0ZWQKCSAgZGF0YSBvciBub3QuCgkgIEZpeGVzIGJ1ZyAjNTU3NzEwLgoKMjAwOC0xMC0yNyAwODo0MDowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOiBEZWZpbmUgdGhlIGNvcnJlY3QgV0lOVkVSIHNvIGdldGFkZGluZm8oKSBjYW4gYmUgdXNlZCB3aGVuIHVzaW5nIG1pbmd3MzIuIEZpeGVzIGJ1ZyAjNTU3Mjk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBEZWZpbmUgdGhlIGNvcnJlY3QgV0lOVkVSIHNvIGdldGFkZGluZm8oKSBjYW4gYmUgdXNlZCB3aGVuIHVzaW5nCgkgIG1pbmd3MzIuIEZpeGVzIGJ1ZyAjNTU3Mjk0LgoKMjAwOC0xMC0yNyAwODozNjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC86IEZpeCAiYXJndW1lbnQgdHlwZSBtaXNtYXRjaCIgY29tcGlsZXIgd2FybmluZ3Mgb24gV2luZG93cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfcmVuZGVyKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEZpeCAiYXJndW1lbnQgdHlwZSBtaXNtYXRjaCIgY29tcGlsZXIgd2FybmluZ3Mgb24gV2luZG93cy4KCSAgRml4ZXMgYnVnICM1NTcyOTMuCgoyMDA4LTEwLTI3IDA4OjMwOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBjYWxjdWxhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIgYnV0IG9ubHkgd2hlbiBpdCdzIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKHVwZGF0ZV9jb2VmZmljaWVudHMpOgoJICBEb24ndCBjYWxjdWxhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIKCSAgYnV0IG9ubHkgd2hlbiBpdCdzIG5lZWRlZC4gRml4ZXMgYnVnICM1NTcyNjAuCgoyMDA4LTEwLTI2IDIwOjA1OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjExLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTEuMQoKMjAwOC0xMC0yNiAyMDowNDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QtcGx1Z2lucy1nb29kLmRvYXA6IEZpeCB2ZXJzaW9uIG51bWJlciBvZiAwLjEwLjExIHJlbGVhc2UgaW4gZG9hcCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgRml4IHZlcnNpb24gbnVtYmVyIG9mIDAuMTAuMTEgcmVsZWFzZSBpbiBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTEgPT09CgoyMDA4LTEwLTI0IDIyOjQxOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4xMQoKMjAwOC0xMC0yNCAyMjoyMDo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0xMC0yNCAxNjozMDo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjEwLjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC4xMC40IHByZS1yZWxlYXNlCgoyMDA4LTEwLTIxIDEyOjQyOjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCBWUFJQIGNodW5rIHNldHVwIGluIGF2aW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRml4IFZQUlAgY2h1bmsgc2V0dXAgaW4gYXZpbXV4LgoJICBGaXhlczogIzU1NjAxMAoJICBQYXRjaCBCeTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoyMDA4LTEwLTIxIDEyOjM4OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IHN1cHBvcnQgZHluYW1pY2FsbHkgY2hhbmdpbmcgcHJvcGVydGllcyBpbiB2aWRlb2JveAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgc3VwcG9ydCBkeW5hbWljYWxseSBjaGFuZ2luZyBwcm9wZXJ0aWVzIGluIHZpZGVvYm94CgkgIEZpeGVkOiAjNTU3MDg1CgkgIFBhdGNoIEJ5OiBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKMjAwOC0xMC0xNiAxNzoxMDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuMTAuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuMTAuMyBwcmUtcmVsZWFzZQoKMjAwOC0xMC0xNiAxNTozMDoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRG9uJ3QgcnVuIHRoZSBzdGF0ZXMgdGVzdCBvbiBwdWxzZXNyYyBhbmQgcHVsc2VzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEb24ndCBydW4gdGhlIHN0YXRlcyB0ZXN0IG9uIHB1bHNlc3JjIGFuZCBwdWxzZXNpbmsKCjIwMDgtMTAtMTYgMTE6NTI6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC4xMC4yIHByZS1yZWxlYXNlIGJ1bXAgdGhhdCBhY3R1YWxseSB3ZW50IG91dCBvbiAyMDA4LTEwLTExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuMTAuMiBwcmUtcmVsZWFzZSBidW1wIHRoYXQgYWN0dWFsbHkgd2VudAoJICBvdXQgb24gMjAwOC0xMC0xMQoKMjAwOC0xMC0xNSAxNTo0MjoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU2tpcCBlbnRyaWVzIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIG91dHB1dCBwYWQgeWV0LCB0aGVyZWJ5IGF2b2lkaW5nIGNhbGxpbmcgcGFkIGZ1bmN0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgU2tpcCBlbnRyaWVzIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIG91dHB1dCBwYWQgeWV0LCB0aGVyZWJ5CgkgIGF2b2lkaW5nIGNhbGxpbmcgcGFkIGZ1bmN0aW9ucyB3aXRoIGEgTlVMTCBwYWQuCgkgIEZpeGVzICM1NTY0MjQKCjIwMDgtMTAtMTUgMDk6Mzk6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBwcmV2aW91cyB3cm9uZyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgcHJldmlvdXMgd3JvbmcgY29tbWl0CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKGljeWRlbXV4X2ZvdW5kX3BhZCk6CgkgIFJlbW92ZSBwcm9ibGVtYXRpYyBhbmQgdXNlbGVzcyByZWZjb3VudCBjaGVjay4KCSAgRml4ZXMgIzU1NjM4MQoKMjAwOC0xMC0xNSAwOToyNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHByb2JsZW1hdGljIGFuZCB1c2VsZXNzIHJlZmNvdW50IGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX25vZGUpOgoJICBSZW1vdmUgcHJvYmxlbWF0aWMgYW5kIHVzZWxlc3MgcmVmY291bnQgY2hlY2suCgkgIEZpeGVzICM1NTYzODEKCjIwMDgtMTAtMTAgMTI6Mjg6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZsYWMvOiBDYXN0IHNvbWUgc2l6ZV90IGFyZ3VtZW50cyB0byBndWludCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyBvbiA2NC1iaXQgc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY19kZWNfcmVhZF9zdHJlYW0pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYyAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgQ2FzdCBzb21lIHNpemVfdCBhcmd1bWVudHMgdG8gZ3VpbnQgdG8gYXZvaWQgY29tcGlsZXIKCSAgd2FybmluZ3Mgb24gNjQtYml0IHN5c3RlbXMuCgoyMDA4LTEwLTA5IDE0OjI3OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZXR1cm4gVFJVRSBpbnN0ZWFkIG9mIEZBTFNFIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIgd2hlbiB3ZSBzd2FsbG93ZWQgdGhlIGV2ZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KToKCSAgUmV0dXJuIFRSVUUgaW5zdGVhZCBvZiBGQUxTRSBmcm9tIHRoZSBldmVudCBoYW5kbGVyIHdoZW4gd2Ugc3dhbGxvd2VkIHRoZQoJICBldmVudC4KCjIwMDgtMTAtMDggMTU6NTk6NTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgcmVtb3ZlIG9sZCBDRElPIHBsdWdpbiBub3cgaW4gdWdseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG9sZCBDRElPIHBsdWdpbiBub3cgaW4gdWdseQoKMjAwOC0xMC0wOCAxNDo0NzoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUmVzZXQgaGVhZGVyIHN0YXRlLiBGaXhlcyAjNTU1MzIxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCk6CgkgIFJlc2V0IGhlYWRlciBzdGF0ZS4gRml4ZXMgIzU1NTMyMS4KCjIwMDgtMTAtMDggMTM6MzE6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IEZvciB0aW1lc3RhbXBpbmcgYXVkaW8gcGFja2V0cyB3ZSBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBhbW91bnQgb2YgYmxvY2tzIGluIG9uZSBlbnRyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIEZvciB0aW1lc3RhbXBpbmcgYXVkaW8gcGFja2V0cyB3ZSBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50IHRoZQoJICBhbW91bnQgb2YgYmxvY2tzIGluIG9uZSBlbnRyeSB1c2luZyB0aGUgYmxvY2thbGlnbi4gRml4ZXMgc29tZSBzeW5jCgkgIGlzc3VlcyB3aXRoIHplcm8tcGFkZGVkIGF1ZGlvIGJsb2NrcyBpbiB0aGUgYmVnaW5uaW5nIG9mIGF2aSBmaWxlcy4KCjIwMDgtMTAtMDggMTA6NDI6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBJbXBsZW1lbnQgREVGQVVMVCBhbmQgQlVGRkVSIHBvc2l0aW9uIHF1ZXJpZXMuIFNlZSAjNTU1MjYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpX2ZpbGVfc3JjX3F1ZXJ5KToKCSAgSW1wbGVtZW50IERFRkFVTFQgYW5kIEJVRkZFUiBwb3NpdGlvbiBxdWVyaWVzLiBTZWUgIzU1NTI2MC4KCjIwMDgtMTAtMDggMDk6Mjk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggYnVpbGQgZm9yIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIFhEYW1hZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19zdG9wKToKCSAgRml4IGJ1aWxkIGZvciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSBYRGFtYWdlLgoKMjAwOC0xMC0wNyAwOTo1ODoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC86IEFkZCBzb21lIG1vcmUgSDI2M3Agc2VydmVyIGFuZCBjbGllbnQgZXhhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkgIEFkZCBzb21lIG1vcmUgSDI2M3Agc2VydmVyIGFuZCBjbGllbnQgZXhhbXBsZXMuCgoyMDA4LTEwLTAzIDE3OjAzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOjoKCSAgRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIGJhc2UuCgoyMDA4LTEwLTAzIDE2OjEzOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlLzogUmV0dXJuIC0xIGluc3RlYWQgb2YgMCBpbiBlcnJvciBjYXNlcy4gRml4ZXMgIzU1NDc3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua193cml0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfcmVhZCk6CgkgIFJldHVybiAtMSBpbnN0ZWFkIG9mIDAgaW4gZXJyb3IgY2FzZXMuIEZpeGVzICM1NTQ3NzEuCgoyMDA4LTEwLTAzIDE1OjU0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogU3RvcCBsZWFraW5nIHRoZSBjdXJzb3IgaW1hZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19zdGFydCksCgkgIChnc3RfeGltYWdlX3NyY19zdG9wKSwgKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBTdG9wIGxlYWtpbmcgdGhlIGN1cnNvciBpbWFnZS4KCSAgVW5yZWYgdGhlIGxhc3RfeGltYWdlIGFuZCB0aGUgY2FjaGVkIGN1cnNvciBpbWFnZSBvbiBzaHV0ZG93bi4KCSAgRml4ZXMgIzU1MTU3MC4KCjIwMDgtMTAtMDMgMTE6MzI6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6IEdldHRpbmcgdGhlIENsYXNzIGZyb20gYW4gaW5zdGFuY2UgaXMgbm90IGp1c3QgYSBtYXR0ZXIgb2YgY2FzdGluZyBpdCB0byB0aGUgY2xhc3Mgc3RydWN0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICBHZXR0aW5nIHRoZSBDbGFzcyBmcm9tIGFuIGluc3RhbmNlIGlzIG5vdCBqdXN0IGEgbWF0dGVyIG9mIGNhc3RpbmcgaXQgdG8KCSAgdGhlIGNsYXNzIHN0cnVjdCBidXQgaXQgaW52b2x2ZXMgY2FsbGluZyBHX09CSkVDVF9HRVRfQ0xBU1Mgb24gdGhlCgkgIGluc3RhbmNlLiBGaXhlcyAjNTQ5Nzg0LgoKMjAwOC0xMC0wMSAyMToyMjoyNiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgY29uZmlndXJlLmFjOiBGaXggbGlicyBmb3IgbGlua2luZyBkaXJlY3Rzb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggbGlicyBmb3IgbGlua2luZyBkaXJlY3Rzb3VuZC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEZpeCBidWZmZXIgc2l6aW5nIHRvIHByZXZlbnQgcmFjaW5nIHRoZSByaW5nYnVmZmVyIGF0IHN0YXJ0dXAuCgkgIEFkZCB2b2x1bWUgcHJvcGVydHkuCgoyMDA4LTA5LTI3IDAwOjQzOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogRml4IHByb2JsZW1zIHdpdGggcHVsc2VzaW5rIHJhbmRvbWx5IGVycm9yaW5nIHdpdGggY29kZSAnT0snIGFmdGVyIGEgZm9ybWF0IGNoYW5nZSBvbiB0aGUgc3RyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIEZpeCBwcm9ibGVtcyB3aXRoIHB1bHNlc2luayByYW5kb21seSBlcnJvcmluZyB3aXRoIGNvZGUgJ09LJyBhZnRlciBhCgkgIGZvcm1hdCBjaGFuZ2Ugb24gdGhlIHN0cmVhbSBieSB3YWl0aW5nIHdoZW4gZGlzY29ubmVjdGluZyB0aGUgc3RyZWFtLgoKMjAwOC0wOS0yNiAxNDo0NDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogTWFyayBESVNDT05UIG9uIG91dHB1dCBidWZmZXJzIHdoZW4gdGhlIG1hcmtlciBiaXQgc2lnbmFscyBhIG5ldyB0YWxrIHNwdXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICBNYXJrIERJU0NPTlQgb24gb3V0cHV0IGJ1ZmZlcnMgd2hlbiB0aGUgbWFya2VyIGJpdCBzaWduYWxzIGEgbmV3IHRhbGsKCSAgc3B1cnQuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgU2V0IHRoZSBtYXJrZXIgYml0IGZvciBidWZmZXJzIHdpdGggYSBESVNDT05UIGZsYWcgdG8gc2lnbmFsIGEgdGFsawoJICBzcHVydC4KCjIwMDgtMDktMjYgMTM6NTU6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgTVA0QS1MQVRNIHBheWxvYWRlciB0byBtYXRjaCB0aGUgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogKGdzdF9ydHBfbXA0YV9wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9tcDRhX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfaW5pdCksIChnc3RfcnRwX21wNGFfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfcGFyc2VfYXVkaW9fY29uZmlnKSwgKGdzdF9ydHBfbXA0YV9wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0YV9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX21wNGFfcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX21wNGFfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSAgQWRkZWQgTVA0QS1MQVRNIHBheWxvYWRlciB0byBtYXRjaCB0aGUgZGVwYXlsb2FkZXIuCgoyMDA4LTA5LTI1IDE1OjExOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBIYW5kbGUgc2VnbWVudHMgYSBsaXR0bGUgYmV0dGVyLiBGaXhlcyAjNTM3MzYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9zaW5rX2V2ZW50KToKCSAgSGFuZGxlIHNlZ21lbnRzIGEgbGl0dGxlIGJldHRlci4gRml4ZXMgIzUzNzM2MS4KCjIwMDgtMDktMjUgMTI6MDc6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGFzc3VtZSB0aGUgc2VydmVyIHN1cHBvcnRzIFBBVVNFIGJ5IGRlZmF1bHQuIEZpeGVzICM1NTEwNDguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpOgoJICBEb24ndCBhc3N1bWUgdGhlIHNlcnZlciBzdXBwb3J0cyBQQVVTRSBieSBkZWZhdWx0LiBGaXhlcyAjNTUxMDQ4LgoKMjAwOC0wOS0yNSAxMTozMDozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFN3aXRjaCBvbiB0aGUgc29ja2V0IGZhbWlseSB0byBnZXQgdGhlIGFkZHJsZW4gc2l6ZSByaWdodC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX3NldF91cmkpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFN3aXRjaCBvbiB0aGUgc29ja2V0IGZhbWlseSB0byBnZXQgdGhlIGFkZHJsZW4gc2l6ZSByaWdodC4KCjIwMDgtMDktMjUgMTA6MzQ6MzkgKzAwMDAgIERhbmllbCBGcmFua2UgPGRmQGRmcmFua2UudXM+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBPUyBYJ3MgYmluZCgpIGltcGxlbWVudGF0aW9uIGlzIHBpY2t5IGFib3V0IGl0cyBhZGRybGVuIHBhcmFtZXRlciBhbmQgZmFpbHMgd2l0aCBFSU5WQUwgaWYgaXQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgRnJhbmtlIDxkZiBhdCBkZnJhbmtlIGRvdCB1cz4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIE9TIFgncyBiaW5kKCkgaW1wbGVtZW50YXRpb24gaXMgcGlja3kgYWJvdXQgaXRzIGFkZHJsZW4gcGFyYW1ldGVyIGFuZAoJICBmYWlscyB3aXRoIEVJTlZBTCBpZiBpdCBpcyBsYXJnZXIgdGhhbiBleHBlY3RlZCBmb3IgdGhlIHNvY2tldCdzIGFkZHJlc3MKCSAgZmFtaWx5LiBTZXQgdGhlIGxlbmd0aCB0byB0aGUgZXhwZWN0ZWQgbGVuZ3RoIGluc3RlYWQuIEZpeGVzICM1NTMxOTEuCgoyMDA4LTA5LTIzIDE4OjA4OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgY2Fubm90IGRvIGRlc3JpYmUgb3Igd2hlbiB0aGUgZGVzY3JpYmUgcmVzdWx0IGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgY2Fubm90IGRvIGRlc3JpYmUgb3Igd2hlbiB0aGUgZGVzY3JpYmUgcmVzdWx0CgkgIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBTRFAgbWVzc2FnZS4KCjIwMDgtMDktMjMgMTc6MzE6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBGaXggc2V0dGluZyB0aGUgcW9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpOgoJICBGaXggc2V0dGluZyB0aGUgcW9zLgoKMjAwOC0wOS0xNyAxNDo1MDo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU29tZSAnYnJva2VuJyBmaWxlcyBvdXQgdGhlcmUgaGF2ZSBhdG9tIGxlbmd0aHMgb2YgemVyby4uLiB3aGljaCBiYXNpY2FsbHkgcmVzdWx0cyBpbiBxdGRlbXV4IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIFNvbWUgJ2Jyb2tlbicgZmlsZXMgb3V0IHRoZXJlIGhhdmUgYXRvbSBsZW5ndGhzIG9mIHplcm8uLi4KCSAgd2hpY2ggYmFzaWNhbGx5IHJlc3VsdHMgaW4gcXRkZW11eCBjb25zdW1pbmcgdGhhdCBhdG9tIGFnYWluIGFuZCBhZ2FpbgoJICB1bnRpbCB0aGUgKmVuZCBvZiBuaWdodCogIQoJICBEZXRlY3QgdGhhdCBhbmQgZW1pdHMgYW4gYWRlcXVhdGUgZWxlbWVudCBlcnJvciBtZXNzYWdlLgoKMjAwOC0wOS0xNyAxMzo0OTowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggYnVpbGQgZmxhZ3Mgb3JkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIGZsYWdzIG9yZGVyLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGb3JtYXQgZml4ZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIFB1bGwgaW4gdW5pc3RkLmgKCjIwMDgtMDktMTUgMjE6MTA6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS4qOiBIYW5kbGUgaW50ZXJsZWF2ZWQgc3RyZWFtcyBieSByZW9yZGVyaW5nIEFVIGluIGEgcXVldWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsZWFyX3F1ZXVlKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9mbHVzaF9xdWV1ZSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcXVldWUpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgSGFuZGxlIGludGVybGVhdmVkIHN0cmVhbXMgYnkgcmVvcmRlcmluZyBBVSBpbiBhIHF1ZXVlLgoKMjAwOC0wOS0xNSAxNjowNDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IENoYW5nZSBzb21lIG9mIHRoZSByYW5nZXMgaW4gdGhlIGNhcHMsIG1vc3RseSBmb3IgdGhlIGFtb3VudCBvZiBiaXRzIHdlIGNhbiB1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfYnNfcGFyc2VfaW5pdCksCgkgIChnc3RfYnNfcGFyc2VfcmVhZCksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIENoYW5nZSBzb21lIG9mIHRoZSByYW5nZXMgaW4gdGhlIGNhcHMsIG1vc3RseSBmb3IgdGhlIGFtb3VudCBvZiBiaXRzIHdlCgkgIGNhbiB1c2UuCgkgIEFkZGVkIGEgbGl0dGxlIGJpdHN0cmVhbSBwYXJzZSBhbmQgdXNlIGl0IHRvIHBhcnNlIHRoZSBBVSBoZWFkZXIgZmllbGRzLgoJICBDaGVjayBmb3IgbWFsZm9ybWVkIGFuZCB3cm9uZ2x5IHNpemVkIHBhY2tldHMgYmV0dGVyLgoJICBJbXBsZW1lbnQgbW9yZSBoZWFkZXIgZmllbGQgcGFyc2luZy4KCSAgSGFuZGxlIHRoZSBzaXplIG9mIGZyYWdtZW50ZWQgcGFja2V0cyBjb3JyZWN0bHkuCgoyMDA4LTA5LTE0IDExOjMyOjE1ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgbWFwcGluZyBmb3IgJ3RpZmYnID0+IGltYWdlL3RpZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBtYXBwaW5nIGZvciAndGlmZicgPT4gaW1hZ2UvdGlmZgoJICBGaXhlcyAjNTUyMjEzCgoyMDA4LTA5LTExIDExOjI2OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3JhdzEzOTQvOiBQcmV0ZW5kIHRvIGNhcmUgYWJvdXQgdGhlIHJlc3VsdCBvZiB3cml0ZSgpIHdoaWNoIHdvcmtzIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChTRU5EX0NPTU1BTkQpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzogKFNFTkRfQ09NTUFORCk6CgkgIFByZXRlbmQgdG8gY2FyZSBhYm91dCB0aGUgcmVzdWx0IG9mIHdyaXRlKCkgd2hpY2ggd29ya3MgYXJvdW5kCgkgIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0wOS0wNCAwOToyNTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogTWFrZSBzdXJlIHRoZSBkZXNpcmVkIGRlZmF1bHQgdmFsdWVzIGFyZSBhY3R1YWxseSBzZXQsIG5vdCBvbmx5IHJlZ2lzdGVyZWQgYXMgZGVmYXVsdHMgKGFjdHVhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfY2xhc3NfaW5pdCk6CgkgIE1ha2Ugc3VyZSB0aGUgZGVzaXJlZCBkZWZhdWx0IHZhbHVlcyBhcmUgYWN0dWFsbHkgc2V0LCBub3Qgb25seQoJICByZWdpc3RlcmVkIGFzIGRlZmF1bHRzIChhY3R1YWwgcHJvYmxlbSBpcyB0aGF0IHRoZSBzdGVyZW8tc3BlY2lmaWMKCSAgdmFsdWVzIGFyZSBvbmx5IHVwZGF0ZWQgaWYgY2hhbm5lbHM9PTIsIHdoaWNoIGlzIG5vdCB0aGUgY2FzZSB5ZXQKCSAgd2hlbiB0aGUgb2JqZWN0IGlzIGNyZWF0ZWQsIHNvIHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlCgkgIG1pZC1zaWRlLXN0ZXJlbyBhbmQgbG9vc2UtbWlkLXNpZGUtc3RlcmVvIHNldHRpbmdzIGFyZSBuZXZlcgoJICBzZXQgaW4gX3VwZGF0ZV9xdWFsaXR5KCkpLiBNYWtlcyBmbGFjZW5jIGNyZWF0ZSBzbWFsbGVyIGZpbGVzIGJ5CgkgIGRlZmF1bHQgKGZvciBzdGVyZW8gaW5wdXQpLCBhbmQgZml4ZXMgIzU1MDc5MS4KCjIwMDgtMDktMDMgMTI6Mzk6MzUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8vbWoyIG1pbWUtdHlwZSBhbmQgaXRzIGFkZGl0aW9uYWwgYXRvbXMvYm94ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChxdGRlbXV4X3BhcnNlX25vZGUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdmlkZW8vbWoyIG1pbWUtdHlwZSBhbmQgaXRzIGFkZGl0aW9uYWwgYXRvbXMvYm94ZXMuCgkgIEZpeGVzICM1NTA2NDYuCgoyMDA4LTA5LTAzIDExOjEwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IEFkZCB3YXJuaW5nIHdoZW4gdGFncyBwYXJhbWV0ZXIgaXMgdW5wYXJzYWJsZSBhbmQgZ2l2ZSBleGFtcGxlIGZvciBxdW90aW5nIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkgIEFkZCB3YXJuaW5nIHdoZW4gdGFncyBwYXJhbWV0ZXIgaXMgdW5wYXJzYWJsZSBhbmQgZ2l2ZSBleGFtcGxlIGZvcgoJICBxdW90aW5nIGluIHRoZSBkb2NzLgoKMjAwOC0wOS0wMiAxNToyNzo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIG1hcHBpbmcgZm9yIElNQSBMb2tpIFNETCBNSlBFRyBBRFBDTSBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIG1hcHBpbmcgZm9yIElNQSBMb2tpIFNETCBNSlBFRyBBRFBDTSBjb2RlYy4KCSAgQWRkIHNvbWUgYWx0ZXJuYXRpdmUgYnl0ZXN3YXBwZWQgbWFwcGluZ3MgdGhhdCBzZWVtIHRvIHBvcCB1cCBzb21ldGltZXMuCgkgIEZpeGVzICM1NTAyODguCgoyMDA4LTA5LTAyIDA5OjQwOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vOiBBZGQgJ2NhJyB0byBMSU5HVUFTOyBhZGQgc29tZSBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zIGFuZCBzb21lIGZpbGVzIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkIGJ5IHRyYW5zbGF0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vUE9URklMRVMuaW46CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkICdjYScgdG8gTElOR1VBUzsgYWRkIHNvbWUgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucyBhbmQgc29tZQoJICBmaWxlcyB3aGljaCBzaG91bGQgYmUgaWdub3JlZCBieSB0cmFuc2xhdGlvbiB0b29scy4KCjIwMDgtMDktMDIgMDg6NTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zcGVleC86IFVzZSBpbnRlZ2VyIGVuY29kaW5nIGFuZCBkZWNvZGluZyBmdW5jdGlvbnMgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIHRoZSBpbnRlZ2VyIGlucHV0IHRvIGZsb2F0IGluIHRoZSBlbGVtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfZW5jb2RlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgVXNlIGludGVnZXIgZW5jb2RpbmcgYW5kIGRlY29kaW5nIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcKCSAgdGhlIGludGVnZXIgaW5wdXQgdG8gZmxvYXQgaW4gdGhlIGVsZW1lbnQuIFRoZSBsaWJzcGVleCBpbnRlZ2VyCgkgIGZ1bmN0aW9ucyBhcmUgZG9pbmcgdGhpcyBmb3IgdXMgYWxyZWFkeSBvciwgaWYgbGlic3BlZXggd2FzIGNvbXBpbGVkCgkgIGluIGludGVnZXIgbW9kZSwgdGhleSdyZSBkb2luZyBldmVyeXRoaW5nIHVzaW5nIGludGVnZXIgYXJpdGhtZXRpY3MuCgkgIEFsc28gc2F2ZXMgc29tZSBjb3B5aW5nIGFyb3VuZC4KCjIwMDgtMDktMDEgMTM6Mjk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDA4LTA4LTMxIDE3OjA5OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGFuZCBzdHJlYW0gZGlzY29udGludWl0aWVzIGNvcnJlY3RseS4gVGhpcyBvbmx5IGhhcyBhbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBhbmQgc3RyZWFtIGRpc2NvbnRpbnVpdGllcwoJICBjb3JyZWN0bHkuIFRoaXMgb25seSBoYXMgYW4gZWZmZWN0IGlmIHdlJ3JlIG11eGluZyBpbnRvCgkgIGEgY29udGFpbmVyIGZvcm1hdCBhcyB0aGUgcmF3IFdhdlBhY2sgc3RyZWFtIG11c3QgY29udGFpbgoJICBjb250aW5vdXMgc2FtcGxlIG51bWJlcnMuCgoyMDA4LTA4LTMxIDE1OjAyOjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQ29ycmVjdCB0aGUgdGltZXN0YW1wIGFuZCBncmFudWxlcG9zIGNhbGN1bGF0aW9uIGJ5IG9uZSBTcGVleCBmcmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2VuY29kZSk6CgkgIENvcnJlY3QgdGhlIHRpbWVzdGFtcCBhbmQgZ3JhbnVsZXBvcyBjYWxjdWxhdGlvbiBieSBvbmUgU3BlZXgKCSAgZnJhbWUuCgoyMDA4LTA4LTMxIDE0OjM5OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kCgkgIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgaW4gdmFyaW91cyBjYWxjdWxhdGlvbnM6IHRoZQoJICBncmFudWxlcG9zIGlzIHRoZSBzYW1wbGUgbnVtYmVyIG9mIHRoZSBfbGFzdF8gc2FtcGxlIGluIGEgZnJhbWUsIG5vdAoJICB0aGUgZmlyc3QuCgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX3NpbmtldmVudCksCgkgIChnc3Rfc3BlZXhfZW5jX2VuY29kZSksIChnc3Rfc3BlZXhfZW5jX2NoYWluKSwKCSAgKGdzdF9zcGVleF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgaW4gdGhlIGVuY29kZXIgYW5kIGRldGVjdC9oYW5kbGUKCSAgc3RyZWFtIGRpc2NvbnRpbnVpdGllcy4gRml4ZXMgYnVnICM1NDcwNzUuCgoyMDA4LTA4LTMxIDA4OjMyOjQ1ICswMDAwICBDcmFpZyBLZW9naCA8Y3NrZW9naEBhZGFtLmNvbS5hdT4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBwYXNzaW5nIGEgc3RyaW5nIGFzIGZvcm1hdCBzdHJpbmcgaW5zdGVhZCBvZiAiJXMiIGFuZCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENyYWlnIEtlb2doIDxjc2tlb2doIGF0IGFkYW0gZG90IGNvbSBkb3QgYXU+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOiAoZ3N0X2NtbWxfcGFyc2VyX3BhcnNlX2NodW5rKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBwYXNzaW5nIGEgc3RyaW5nIGFzIGZvcm1hdCBzdHJpbmcKCSAgaW5zdGVhZCBvZiAiJXMiIGFuZCB0aGVuIHRoZSBzdHJpbmcuIFRoaXMgaXMgb25seSBleHBvc2VkIGJ5IC1XZm9ybWF0PTIKCSAgYXMgdXNlZCBieSBkZWZhdWx0IG9uIFVidW50dS4gRml4ZXMgYnVnICM1NTAwMTUuCgoyMDA4LTA4LTMwIDE0OjE1OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZSBzdHVmZiBjb21waWxlIHdpdGggR1NUX0RJU0FCTEVfR1NUX0RFQlVHLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6IChnc3RfaGR2MTM5NHNyY19jcmVhdGUpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2dldF91bml0X3NpemUpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6IChnZW5lcmF0ZV9jb2VmZmljaWVudHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpOgoJICBNYWtlIHN0dWZmIGNvbXBpbGUgd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcuCgoyMDA4LTA4LTI5IDAwOjI4OjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGF3LzogUmVmIGNhcHMgYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoKSwgc2luY2UgdGhhdCB0YWtlcyBvd25lcnNoaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy5jOgoJICAqIGdzdC9sYXcvbXVsYXcuYzoKCSAgUmVmIGNhcHMgYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoKSwgc2luY2UgdGhhdCB0YWtlcwoJICBvd25lcnNoaXAuCgoyMDA4LTA4LTI4IDEwOjA5OjE2ICswMDAwICBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC86IENvbnZlcnQgYXVkaW8veC1hZHBjbSB0byBhbmQgZnJvbSB0aGUgYXVkaW8vRzcyNi1YIGluIHRoZSBtdXhlciBhbmQgZGVtdXhlci4gRml4ZXMgIzU0OTU1MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2dldF9taW1lKToKCSAgQ29udmVydCBhdWRpby94LWFkcGNtIHRvIGFuZCBmcm9tIHRoZSBhdWRpby9HNzI2LVggaW4gdGhlIG11eGVyIGFuZAoJICBkZW11eGVyLiBGaXhlcyAjNTQ5NTUxLgoKMjAwOC0wOC0yNyAxNjoxMjozOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3hhdWRpby86IEZpeCB0aGUgYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3Npbmtfc2VsZWN0X2RldmljZSk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19jcmVhdGVfcmluZ2J1ZmZlciksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19zZWxlY3RfZGV2aWNlKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOiAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgRml4IHRoZSBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA4LTI3IDE1OjQyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IFNtYWxsIGRvY3MgZml4OiBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZSwgd2UgbmVlZCB0byBwYXNzIGlyYWRpby1tb2RlPXRydWUgdG8gdGhlIHNvdXJjZSwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBTbWFsbCBkb2NzIGZpeDogaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmUsIHdlIG5lZWQgdG8gcGFzcwoJICBpcmFkaW8tbW9kZT10cnVlIHRvIHRoZSBzb3VyY2UsIHNvIHRoZSBzZXJ2ZXIgYWN0dWFsbHkgc2VuZHMKCSAgYW4gSUNZIHN0cmVhbS4KCjIwMDgtMDgtMjcgMDA6MDg6MjAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOiBPb3BzLiBSZXZlcnQgbW9yZSBjb21wbGV0ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgT29wcy4gUmV2ZXJ0IG1vcmUgY29tcGxldGVseS4KCjIwMDgtMDgtMjYgMjM6NTc6MDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOiBSZXZlcnQgYWNjaWRlbnRhbCBlbGVtZW50IHJlbmFtZSBmcm9tIHRlc3RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICBSZXZlcnQgYWNjaWRlbnRhbCBlbGVtZW50IHJlbmFtZSBmcm9tIHRlc3RpbmcuCgoyMDA4LTA4LTI2IDIzOjUzOjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDogUHVsbCBpbiAwLjEwLjEwIGRvYXAgZW50cnkgZnJvbSByZWxlYXNlIGJyYW5jaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIFB1bGwgaW4gMC4xMC4xMCBkb2FwIGVudHJ5IGZyb20gcmVsZWFzZSBicmFuY2gKCjIwMDgtMDgtMjYgMjM6MDU6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgdmVyc2lvbiBudW1iZXIgdG8gcmVmbGVjdCAwLjEwLjEwIHJlbGVhc2UgZnJvbSBicmFuY2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIHZlcnNpb24gbnVtYmVyIHRvIHJlZmxlY3QgMC4xMC4xMCByZWxlYXNlIGZyb20KCSAgYnJhbmNoLgoKMjAwOC0wOC0yNiAyMToxMzowOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvLzogUmV3cml0ZSBjYXBzIHNldHRpbmcgYW5kIHJpbmcgYnVmZmVyIGluaXRpYWxpc2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIFJld3JpdGUgY2FwcyBzZXR0aW5nIGFuZCByaW5nIGJ1ZmZlciBpbml0aWFsaXNhdGlvbi4KCSAgUHJldmlvdXNseSB3ZSBuZXZlciB0b2xkIENvcmVBdWRpbyB3aGF0IGZvcm1hdCB3ZSB3ZXJlIGdvaW5nIHRvIHNlbmQgaXQsCgkgIHNvIGl0IG9ubHkgd29ya2VkIGR1ZSB0byBsdWNrLCBhbmQgbm90IGF0IGFsbCBvbiBzb21lIGhhcmR3YXJlLgoJICBOb3cgd2UgZXhwbGljaXRseSBhZHZlcnRpc2Ugd2hhdCBmb3JtYXRzIHRoZSBoYXJkd2FyZSBzdXBwb3J0cywgYW5kIHRoZW4KCSAgY29uZmlndXJlIHRoZSBzZWxlY3RlZCBvbmUgY29ycmVjdGx5LgoKMjAwOC0wOC0yNiAxMjoyNzoxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBGaXggbWVtb3J5IGxlYWtzLiBTbWFsbCBjb2RlIGNsZWFudXBzIDogTm8gbmVlZCBmb3IgZW1wdHkgX2luaXQoKS4gTm8gbmVlZCB0byBtZW1zZXQgaW5zdGFuY2Ugc3RydWN0dXJlcy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBtZW1vcnkgbGVha3MuIFNtYWxsIGNvZGUgY2xlYW51cHMgOiBObyBuZWVkIGZvciBlbXB0eSBfaW5pdCgpLiBObwoJICBuZWVkIHRvIG1lbXNldCBpbnN0YW5jZSBzdHJ1Y3R1cmVzLiBTb21lIG1vcmUgRklYTUUncy4KCjIwMDgtMDgtMjYgMDg6MTE6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDgtMDgtMjYgMDg6MDA6NTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IElnbm9yZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vLmN2c2lnbm9yZToKCSAgKiBnc3QvZ29vbTJrMS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgZmlsZXMuCgoyMDA4LTA4LTI2IDA3OjUxOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDgtMjYgMDU6NDI6MTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEZpeCBvYnZpb3VzIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBGaXggb2J2aW91cyBtZW1sZWFrLgoKMjAwOC0wOC0yNSAxNDoxNTo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBSZWFsW0F1ZGlvfFZpZGVvXSBzdXBwb3J0IHRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgIEFkZCBSZWFsW0F1ZGlvfFZpZGVvXSBzdXBwb3J0IHRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIEl0IHdvcmtzIGZpbmUgZm9yOgoJICAqIGRlY29kaW5nIHJlYWwgYXVkaW8vdmlkZW8gc3RyZWFtcyBjb250YWluZWQgaW4gbWt2CgkgICogJ3RyYW5zbXV4aW5nJyByZWFsICgucm0pIGZpbGVzIGludG8gLm1rdiBmaWxlcwoJICBJdCB3aWxsIG5vdCB3b3JrIHRob3VnaCBmb3IgZW5jb2RpbmcgcmVhbFthdWRpby92aWRlb10gc3RyZWFtcyB0aGF0CgkgIGRvbid0IGNvbnRhaW4gdGhlICdtZHByX2RhdGEnIGV4dHJhIGRhdGEgb24gdGhlIGNhcHMuCgkgIFRoZSByZWFzb24gd2h5IHRoaXMgd2lsbCBub3Qgd29yayBpcyBiZWNhdXNlIEkgbmV2ZXIgaW50ZW5kZWQgdG8KCSAgZHVwbGljYXRlIHZpcnR1YWxseSBhbGwgdGhlICdtZHByJyBibG9jayBjcmVhdGlvbiBpbnRvIG1rdm11eC4KCSAgRml4ZXMgIzUzNjA2NwoKMjAwOC0wOC0yNSAwOTo0ODowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBUaGUgZW5jb2RlciBjYW4ndCByZWFsbHkgcmVuZWdvdGlhdGUgYXQgdGhlIHRpbWUgdGhleSBwZXJmb3JtIGEgcGFkLWFsbG9jIHNvIG1ha2UgdGhlIHNyY3BhZHMgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3X2VuY19pbml0KSwgKGdzdF9hbGF3X2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19pbml0KSwKCSAgKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgIFRoZSBlbmNvZGVyIGNhbid0IHJlYWxseSByZW5lZ290aWF0ZSBhdCB0aGUgdGltZSB0aGV5IHBlcmZvcm0gYQoJICBwYWQtYWxsb2Mgc28gbWFrZSB0aGUgc3JjcGFkcyB1c2UgZml4ZWQgY2Fwcy4KCSAgQ2hlY2sgdGhlIGJ1ZmZlciBzaXplIGFmdGVyIGEgcGFkLWFsbG9jIGJlY2F1c2UgdGhlIHJldHVybmVkIHNpemUgbWlnaHQKCSAgbm90IGJlIHJpZ2h0IHdoZW4gdGhlIGRvd25zdHJlYW0gZWxlbWVudCBkb2VzIG5vdCBrbm93IHRoZSBzaXplIG9mIHRoZQoJICBuZXcgYnVmZmVyIChjYXBzZmlsdGVyKS4gRml4ZXMgIzU0OTA3My4KCjIwMDgtMDgtMjMgMTU6NDM6NDkgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IHY0bDJzcmMgZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgIm5vcm0iIHNvIGRvbid0IHRyeSB0byBub3RpZnkgYWJvdXQgY2hhbmdlcyB0byB0aGF0IHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwbyBkb3QgYXJnaW9sYXMgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtX2FuZF9ub3RpZnkpOgoJICB2NGwyc3JjIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IG5hbWVkICJub3JtIiBzbyBkb24ndCB0cnkgdG8gbm90aWZ5CgkgIGFib3V0IGNoYW5nZXMgdG8gdGhhdCBwcm9wZXJ0eS4gVGhlICJub3JtIiBwcm9wZXJ0eSBhbmQgcmVsYXRlZAoJICBjb2RlIGFyZSBjb21tZW50ZWQgb3V0IGN1cnJlbnRseS4gRml4ZXMgYnVnICM1NDkwOTAuCgoyMDA4LTA4LTIzIDE1OjMzOjQ5ICswMDAwICBNaWtlIFJ1cHJlY2h0IDxjbWFpa3VAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBSZXByb2JlIGRldmljZXMgYWdhaW4gaW5zdGVhZCBvZiB0YWtpbmcgYSBjYWNoZWQgbGlzdCBhcyBuZXcgZGV2aWNlcyBjb3VsZCd2ZSBiZWVuIHBsdWdnZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWlrZSBSdXByZWNodCA8Y21haWt1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyk6CgkgIFJlcHJvYmUgZGV2aWNlcyBhZ2FpbiBpbnN0ZWFkIG9mIHRha2luZyBhIGNhY2hlZCBsaXN0IGFzIG5ldwoJICBkZXZpY2VzIGNvdWxkJ3ZlIGJlZW4gcGx1Z2dlZCBpbi4gRml4ZXMgYnVnICM1NDkwNjIuCgoyMDA4LTA4LTIyIDE2OjA0OjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbTogRG9uJ3QgbGluayB0aGUgYXV0b2RldGVjdCBwbHVnaW4gd2l0aCBHQ29uZiBhcyBpdCBkb2Vzbid0IHVzZSBHQ29uZi4gRml4ZXMgYnVnICM1NDU0NjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICBEb24ndCBsaW5rIHRoZSBhdXRvZGV0ZWN0IHBsdWdpbiB3aXRoIEdDb25mIGFzIGl0IGRvZXNuJ3QKCSAgdXNlIEdDb25mLiBGaXhlcyBidWcgIzU0NTQ2My4KCjIwMDgtMDgtMjIgMTI6MjQ6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogQ2hhbmdlIHNvbWUgR1NUX0VMRU1FTlRfRVJST1JzIHRvIEdTVF9FUlJPUl9PQkpFQ1QgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBpZ25vcmUgZXJyb3JzIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9yZWFkX3VpbnQpLAoJICAoZ3N0X2VibWxfcmVhZF9zaW50KSwgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICBDaGFuZ2Ugc29tZSBHU1RfRUxFTUVOVF9FUlJPUnMgdG8gR1NUX0VSUk9SX09CSkVDVCB0byBtYWtlIGl0CgkgIHBvc3NpYmxlIHRvIGlnbm9yZSBlcnJvcnMgYW5kIG5vdCBwb3N0IGFueSBFUlJPUiBtZXNzYWdlcyBvbgoJICB0aGUgYnVzLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKToKCSAgSWdub3JlIGFueSBlcnJvcnMgYW5kIG5vdCBqdXN0IEVPUyB3aGVuIHBhcnNpbmcgdGhlIGNvbnRlbnRzIG9mCgkgIGEgU2Vla0hlYWQuIEVycm9ycyBoZXJlIGFyZSB1c3VhbGx5IGNhdXNlZCBieSB0cnVuY2F0ZWQgZmlsZXMKCSAgYW5kIHBsYXliYWNrIG9mIHRoZSBmaWxlIHdvcmtzIGZpbmUuIEZpeGVzIHBsYXliYWNrIG9mIHRoZQoJICBhdWRpb19vbmx5X2NoYXB0ZXJfc2Vla2Jyb2tlbi5ta2EgZmlsZSBmcm9tIHRoZSBNUGxheWVyIHNhbXBsZXMKCSAgYXJjaGl2ZS4KCjIwMDgtMDgtMjIgMTE6Mjk6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXVsdGlwYXJ0LzogQ29uZm9ybSB0byBSRkMyMDQ2LiBhdWRpby9iYXNpYyBpcyBtdWxhdyA4MDAwSHogbW9uby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIENvbmZvcm0gdG8gUkZDMjA0Ni4gYXVkaW8vYmFzaWMgaXMgbXVsYXcgODAwMEh6IG1vbm8uCgoyMDA4LTA4LTIxIDIxOjU2OjE5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsCgkgIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIEZpeCB0d28gbW9yZSBidWZmZXIgcmVmIGxlYWtzLgoKMjAwOC0wOC0yMSAxNToyODowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZpeCBidWZmZXIgcmVmIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEZpeCBidWZmZXIgcmVmIGxlYWsuCgoyMDA4LTA4LTIxIDEzOjI3OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBSZXZlcnQgdGhlIGxhc3QgY29tbWl0LiB3YXZlbmMgc3RpbGwgc3VwcG9ydHMgd2lkdGghPWRlcHRoIGZvciAzMiBiaXQgd2lkdGguIFRoYW5rcyBUaW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgUmV2ZXJ0IHRoZSBsYXN0IGNvbW1pdC4gd2F2ZW5jIHN0aWxsIHN1cHBvcnRzIHdpZHRoIT1kZXB0aCBmb3IgMzIgYml0CgkgIHdpZHRoLiBUaGFua3MgVGltLgoKMjAwOC0wOC0yMSAxMzoyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIHRoZSBkdXJhdGlvbiBvZiBhIGJsb2NrIGlzIHVua25vd24gb25seSB1c2UgdGhlIHRpbWVzdGFtcCBmb3IgdGhlIGZpcnN0IGxhY2UgYW5kIHVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBJZiB0aGUgZHVyYXRpb24gb2YgYSBibG9jayBpcyB1bmtub3duIG9ubHkgdXNlIHRoZSB0aW1lc3RhbXAgZm9yIHRoZQoJICBmaXJzdCBsYWNlIGFuZCB1c2UgR1NUX0NMT0NLX1RJTUVfTk9ORSBhcyBkdXJhdGlvbiBmb3IgdGhlIGZvbGxvd2luZwoJICBsYWNlcy4gT3RoZXJ3aXNlIGV2ZXJ5IGxhY2UgaGFzIHRoZSBzYW1lIHRpbWVzdGFtcCB3aGljaCBsZWFkcyB0bwoJICB2YXJpb3VzIHByb2JsZW1zLiBSZWFsbHkgZml4ZXMgYnVnICM1NDg4MzEuCgoyMDA4LTA4LTIxIDEyOjU2OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBJZiB3ZSdyZSBub3QgYWxsb3dpbmcgd2lkdGghPWRlcHRoIGluIHdhdmVuYyB3ZSBzaG91bGQgYWxzbyBkaXNhYmxlIHRoZSBjb2RlIHRoYXQgd2FzIGFkZGVkIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOgoJICBJZiB3ZSdyZSBub3QgYWxsb3dpbmcgd2lkdGghPWRlcHRoIGluIHdhdmVuYyB3ZSBzaG91bGQgYWxzbyBkaXNhYmxlCgkgIHRoZSBjb2RlIHRoYXQgd2FzIGFkZGVkIHRvIHN1cHBvcnQgd2lkdGghPWRlcHRoLgoKMjAwOC0wOC0yMSAxMjo1Mjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IERvbid0IGNhbGN1bGF0ZSB0aGUgZGVmYXVsdCBkdXJhdGlvbiBvZiBhIGZyYW1lIGZyb20gdGhlIGF1ZGlvIHNhbXBsaW5nIHJhdGUuIFRoaXMgb25sLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBjYWxjdWxhdGUgdGhlIGRlZmF1bHQgZHVyYXRpb24gb2YgYSBmcmFtZSBmcm9tIHRoZSBhdWRpbyBzYW1wbGluZwoJICByYXRlLiBUaGlzIG9ubHkgd29ya3MgZm9yIHJhdyBhdWRpbyBpZiBldmVyeSBmcmFtZSBjb250YWlucyBhIHNpbmdsZQoJICBzYW1wbGUgYW5kIHJlc3VsdHMgaW4gYnJva2VuIGJ1ZmZlciBkdXJhdGlvbnMgZm9yIG90aGVyIGZvcm1hdHMKCSAgaWYgbm8gc3BlY2lmaWVkIGRlZmF1bHQgZHVyYXRpb24gaXMgZ2l2ZW4gb3IgdGhlIGJsb2NrcyBoYXZlIG5vCgkgIGR1cmF0aW9uLiBGaXhlcyBidWcgIzU0ODgzMS4KCjIwMDgtMDgtMjEgMTI6MzQ6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBBbGxvdyB6ZXJvIHNpemVkIGJsb2NrcyBpbnN0ZWFkIG9mIHJldHVybmluZyBHU1RfRkxPV19PSy4gU3VjaCBibG9ja3MgYXJlIHVzZWQgZm9yIHRleC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgQWxsb3cgemVybyBzaXplZCBibG9ja3MgaW5zdGVhZCBvZiByZXR1cm5pbmcgR1NUX0ZMT1dfT0suIFN1Y2ggYmxvY2tzCgkgIGFyZSB1c2VkIGZvciB0ZXh0L3BsYWluIHN1YnRpdGxlcyBhcyBhIGdhcC1maWxsZXIgaW4gc29tZSBmaWxlcy4KCjIwMDgtMDgtMjEgMTI6MTI6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBTOTEwIGFuZCBQV0MgZm9ybWF0cyB3aXRoIGEgbG93IHByaW9yaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSksCgkgIChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKToKCSAgQWRkIFM5MTAgYW5kIFBXQyBmb3JtYXRzIHdpdGggYSBsb3cgcHJpb3JpdHkuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZm9ybWF0X2dldF9yYW5rKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIEFkZCBtb3JlIGRlYnVnZ2luZy4KCjIwMDgtMDgtMjAgMjE6NTQ6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IEZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG9sZGVyIGxpYmZsYWMgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGFnYWluc3Qgb2xkZXIgbGliZmxhYyB2ZXJzaW9ucy4KCjIwMDgtMDgtMjAgMTc6NDY6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IFVzZSBHU1RfQk9JTEVSUExBVEUgZXZlcnl3aGVyZSBhbmQgZml4IGNvZGluZyBzdHlsZSBhdCBzb21lIHBsYWNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZW1peGVyX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IChnc3RfcHVsc2VtaXhlcl9jdHJsX3N1YnNjcmliZV9jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX29wZW4pLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF90aW1lb3V0X2V2ZW50KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5jOiAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfbmV3KToKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfb3Blbik6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfaW5pdCksIChnc3RfcHVsc2VzaW5rX29wZW4pLAoJICAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKSwgKGdzdF9wdWxzZXNpbmtfd3JpdGUpLAoJICAoZ3N0X3B1bHNlc2lua19kZWxheSksIChnc3RfcHVsc2VzaW5rX3Jlc2V0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19pbml0KToKCSAgVXNlIEdTVF9CT0lMRVJQTEFURSBldmVyeXdoZXJlIGFuZCBmaXggY29kaW5nIHN0eWxlIGF0IHNvbWUgcGxhY2VzLgoJICBGaXggYSBsb2NraW5nIGlzc3VlIGluIHB1bHNlc2luaydzIHByZXBhcmUgZnVuY3Rpb24uCgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5jOiAoZ3N0X3B1bHNlX2NoYW5uZWxfbWFwX3RvX2dzdCk6CgkgIENoZWNrIGlmIHRoZSBjcmVhdGVkIGNoYW5uZWwgbGF5b3V0IGlzIHZhbGlkIGZvciBHU3RyZWFtZXIuCgoyMDA4LTA4LTIwIDE3OjQyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOiBUaGluZ3MgdGhhdCBjYW4gaGFwcGVuIHdoZW4geW91ciBicmFpbiBpcyBpbiBnb29nbGUgbW9kZSB0cnlpbmcgdG8gZGVhbCB3aXRoIHRoZWlyIGdvb2dsZSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSAgVGhpbmdzIHRoYXQgY2FuIGhhcHBlbiB3aGVuIHlvdXIgYnJhaW4gaXMgaW4gZ29vZ2xlIG1vZGUgdHJ5aW5nIHRvCgkgIGRlYWwgd2l0aCB0aGVpciBnb29nbGUgcnRzcCBzZXJ2ZXIgZXh0ZW5zaW9ucyBhbmQgdHJ5aW5nIHRvIHR5cGUgeW91cgoJICBnb29nbGUgbWFpbCBhY2NvdW50LgoKMjAwOC0wOC0yMCAxNzozMDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIGdvb2dsZSBSVFNQIGV4dGVuc2lvbiwgaXQgY2FuIG9ubHkgaGFuZGxlIHVkcCBhbmQgcmVzcG9uZHMgd2l0aCB1bnN1cHBvcnRlZCBpZiB3ZSBkbyBhbnl0aGluZyBlbHNlLiBGaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOiAoZ3N0X3J0c3BfZ29vZ2xlX2JlZm9yZV9zZW5kKSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9hZnRlcl9zZW5kKSwgKGdzdF9ydHNwX2dvb2dsZV9nZXRfdHJhbnNwb3J0cyksCgkgIChfZG9faW5pdCksIChnc3RfcnRzcF9nb29nbGVfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9jbGFzc19pbml0KSwgKGdzdF9ydHNwX2dvb2dsZV9pbml0KSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9maW5hbGl6ZSksIChnc3RfcnRzcF9nb29nbGVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9leHRlbnNpb25faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5oOgoJICBBZGQgZ29vZ2xlIFJUU1AgZXh0ZW5zaW9uLCBpdCBjYW4gb25seSBoYW5kbGUgdWRwIGFuZCByZXNwb25kcyB3aXRoCgkgIHVuc3VwcG9ydGVkIGlmIHdlIGRvIGFueXRoaW5nIGVsc2UuIEZpeGVzICM1NDY0NjUuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICBNYWtlIHRyYW5zcG9ydCBzZXR1cCBjb2RlIGEgYml0IGJldHRlciB1c2luZyBHU3RyaW5nLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnLgoJICBDaGVjayBmb3IgY2xvc2VkIGNvbm5lY3Rpb25zIGJlZm9yZSBkb2luZyBhbnl0aGluZyBvbiB0aGVtLgoKMjAwOC0wOC0yMCAxNzoxNzo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogSWYgZG93bnN0cmVhbSBwcm92aWRlcyBubyBjaGFubmVsIGxheW91dCBhbmQgPjIgY2hhbm5lbHMgc2hvdWxkIGJlIHVzZWQgdXNlIHRoZSBkZWZhdWx0IGxheW91dCB0aGF0IHB1bHNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3B1bHNlc3JjX25lZ290aWF0ZSksCgkgIChnc3RfcHVsc2VzcmNfcHJlcGFyZSk6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5jOiAoZ3N0X3B1bHNlX2dzdF90b19jaGFubmVsX21hcCksCgkgIChnc3RfcHVsc2VfY2hhbm5lbF9tYXBfdG9fZ3N0KToKCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIElmIGRvd25zdHJlYW0gcHJvdmlkZXMgbm8gY2hhbm5lbCBsYXlvdXQgYW5kID4yIGNoYW5uZWxzIHNob3VsZCBiZQoJICB1c2VkIHVzZSB0aGUgZGVmYXVsdCBsYXlvdXQgdGhhdCBwdWxzZWF1ZGlvIGNob29zZXMgYW5kIGFsc28KCSAgYWRkIHRoaXMgbGF5b3V0IHRvIHRoZSBjYXBzLiBGaXhlcyBidWcgIzU0NzI1OC4KCjIwMDgtMDgtMjAgMTE6NTE6MzggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC86IEF2b2lkIGxlYWtpbmcgaW50ZXJuYWxseSBhbGxvY2F0ZWQgZmlsZSBkZXNjcmlwdG9ycyB3aGVuIHNldHRpbmcgY3VzdG9tIGZpbGUgZGVzY3JpcHRvcnMuIEZpeGVzICM1NDMxMDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19pbml0KSwKCSAgKGdzdF9keW51ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9keW51ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHludWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X2R5bnVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19maW5hbGl6ZSksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfZmluYWxpemUpLAoJICAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBBdm9pZCBsZWFraW5nIGludGVybmFsbHkgYWxsb2NhdGVkIGZpbGUgZGVzY3JpcHRvcnMgd2hlbiBzZXR0aW5nCgkgIGN1c3RvbSBmaWxlIGRlc2NyaXB0b3JzLiBGaXhlcyAjNTQzMTAxLgoKMjAwOC0wOC0yMCAxMTo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgdHJ5IHRvIGNvbmZpZ3VyZSBSVENQIGJhY2sgdG8gdGhlIHNlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgZGlkIG5vdCBnaXZlIHVzIGEgdmFsaWQgcG9ydCBudS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgRG9uJ3QgdHJ5IHRvIGNvbmZpZ3VyZSBSVENQIGJhY2sgdG8gdGhlIHNlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgZGlkIG5vdAoJICBnaXZlIHVzIGEgdmFsaWQgcG9ydCBudW1iZXIuCgoyMDA4LTA4LTIwIDEwOjU5OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFVzZSBuZXcgYmFzZXRyYW5zZm9ybSBtZXRob2QgdG8gcmVuZWdvdGlhdGUuIEZpeGVzICM1NDQ5NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpOgoJICBVc2UgbmV3IGJhc2V0cmFuc2Zvcm0gbWV0aG9kIHRvIHJlbmVnb3RpYXRlLiBGaXhlcyAjNTQ0OTU2LgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvYm94LXRlc3QuYzogKG1ha2VfcGlwZWxpbmUpLCAobWFpbik6CgkgIEFkZCB2aWRlb2JveCByZW5lZ290aWF0aW9uIGV4YW1wbGUuCgoyMDA4LTA4LTE5IDIxOjAzOjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IFJlbW92ZSBkZXB0aCByYW5nZXMgYW5kIHJlcGxhY2Ugd2l0aCBzYW5lIHZhbHVlcy4gIEZpeGVzICM1NDg1MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IFJlbW92ZSBkZXB0aCByYW5nZXMgYW5kIHJlcGxhY2UKCSAgd2l0aCBzYW5lIHZhbHVlcy4gIEZpeGVzICM1NDg1MzAuCgoyMDA4LTA4LTE4IDE1OjA1OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBUaGUgYnl0ZXNfcGVyX3NhbXBsZSBhbmQgc2lsZW5jZV9zYW1wbGUgZmllbGRzIG9mIHRoZSBHc3RSaW5nQnVmZmVyU3BlYyBhcmUgYWxyZWFkeSBmaWxsZWQgd2l0aCB0aGUgY29ycmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19wcmVwYXJlKToKCSAgVGhlIGJ5dGVzX3Blcl9zYW1wbGUgYW5kIHNpbGVuY2Vfc2FtcGxlIGZpZWxkcyBvZiB0aGUgR3N0UmluZ0J1ZmZlclNwZWMKCSAgYXJlIGFscmVhZHkgZmlsbGVkIHdpdGggdGhlIGNvcnJlY3QgdmFsdWVzIGJ5CgkgIGdzdF9yaW5nX2J1ZmZlcl9wYXJzZV9jYXBzKCkgc28gdGhlcmUncyBubyBuZWVkIHRvIHNldCB0aGVtIGFnYWluCgkgIHdpdGggd3JvbmcgdmFsdWVzLgoKMjAwOC0wOC0xNiAxNDo1NDo1NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU29tZSBBVkkgMi4wIChPRE1MKSBmaWxlcyBkb24ndCByZXNwZWN0IHRoZSAnc3BlY2lmaWNhdGlvbnMnIGNvbXBsZXRlbHkgYW5kIGluc3RlYWQgb2YgdXNpbmcgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1c2gpOgoJICBTb21lIEFWSSAyLjAgKE9ETUwpIGZpbGVzIGRvbid0IHJlc3BlY3QgdGhlICdzcGVjaWZpY2F0aW9ucycgY29tcGxldGVseQoJICBhbmQgaW5zdGVhZCBvZiB1c2luZyB0aGUgJ2l4IyMnIG5vbWVuY2xhdHVyZSwgdXNlICcjI2l4Jy4KCSAgVGhleSdyZSBzdGlsbCB2YWxpZCB0aG91Z2gsIHRoaXMgZml4ZXMgdGhlIGR1cmF0aW9uIGFuZCBpbmRleGVzIGZvcgoJICB2aXJ0dWFsbHkgYWxsIHRoZSBPRE1MIGZpbGVzIEkgaGF2ZS4KCjIwMDgtMDgtMTUgMTc6MjY6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogVXBkYXRlIHRoZSB2b3JiaXMgUlRQIHBheS9kZXBheSB0byBSRkMgNTIxNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICBVcGRhdGUgdGhlIHZvcmJpcyBSVFAgcGF5L2RlcGF5IHRvIFJGQyA1MjE1LgoJICBGaXhlcyAjNTQ3ODQyLgoKMjAwOC0wOC0xNCAyMjowNzowMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnaGR2NicgYXMgYSBIRFYgZm9ybWF0IGZvciAxMDgwaS82MCB3aXRoIDM6MiBwdWxsZG93biwgaS5lLiwgMjRwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnaGR2NicgYXMgYSBIRFYgZm9ybWF0IGZvciAxMDgwaS82MAoJICB3aXRoIDM6MiBwdWxsZG93biwgaS5lLiwgMjRwLgoKMjAwOC0wOC0xNCAxMjo0NzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IEZpeCBjb21waWxhdGlvbiBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBjb21waWxhdGlvbiBzb21lIG1vcmUuCgoyMDA4LTA4LTE0IDExOjQ0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIC1iYXNlIENWUyBmb3Igd2F2cGFyc2UgYWNpZCBjaHVuayBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6OgoJICBSZXF1aXJlIC1iYXNlIENWUyBmb3Igd2F2cGFyc2UgYWNpZCBjaHVuayBwYXJzaW5nLgoKMjAwOC0wOC0xMyAxMzo1NzowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay4qOiBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSB0byBwdWxzZXNpbmsgdG9vIGFuZCBjdXJyZW50bHkgY29tbWVudGVkIG91dCBhbmQgbm90IHdvcmtpbmcgc3VwcG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2luaXQpLCAoZ3N0X3B1bHNlc2lua19maW5hbGl6ZSksCgkgIChnc3RfcHVsc2VzaW5rX3NldF92b2x1bWUpLCAoZ3N0X3B1bHNlc2lua19nZXRfdm9sdW1lKSwKCSAgKGdzdF9wdWxzZXNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSksIChnc3RfcHVsc2VzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSB0byBwdWxzZXNpbmsgdG9vIGFuZCBjdXJyZW50bHkgY29tbWVudGVkCgkgIG91dCBhbmQgbm90IHdvcmtpbmcgc3VwcG9ydCBmb3IgYSAidm9sdW1lIiBwcm9wZXJ0eS4KCjIwMDgtMDgtMTMgMTM6MTc6MTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBtb3JlIGNkaW8gc3R1ZmYgKG1vdmVkIHRvIHVnbHkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIG1vcmUgY2RpbyBzdHVmZiAobW92ZWQgdG8gdWdseSkKCjIwMDgtMDgtMTMgMTI6Mzc6MjYgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmM6IEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LCB3aGljaCBwcm92aWRlcyBhIGh1bWFuIHJlYWRhYmxlIHN0cmluZyBmb3IgdGhlIGF1ZGlvIGRldmljZSwgdG8gbWFrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LCB3aGljaCBwcm92aWRlcyBhIGh1bWFuIHJlYWRhYmxlIHN0cmluZwoJICBmb3IgdGhlIGF1ZGlvIGRldmljZSwgdG8gbWFrZSBpdCBtb3JlIGNvbnNpc3RlbiB3aXRoIG90aGVyIGF1ZGlvCgkgIHNvdXJjZXMuIEZpeGVzIGJ1ZyAjNTQ3NTE5LgoKMjAwOC0wOC0xMyAxMjozNDoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYnkgaW5jbHVkaW5nIHRoZSBwYXJlbnQgb2JqZWN0IGluIHB1bHNlbWl4ZXJjdHJsIGFuZCBwdWxzZXByb2JlIG9iamVjdHMgYW5kIHVzaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWJzY3JpYmVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9vcGVuKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfbmV3KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfZnJlZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX3RpbWVvdXRfZXZlbnQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9vcGVuKSwKCSAgKGdzdF9wdWxzZXByb2JlX2VudW1lcmF0ZSksIChnc3RfcHVsc2Vwcm9iZV9uZXcpLAoJICAoZ3N0X3B1bHNlcHJvYmVfZnJlZSksIChnc3RfcHVsc2Vwcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfcHVsc2Vwcm9iZV9wcm9iZV9wcm9wZXJ0eSksIChnc3RfcHVsc2Vwcm9iZV9nZXRfdmFsdWVzKToKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfaW5pdCk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW5pdCksIChnc3RfcHVsc2VzcmNfZGVsYXkpLAoJICAoZ3N0X3B1bHNlc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGJ5IGluY2x1ZGluZyB0aGUgcGFyZW50IG9iamVjdCBpbiBwdWxzZW1peGVyY3RybAoJICBhbmQgcHVsc2Vwcm9iZSBvYmplY3RzIGFuZCB1c2luZyBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZgoJICBHU1RfV0FSTklORy4KCSAgVXNlIHRoZSBwYXJlbnQgR09iamVjdCBzdWJjbGFzcyBpbnN0ZWFkIG9mIGEgcmFuZG9tIHN0cnVjdCBhcyBHT2JqZWN0CgkgIHBhcmFtZXRlciBmb3IgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lELiBUaGlzIGZpeGVzIGEgY3Jhc2gKCSAgd2hlbiBwcm9iaW5nIGZvciBhbm90aGVyIHByb3BlcnR5IHRoYW4gImRldmljZSIuCgoyMDA4LTA4LTEzIDEyOjIxOjIyICswMDAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IEZpeCBwcm9wZXJ0eSBwcm9iaW5nIGFmdGVyIHRoZSBkZXZpY2UgcHJvcGVydHkgaXMgc2V0IGJ5IGNhbGxpbmcgc2V0X3NlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhc3psbyBQYW5keSA8bGFzemxvazIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KToKCSAgRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZwoJICBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwcm9wZXJ0eSBjaGFuZ2VzLiBGaXhlcyBidWcgIzU0NzUxOC4KCjIwMDgtMDgtMTMgMTI6MTE6MzQgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZyBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9zZXRfcHJvcGVydHkpOgoJICBGaXggcHJvcGVydHkgcHJvYmluZyBhZnRlciB0aGUgZGV2aWNlIHByb3BlcnR5IGlzIHNldCBieSBjYWxsaW5nCgkgIHNldF9zZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIHByb3BlcnR5IGNoYW5nZXMuIEZpeGVzIGJ1ZyAjNTQ3NTE4LgoKMjAwOC0wOC0xMyAxMjowMTowMSArMDAwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvOiBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2Ugb24gcHVsc2VzaW5rIGZvciBkZXRlY3Rpbmcgc2luayBkZXZpY2VzIGFuZCBvbiBwdWxzZXNyYyBmb3IgZGV0ZWN0aW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXN6bG8gUGFuZHkgPGxhc3psb2syIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNpbmtfaW1wbGVtZW50c19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VzaW5rX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19maW5hbGl6ZSksIChnc3RfcHVsc2VzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VzaW5rX2dldF90eXBlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VzcmNfaW5pdF9pbnRlcmZhY2VzKSwgKGdzdF9wdWxzZXNyY19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19maW5hbGl6ZSksIChnc3RfcHVsc2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIG9uIHB1bHNlc2luayBmb3IgZGV0ZWN0aW5nCgkgIHNpbmsgZGV2aWNlcyBhbmQgb24gcHVsc2VzcmMgZm9yIGRldGVjdGluZyBzb3VyY2UgZGV2aWNlcy4KCSAgRml4ZXMgYnVncyAjNTQ3MjI3IGFuZCAjNTQ3MjE3LgoKMjAwOC0wOC0xMyAwOToxNzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IERvbid0IHRlcm1pbmF0ZSBvbiBmYWJzKGluKT4xLjAuIEluaXQgZG91YmxlcyBhcyBkb3VibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRG9uJ3QgdGVybWluYXRlIG9uIGZhYnMoaW4pPjEuMC4gSW5pdCBkb3VibGVzIGFzIGRvdWJsZXMuCgoyMDA4LTA4LTEzIDA4OjMzOjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBQcm9wZXJseSBzZXQgdGhlIG1heGltdW0gbGF0ZW5jeSB2YWx1ZSwgaW4gdGhlIHNhbWUgd2F5IGl0IGlzIGRvbmUgaW4gdjRsc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19xdWVyeSk6CgkgIFByb3Blcmx5IHNldCB0aGUgbWF4aW11bSBsYXRlbmN5IHZhbHVlLCBpbiB0aGUgc2FtZSB3YXkgaXQgaXMgZG9uZSBpbgoJICB2NGxzcmMuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBTaW1wbGlmeSBmcmFjdGlvbiBlcXVhbGl0eSBjaGVjaywgbm8gbmVlZCB0byB1c2UgR1ZhbHVlcyBmb3IgdGhpcy4KCjIwMDgtMDgtMTIgMTI6MDQ6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCB3YXJuaW5nIG1lc3NhZ2VzIHN0YXRpbmcgZXhhY3RseSB3aHkgdGhlIGxhdGVuY3kgcXVlcnkgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19xdWVyeSk6CgkgIEFkZCB3YXJuaW5nIG1lc3NhZ2VzIHN0YXRpbmcgZXhhY3RseSB3aHkgdGhlIGxhdGVuY3kgcXVlcnkgZmFpbGVkLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKToKCSAgSW4gc29tZSBjYXNlcywgdGhlIG5lZ290aWF0ZWQgZnJhbWVyYXRlIG1pZ2h0IGJlIHRoZSBkZWZhdWx0IG9uZSB3aGljaAoJICBpcyBhbHJlYWR5IHNldCBpbnRlcm5hbGx5LiBCdXQgd2Ugc3RpbGwgbmVlZCB0byBtYXJrIGl0IGRvd24gaW4gZnBzX24KCSAgYW5kIGZwc19kIHNvIHRoYXQgdGhlIGxhdGVuY3kgcXVlcnkgY2FuIGhhcHBlbiBwcm9wZXJseS4KCjIwMDgtMDgtMTIgMTE6Mjg6NDcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6IFdob29wcywgZm9yZ290IG9uZSBkb2MgZmlsZSBmb3IgcGVvcGxlIHdobyBjYW4ndC9kb24ndCBidWlsZCB0aGUgcmF3MTM5NCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgV2hvb3BzLCBmb3Jnb3Qgb25lIGRvYyBmaWxlIGZvciBwZW9wbGUgd2hvIGNhbid0L2Rvbid0IGJ1aWxkIHRoZQoJICByYXcxMzk0IHBsdWdpbi4KCjIwMDgtMDgtMTIgMDk6MjI6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUHVsbCBjaGFuZ2VzIGZyb20gMC4xMC45LjIgcHJlLXJlbGVhc2UgYnJhbmNoIG1vdmluZyB0aGUgbGliY2RpbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuaDoKCSAgUHVsbCBjaGFuZ2VzIGZyb20gMC4xMC45LjIgcHJlLXJlbGVhc2UgYnJhbmNoIG1vdmluZyB0aGUgbGliY2RpbwoJICBDRERBIHNvdXJjZSB0byAtdWdseS4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHBvL2lkLnBvOgoJICBQdWxsIGluIG5ldyB0cmFuc2xhdGlvbiBmcm9tIDAuMTAuOS4yIHJlbGVhc2UgYnJhbmNoLgoKMjAwOC0wOC0xMSAxNTowNToxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEludGVncmF0ZSBkb2N1bWVudGF0aW9uIGZvciBuZXcgaGR2MTM5NHNyYyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgSW50ZWdyYXRlIGRvY3VtZW50YXRpb24gZm9yIG5ldyBoZHYxMzk0c3JjIGVsZW1lbnQuCgoyMDA4LTA4LTExIDE0OjM2OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L3JhdzEzOTQvOiBtcGVnMi10cyAoSERWKSB2YXJpYW50IG9mIGZpcmV3aXJlIGNhcHR1cmUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2Jhc2VfaW5pdCksIChnc3RfaGR2MTM5NHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2luaXQpLCAoZ3N0X2hkdjEzOTRzcmNfZGlzcG9zZSksCgkgIChnc3RfaGR2MTM5NHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2hkdjEzOTRzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2Zyb21fcmF3MTM5NGhhbmRsZSksCgkgIChnc3RfaGR2MTM5NHNyY19pZWM2MTg4M19yZWNlaXZlKSwgKGdzdF9oZHYxMzk0c3JjX2J1c19yZXNldCksCgkgIChnc3RfaGR2MTM5NHNyY19jcmVhdGUpLCAoZ3N0X2hkdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLAoJICAoZ3N0X2hkdjEzOTRzcmNfc3RhcnQpLCAoZ3N0X2hkdjEzOTRzcmNfc3RvcCksCgkgIChnc3RfaGR2MTM5NHNyY191bmxvY2spLCAoZ3N0X2hkdjEzOTRzcmNfdXBkYXRlX2RldmljZV9uYW1lKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3VyaV9nZXRfdHlwZSksIChnc3RfaGR2MTM5NHNyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3RfaGR2MTM5NHNyY191cmlfZ2V0X3VyaSksIChnc3RfaGR2MTM5NHNyY191cmlfc2V0X3VyaSksCgkgIChnc3RfaGR2MTM5NHNyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmg6CgkgIG1wZWcyLXRzIChIRFYpIHZhcmlhbnQgb2YgZmlyZXdpcmUgY2FwdHVyZSBlbGVtZW50LgoJICBGaXhlcyAjMzUwODMwCgoyMDA4LTA4LTExIDEwOjUzOjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEZpeCBjb21waWxhdGlvbiAoYWxzbyBrbm93biBhcyB0aGUgY2xhc3NpYyAnZml4IGNvZGUgdGhhdCBzb21lb25lIGNvbW1pdHRlZCB3aXRob3V0IGNvbXBpbGluZyBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX21lc3NhZ2VfbmV3KToKCSAgRml4IGNvbXBpbGF0aW9uIChhbHNvIGtub3duIGFzIHRoZSBjbGFzc2ljICdmaXggY29kZSB0aGF0IHNvbWVvbmUKCSAgY29tbWl0dGVkIHdpdGhvdXQgY29tcGlsaW5nIGl0IGZpcnN0JykuCgoyMDA4LTA4LTEwIDE5OjQwOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiBBZGQgYSB0ZXN0IGZvciBsZXZlbCBpbiBzdGVyZW8gbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQWRkIGEgdGVzdCBmb3IgbGV2ZWwgaW4gc3RlcmVvIG1vZGUuCgoyMDA4LTA4LTEwIDE5OjM1OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS86IERlbW8gaG93IHRvIGRyYXcgYW5hbHl6ZXIgcmVzdWx0cyBzeW5jZWQgdG8gdGhlIGNsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIERlbW8gaG93IHRvIGRyYXcgYW5hbHl6ZXIgcmVzdWx0cyBzeW5jZWQgdG8gdGhlIGNsb2NrLgoKMjAwOC0wOC0xMCAxNTo1Mjo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IExpdHRsZSByZW5hbWluZyAobCAtPiBsZXZlbCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBMaXR0bGUgcmVuYW1pbmcgKGwgLT4gbGV2ZWwpLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBBbHNvIHNlbmQgZnVsbCB0aW1lc3RhbXAvZHVyYXRpb24gZGV0YWlscyBoZXJlLgoKMjAwOC0wOC0xMCAxMTozMjowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFNlbmQgc2FtZSB0aW1lc3RhbXAvZHVyYXRpb24gZGV0YWlscyBhcyB2aWRlb2FuYWx5c2lzLiBUaGlzIGdpdmVzIGFwcGxpY2F0aW9ucyBiZXR0ZXIgY2hhbmNlIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBTZW5kIHNhbWUgdGltZXN0YW1wL2R1cmF0aW9uIGRldGFpbHMgYXMgdmlkZW9hbmFseXNpcy4gVGhpcyBnaXZlcwoJICBhcHBsaWNhdGlvbnMgYmV0dGVyIGNoYW5jZSB0byBzeW5jIGFuYWx5c2lzIHJlc3VsdHMgd2l0aCBwbGF5YmFjay4KCjIwMDgtMDgtMDkgMTQ6MDI6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogV2UgbmVlZCB0byBkcm9wIG9uZSBhZGRpdGlvbmFsIGJ1ZmZlciBmb3IgRkxBQyBhcyB0aGUgZkxhQyBtYXJrZXIgYW5kIFNUUkVBTUlORk8gYmxvY2sgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGZsYWNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSk6CgkgIFdlIG5lZWQgdG8gZHJvcCBvbmUgYWRkaXRpb25hbCBidWZmZXIgZm9yIEZMQUMgYXMgdGhlIGZMYUMKCSAgbWFya2VyIGFuZCBTVFJFQU1JTkZPIGJsb2NrIGFyZSBtZXJnZWQgaW50byBvbmUgYnVmZmVyIGluIHRoZSBjYXBzLgoJICBBbHNvIGRvbid0IHByZXRlbmQgdG8gc3VwcG9ydCBORVdTRUdNRU5UIGV2ZW50cywgb3RoZXJ3aXNlIHdlCgkgIHdpbGwgbW9zdCBwcm9iYWJseSB3cml0ZSBzb21lIGludmFsaWQgZGF0YS4KCjIwMDgtMDgtMDkgMTM6NDg6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBGTEFDIGludG8gTWF0cm9za2EgY29udGFpbmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZmxhY19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEZMQUMgaW50byBNYXRyb3NrYSBjb250YWluZXJzLgoJICBGaXhlcyBidWcgIzMxMTU4Ni4KCjIwMDgtMDgtMDkgMDg6NTg6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogQWN0dWFsbHkgcHJvdmlkZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIGZvciB0aGUgZm9ybWF0IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2NoZWNrX2Rpc2NvbnQpOgoJICBBY3R1YWxseSBwcm92aWRlIHRoZSB2YXJpYWJsZXMgcmVxdWlyZWQgZm9yIHRoZSBmb3JtYXQgc3RyaW5nLgoKMjAwOC0wOC0wOCAxNjoyMDoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IENsb3NlIHRoZSBjdXJyZW50IHNlZ21lbnQgaWYgd2UncmUgZG9pbmcgYSBub24tZmx1c2hpbmcgc2VlayBhbmQgc2VuZCB0aGUgY2xvc2Utc2VnbWVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgQ2xvc2UgdGhlIGN1cnJlbnQgc2VnbWVudCBpZiB3ZSdyZSBkb2luZyBhIG5vbi1mbHVzaGluZyBzZWVrIGFuZCBzZW5kCgkgIHRoZSBjbG9zZS1zZWdtZW50IGFuZCB0aGUgbmV3IHNlZ21lbnQgb2YgdGhlIHNlZWsgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZC4KCjIwMDgtMDgtMDggMTU6MjA6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuKjogSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgY29ycmVjdGx5LCBtYXJrIGhlYWRlciBwYWNrZXRzIGFzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19lbmNfY2hlY2tfZGlzY29udCksIChnc3RfZmxhY19lbmNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBjb3JyZWN0bHksIG1hcmsgaGVhZGVyIHBhY2tldHMgYXMKCSAgSU5fQ0FQUyBhbmQgcHJpbnQgYSB3YXJuaW5nIGFuZCBzdWdnZXN0IHVzaW5nIGF1ZGlvcmF0ZSBpZiBzdHJlYW0KCSAgZGlzY29udGludWl0aWVzIGFyZSBkZXRlY3RlZC4gV2hlbiBGTEFDIHN1cHBvcnRzIGZsdXNoaW5nIHRoZSBlbmNvZGVyCgkgIHNvbWVob3cgdGhpcyBzaG91bGQgYmUgZG9uZSBmb3IgZGlzY29udGludWl0aWVzIGluc3RlYWQuCgkgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0LgoKMjAwOC0wOC0wNyAxNzoxNDozOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgcHVsc2VhdWRpbyB0byBwbHVnaW5zIGxpc3QgaW4gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgcHVsc2VhdWRpbyB0byBwbHVnaW5zIGxpc3QgaW4gc3BlYyBmaWxlCgoyMDA4LTA4LTA3IDE2OjEzOjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IElmIHNlZWtpbmcgZmFpbGVkIHJldHVybiB0aGUgYXBwcm9waWF0ZSByZXR1cm4gdmFsdWUgdG8gRkxBQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3NlZWtfY2FsbGJhY2spOgoJICBJZiBzZWVraW5nIGZhaWxlZCByZXR1cm4gdGhlIGFwcHJvcGlhdGUgcmV0dXJuIHZhbHVlIHRvIEZMQUMuCgkgIE90aGVyd2lzZSBpdCB0aGlua3Mgc2Vla2luZyB3YXMgc3VjY2Vzc2Z1bGwgYW5kIHRyaWVzIHRvIHJld3JpdGUKCSAgcGFydHMgb2YgdGhlIGhlYWRlcnMgd2hpY2ggdGhlbiBnZXQgYXBwZW5kZWQgdG8gdGhlIG91dHB1dC4KCjIwMDgtMDgtMDcgMTY6MTE6MDAgKzAwMDAgIEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgkgICogZXh0L2VzZC9nc3Rlc2QuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NhdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyCgkgIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCjIwMDgtMDgtMDcgMTQ6NDA6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWRkIEZJWE1FIGZvciAwLjExIHRvIHNpbXBseSBvdXRwdXQgZXZlcnl0aGluZyB3aXRoIHdpZHRoPTMyIGFzIGdpdmVuIGJ5IEZMQUMgYW5kIGxldCBhdWRpb2Nvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIEFkZCBGSVhNRSBmb3IgMC4xMSB0byBzaW1wbHkgb3V0cHV0IGV2ZXJ5dGhpbmcgd2l0aCB3aWR0aD0zMiBhcyBnaXZlbgoJICBieSBGTEFDIGFuZCBsZXQgYXVkaW9jb252ZXJ0IGhhbmRsZSB0aGUgY29udmVyc2lvbnMgaW5zdGVhZCBvZiBkb2luZwoJICB0aGVtIGluIGZsYWNkZWMuCgoyMDA4LTA4LTA3IDEwOjIyOjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogV2hlbiBvdXRwdXR0aW5nIGEgcGFkIHRlbXBsYXRlIHJhbmdlIGZvciB0aGUgc2l6ZSwgaW5jbHVkZSBhIGZyYW1lcmF0ZSByYW5nZSB0b28sIHRvIGF2b2lkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBXaGVuIG91dHB1dHRpbmcgYSBwYWQgdGVtcGxhdGUgcmFuZ2UgZm9yIHRoZSBzaXplLCBpbmNsdWRlIGEgZnJhbWVyYXRlCgkgIHJhbmdlIHRvbywgdG8gYXZvaWQgJ25vdCBhIHJlYWwgc3Vic2V0IG9mIHRlbXBsYXRlIGNhcHMnIGVycm9ycy4KCjIwMDgtMDgtMDYgMTU6MzQ6NTUgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJICBleHQvZmxhYy86IFBvcnQgZmxhY3RhZyB0byAwLjEwLCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgaXQgYW5kIGNsZWFuIGl0IHVwIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19zZXR1cF9pbnRlcmZhY2VzKSwKCSAgKGdzdF9mbGFjX3RhZ19iYXNlX2luaXQpLCAoZ3N0X2ZsYWNfdGFnX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZsYWNfdGFnX2Rpc3Bvc2UpLCAoZ3N0X2ZsYWNfdGFnX2luaXQpLAoJICAoZ3N0X2ZsYWNfdGFnX3Npbmtfc2V0Y2FwcyksIChnc3RfZmxhY190YWdfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfdGFnX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5oOgoJICBQb3J0IGZsYWN0YWcgdG8gMC4xMCwgYWRkIGRvY3VtZW50YXRpb24gZm9yIGl0IGFuZCBjbGVhbiBpdCB1cCBhIGJpdC4KCSAgRml4ZXMgYnVnICM0MTM4NDEuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfYmFzZV9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIEFkZCBmbGFjdGFnIGFuZCBmbGFjZW5jIHRvIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBtYXJrCgkgIHRoZSBwcml2YXRlIHBhcnRzIG9mIHRoZSBmbGFjZGVjIGluc3RhbmNlIHN0cnVjdHVyZSBhcyBwcml2YXRlLgoJICBBbHNvIHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSBpbiBmbGFjZGVjIGFuZAoJICBmbGFjZW5jLgoKMjAwOC0wOC0wNiAxMzoxMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgYXVkaW8veC1xZG0gZm9yIGNhcHMuIENvbGxlY3Qgc29tZSBpbmZvIC0gbXBsYXllciBoYXMgYSBkZWNvZGVyIGZvciBpdCBidXQgZmZtcGVnIGRvZXMgbm90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFVzZSBhdWRpby94LXFkbSBmb3IgY2Fwcy4gQ29sbGVjdCBzb21lIGluZm8gLSBtcGxheWVyIGhhcyBhIGRlY29kZXIKCSAgZm9yIGl0IGJ1dCBmZm1wZWcgZG9lcyBub3QuCgoyMDA4LTA4LTA1IDE1OjA1OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHRoZSBsaXN0IGNodW5rIGFuZCB1c2UgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIHRvIHBhcnNlIHRoZSBpbmZvIHN1Yi1jaHVuay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEhhbmRsZSB0aGUgbGlzdCBjaHVuayBhbmQgdXNlIGdzdF9yaWZmX3BhcnNlX2luZm8oKSB0byBwYXJzZSB0aGUgaW5mbwoJICBzdWItY2h1bmsuCgoyMDA4LTA4LTA1IDE0OjIyOjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHRoZSBhY2lkIGNodW5rIGFuZCBzZW5kIHRlbXBvIGFzIHBhcnQgb2YgdGFncy4gT3RoZXIgZmllbGRzIGFyZSBpbnRlcmVzdGluZyB0b28sIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEhhbmRsZSB0aGUgYWNpZCBjaHVuayBhbmQgc2VuZCB0ZW1wbyBhcyBwYXJ0IG9mIHRhZ3MuIE90aGVyIGZpZWxkcyBhcmUKCSAgaW50ZXJlc3RpbmcgdG9vLCBidXQgbmVlZCBtb3JlIHRhZy1kZWZpbml0aW9ucy4gRml4ZXMgIzU0NTQzMy4KCjIwMDgtMDgtMDUgMTQ6MTY6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBSZWZhY3RvciB3YXZwYXJzZS4gQ2FsbCBfcmVzZXQoKSBmcm9tIGRpc3Bvc2UoKSBhbmQgbW92ZSBvbGQgY29kZSBmcm9tIGRpc3Bvc2UgaW50byByZXNldC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmVmYWN0b3Igd2F2cGFyc2UuIENhbGwgX3Jlc2V0KCkgZnJvbSBkaXNwb3NlKCkgYW5kIG1vdmUgb2xkIGNvZGUgZnJvbQoJICBkaXNwb3NlIGludG8gcmVzZXQuIFRoaXMgd2F5IHdlIGRvbid0IGxlYWsgdGFnbGlzdHMgd2hlbiB3ZSBhYm9ydAoJICBwYXJzaW5nLiBGaXggc29tZSBjb21tZW50cy4gTW92ZSBjb2RlIGZvciBza2lwcGluZyBhIGNodW5rIGludG8gZXh0cmEKCSAgZnVuY3Rpb24uIFJlcGxhY2UgY2h1bmsgc2l6ZXMgd2l0aCBhIGNvbnN0IHRvIGVhc2UgcmVhZGFiaWxpdHkuCgoyMDA4LTA4LTA1IDEzOjU3OjU3ICswMDAwICBBdXJlbGllbiBHcmltYXVkIDxnc3RlbHp6QHlhaG9vLmZyPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbXByb3ZlIHVkcCBwb3J0IHNldHVwLiBGaXhlcyAjNTQ1NzEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenogYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyk6CgkgIEltcHJvdmUgdWRwIHBvcnQgc2V0dXAuIEZpeGVzICM1NDU3MTAuCgoyMDA4LTA4LTA1IDEzOjU0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBNUDFTIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzogKGdzdF9ydHBfbXAxc19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDFzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDFzX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJICBBZGQgTVAxUyBkZXBheWxvYWRlci4KCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBTb21lIG1vcmUgc2FtcGxlIHJ0c3Agc3RyZWFtcy4KCjIwMDgtMDgtMDUgMDg6NDM6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgYW5vdGhlciBVUkwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBhbm90aGVyIFVSTC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCjIwMDgtMDgtMDQgMDk6MTY6NDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogUHJvdmlkZSBjYlNpemUgZmllbGQgZm9yIGF1ZGlvIGV4dHJhX2RhdGEgc2l6ZSwgYW5kIHRha2UgY2FyZSB0byBwYWQgZXh0cmFfZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICBQcm92aWRlIGNiU2l6ZSBmaWVsZCBmb3IgYXVkaW8gZXh0cmFfZGF0YSBzaXplLCBhbmQgdGFrZSBjYXJlIHRvCgkgIHBhZCBleHRyYV9kYXRhLgoKMjAwOC0wOC0wNCAwNzoyMzowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBnc3RfcGFkX3tzdGFydCxzdG9wfV90YXNrIGluc3RlYWQgb2YgaGFyZC1jb2RlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfe3N0YXJ0LHN0b3B9X3Rhc2sgaW5zdGVhZCBvZiBoYXJkLWNvZGVkCgkgIFRSVUUuCgoyMDA4LTA4LTA0IDA3OjE3OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC86IEFkZCBrZXl3b3JkIHRhZyBzdXBwb3J0LiBGaXhlcyAjNTIwNjk0IGZvciBxdGRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgQWRkIGtleXdvcmQgdGFnIHN1cHBvcnQuIEZpeGVzICM1MjA2OTQgZm9yIHF0ZGVtdXguCgoyMDA4LTA4LTA0IDA3OjA1OjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciB0bXBvIHRhZyAoQlBNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdG1wbyB0YWcgKEJQTSkuCgoyMDA4LTA4LTAzIDEyOjIzOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFNldCBhbiBlc3RpbWF0ZSBmb3IgdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzIHRoYXQgd2lsbCBiZSBlbmNvZGVkIGlmIHBvc3NpYmxlIHRvIGhlbHAgZGVjb2QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3F1ZXJ5X3BlZXJfdG90YWxfc2FtcGxlcyksCgkgIChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayk6CgkgIFNldCBhbiBlc3RpbWF0ZSBmb3IgdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzIHRoYXQgd2lsbCBiZSBlbmNvZGVkCgkgIGlmIHBvc3NpYmxlIHRvIGhlbHAgZGVjb2RlcnMgaWYgdGhlIHN0cmVhbWluZm8gY2FuJ3QgYmUgcmV3cml0dGVuCgkgIGxhdGVyIChsaWtlIHdoZW4gbXV4aW5nIGludG8gT2dnIGNvbnRhaW5lcnMpLgoJICBBZGQgYSB3YXJuaW5nIGlmIHdlIGdldCBoZWFkZXIgcGFja2V0cyBhZnRlciBkYXRhIHBhY2tldHMgYXMgdGhvc2UKCSAgd2lsbCBnZXQgbG9zdCB3aGVuIG11eGluZyBpbnRvIE9nZywgaS5lLiByZXdyaXRpbmcgdGhlIGhlYWRlcnMgZG9lc24ndAoJICB3b3JrLgoKMjAwOC0wOC0wMyAxMTozODoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBTdXBwb3J0IGRlY29kaW5nIG9mIGFsbCBkZXB0aHMgYmV0d2VlbiA0IGFuZCAzMiBiaXRzIGFuZCByZWFkIHRoZSBkZXB0aCBmcm9tIHRoZSBzdHJlYW1pbmZvIGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICBTdXBwb3J0IGRlY29kaW5nIG9mIGFsbCBkZXB0aHMgYmV0d2VlbiA0IGFuZCAzMiBiaXRzIGFuZCByZWFkIHRoZQoJICBkZXB0aCBmcm9tIHRoZSBzdHJlYW1pbmZvIGhlYWRlciBpZiBuZWVkZWQuIEFsc28gc3VwcG9ydCBhbGwgc2FtcGxpbmcKCSAgcmF0ZXMgYmV0d2VlbiAxIGFuZCA2NTUzNTAgSHouCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAoZ3N0X2ZsYWNfZW5jX2NhcHNfYXBwZW5kX3N0cnVjdHVyZV93aXRoX3dpZHRocyksCgkgIChnc3RfZmxhY19lbmNfc2lua19nZXRjYXBzKSwgKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYWluKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIFN1cHBvcnQgZW5jb2RpbmcgaW4gYWxsIGJpdCBkZXB0aHMgc3VwcG9ydGVkIGJ5IHRoZSBzdHJlYW1hYmxlCgkgIHN1YmZvcm1hdCAoaS5lLiA4LCAxMiwgMTYsIDIwIGFuZCAyNCBiaXRzKSBhbmQgYWxsIHNhbXBsaW5nIHJhdGVzCgkgIGJldHdlZW4gMSBIeiBhbmQgNjU1MzUwIEh6LgoKMjAwOC0wOC0wMyAwOToyMzoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBTdXBwb3J0IGVuY29kaW5nIG9mIHVwIHRvIDggY2hhbm5lbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19pbml0KSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX2dldGNhcHMpOgoJICBTdXBwb3J0IGVuY29kaW5nIG9mIHVwIHRvIDggY2hhbm5lbHMuCgoyMDA4LTA4LTAyIDIxOjM5OjAxICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogRml4IHNlZWtpbmcgcmFjZSBjb25kaXRpb24gaW4gIzU0MDMwMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEZpeCBzZWVraW5nIHJhY2UgY29uZGl0aW9uIGluICM1NDAzMDAKCSAgUGF0Y2ggQnk6IFdvdXRlciBDbG9ldGVucyAgPHdvdXRlciBhdCBtaW5kIGJlPgoKMjAwOC0wOC0wMiAxODozNToyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFdoZW4gcmVjZWl2aW5nIGEgU0VFSyBldmVudCBvbiBhIHNwZWNpZmljIHBhZCBmaXJzdCBzZWFyY2ggZm9yIGEgc2VlayB0YWJsZSBlbnRyeSBmb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2VlayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZWxlbWVudF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFdoZW4gcmVjZWl2aW5nIGEgU0VFSyBldmVudCBvbiBhIHNwZWNpZmljIHBhZCBmaXJzdCBzZWFyY2ggZm9yIGEgc2VlawoJICB0YWJsZSBlbnRyeSBmb3IgdGhlIHN0cmVhbSBvZiB0aGUgcGFkIGFuZCB0aGVuIGZhbGwgYmFjayB0byBhbiBlbnRyeQoJICBmb3IgYSBkaWZmZXJlbnQgc3RyZWFtLgoKMjAwOC0wOC0wMiAxODoyMDo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQnVpbGQgZGVwZW5kIG9uIGNvcmUgQ1ZTIGZvciB0aGUgYXR0YWNobWVudCB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6IChnc3RfbWF0cm9za2FfcmVnaXN0ZXJfdGFncyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBCdWlsZCBkZXBlbmQgb24gY29yZSBDVlMgZm9yIHRoZSBhdHRhY2htZW50IHRhZy4KCjIwMDgtMDgtMDIgMTg6MTg6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERlY29kZSB0aGUgY29kZWMgcHJpdmF0ZSBkYXRhIGFuZCBmb2xsb3dpbmcgQ29udGVudEVuY29kaW5nIGlmIG5lY2Vzc2FyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvbHpvLmM6IChnZXRfYnl0ZSksIChnZXRfbGVuKSwgKGNvcHkpLAoJICAoY29weV9iYWNrcHRyKSwgKGx6bzF4X2RlY29kZSksIChtYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbHpvLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZyksCgkgIChnc3RfbWF0cm9za2FfZGVjb21wcmVzc19kYXRhKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2NvbnRlbnRfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBEZWNvZGUgdGhlIGNvZGVjIHByaXZhdGUgZGF0YSBhbmQgZm9sbG93aW5nIENvbnRlbnRFbmNvZGluZyBpZgoJICBuZWNlc3NhcnkuCgkgIFN1cHBvcnQgYnppcDIsIGx6byBhbmQgaGVhZGVyIHN0cmlwcGVkIGNvbXByZXNzaW9uLiBGb3IgbHpvIHVzZSB0aGUKCSAgZmZtcGVnIGx6byBpbXBsZW1lbnRhdGlvbiBhcyBsaWJsem8gaXMgR1BMIGxpY2Vuc2VkLgoJICBGaXggemxpYiBkZWNvbXByZXNzaW9uLgoKMjAwOC0wOC0wMiAxODoxMTozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggbXV4aW5nIG9mIE1QMy9NUDIgd2l0aCBkaWZmZXJlbnQgTVBFRyB2ZXJzaW9ucyBieSBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24gb2YgYSBmcmFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBGaXggbXV4aW5nIG9mIE1QMy9NUDIgd2l0aCBkaWZmZXJlbnQgTVBFRyB2ZXJzaW9ucyBieSBjYWxjdWxhdGluZyB0aGUKCSAgZHVyYXRpb24gb2YgYSBmcmFtZSB3aXRoIHRoZSBuZXcgbXBlZ2F1ZGlvdmVyc2lvbiBjYXBzIGZpZWxkLgoKMjAwOC0wOC0wMiAxODowNjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IEFsbG93IGFuIGluZmluaXRlIG51bWJlciBvZiBzdHJlYW0gaW5zaWRlIE1hdHJvc2thIGNvbnRhaW5lcnMgYW5kIHVzZSBhIEdQdHJBcnJheSBmb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3RyZWFtX2Zyb21fbnVtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF90cmFja251bWJlcl91bmlxdWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBBbGxvdyBhbiBpbmZpbml0ZSBudW1iZXIgb2Ygc3RyZWFtIGluc2lkZSBNYXRyb3NrYSBjb250YWluZXJzIGFuZCB1c2UKCSAgYSBHUHRyQXJyYXkgZm9yIHN0b3JpbmcgdGhlbSBpbnN0ZWFkIG9mIGFsbG93aW5nICJvbmx5IiAxMjcgc3RyZWFtcy4KCjIwMDgtMDgtMDIgMTg6MDE6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEZpeCBpbmRlbnRpb24gZXZlcnl3aGVyZS4gQSBicm9rZW4gaW5kZW50IHZlcnNpb24gaGFzIGFkZGVkIG5ld2xpbmVzIGFmdGVyIGV2ZXJ5IHNpbmdsZSBkZWNsYXJhdGlvbiBzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2VibWxfcmVhZF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xldmVsX3VwKSwKCSAgKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9wZWVrX2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZ2V0X2xlbmd0aCksIChnc3RfZWJtbF9yZWFkX3NraXApLAoJICAoZ3N0X2VibWxfcmVhZF9idWZmZXIpLCAoZ3N0X2VibWxfcmVhZF9ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX3VpbnQpLCAoZ3N0X2VibWxfcmVhZF9zaW50KSwgKF9leHQyZGJsKSwKCSAgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLCAoZ3N0X2VibWxfcmVhZF9hc2NpaSksIChnc3RfZWJtbF9yZWFkX2RhdGUpLAoJICAoZ3N0X2VibWxfcmVhZF9tYXN0ZXIpLCAoZ3N0X2VibWxfcmVhZF9iaW5hcnkpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfc2l6ZSksIChnc3RfZWJtbF93cml0ZV91aW50KSwKCSAgKGdzdF9lYm1sX3dyaXRlX3NpbnQpLCAoZ3N0X2VibWxfd3JpdGVfYXNjaWkpLAoJICAoZ3N0X2VibWxfd3JpdGVfbWFzdGVyX3N0YXJ0KSwgKGdzdF9lYm1sX3dyaXRlX21hc3Rlcl9maW5pc2gpLAoJICAoZ3N0X2VibWxfcmVwbGFjZV91aW50KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2VlayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZWxlbWVudF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLCAoZ3N0X21hdHJvc2thX2VibWxudW1fdWludCksCgkgIChnc3RfbWF0cm9za2FfZWJtbG51bV9zaW50KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2hkcl9idWYpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZmxhY19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfeGlwaF9jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZHZkX2NsdXRfY2hhbmdlX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfbXBlZ19zZXFfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoeGlwaDNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgICh2b3JiaXNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgICh0aGVvcmFfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF90cmFja19oZWFkZXIpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpLAoJICAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpLCAoZ3N0X21hdHJvc2thX211eF9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggaW5kZW50aW9uIGV2ZXJ5d2hlcmUuIEEgYnJva2VuIGluZGVudCB2ZXJzaW9uIGhhcyBhZGRlZCBuZXdsaW5lcwoJICBhZnRlciBldmVyeSBzaW5nbGUgZGVjbGFyYXRpb24gc29tZSB0aW1lIGFnby4KCjIwMDgtMDgtMDIgMTc6NTk6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiBubyBUcmFja3MgYXJlIGZvdW5kIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyBpdCBhZ2FpbiB1bnRpbCB0aGUgZW5kIG9mIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgSWYgbm8gVHJhY2tzIGFyZSBmb3VuZCBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgaXQgYWdhaW4gdW50aWwgdGhlCgkgIGVuZCBvZiB0aW1lLgoKMjAwOC0wOC0wMiAxNzo1NzozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBkZW11eGluZyBvZiByYXcgaW50ZWdlciBhdWRpby4gVGhlIHNhbXBsZXMgYXJlIHVuc2lnbmVkIG9ubHkgZm9yIDggYml0IGFuZCBzaWduZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICBGaXggZGVtdXhpbmcgb2YgcmF3IGludGVnZXIgYXVkaW8uIFRoZSBzYW1wbGVzIGFyZSB1bnNpZ25lZCBvbmx5IGZvciA4CgkgIGJpdCBhbmQgc2lnbmVkIG90aGVyd2lzZSwgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLgoKMjAwOC0wOC0wMiAxNzo1NDowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgbW9yZSByYXcgWVVWIGZvcm1hdHMgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgQWRkIG1vcmUgcmF3IFlVViBmb3JtYXRzIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoKMjAwOC0wOC0wMiAxNzo1MjoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBmbG9hdCBhdWRpbyBub3cgdGhhdCB0aGUgc3BlYyBkZWZpbmVzIHRoZSBlbmRpYW5uZXNzIGFuZCBhZGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBmbG9hdCBhdWRpbyBub3cgdGhhdCB0aGUgc3BlYyBkZWZpbmVzIHRoZQoJICBlbmRpYW5uZXNzIGFuZCBhZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBpbnRlZ2VyIGF1ZGlvIHdpdGggMjQgYW5kCgkgIDMyIGJpdHMuCgkgIEFsbG93IG11eGluZyBvZiBtb3JlIHRoYW4gOCBhdWRpbyBjaGFubmVscy4KCjIwMDgtMDgtMDIgMTc6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIGxvY2tpbmcgdG8gdGhlIGdsb2JhbCBhcnJheSBvZiB1c2VkIHRyYWNrIFVJRHMgdG8gcHJldmVudCByYW5kb20gY3Jhc2hlcyBpZiBtb3JlIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV91aWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgQWRkIGxvY2tpbmcgdG8gdGhlIGdsb2JhbCBhcnJheSBvZiB1c2VkIHRyYWNrIFVJRHMgdG8gcHJldmVudCByYW5kb20KCSAgY3Jhc2hlcyBpZiBtb3JlIHRoYW4gYSBzaW5nbGUgbWF0cm9zbXV4IGluc3RhbmNlIGlzIHVzZWQuCgkgIFVzZSA2NCBiaXQgdmFsdWVzIGZvciB0aGUgdHJhY2sgVUlEcy4KCSAgVXNlIHRoZSBnbG9iYWwgR1JhbmRvbSBvZiBHTGliIGluc3RlYWQgb2YgY3JlYXRpbmcgb3VyIG93biBvbmUKCSAgZm9yIHRoZSBmZXcgcmFuZG9tIG51bWJlcnMgd2UgbmVlZCBldmVyeSBzaW5nbGUgdGltZS4KCjIwMDgtMDgtMDIgMTc6MTg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWx3YXlzIHBvc3QgdGhlIGF1ZGlvLWNvZGVjIHRhZywgbm90IG9ubHkgaWYgb3RoZXIgdGFncyBhcmUgcHJlc2VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY191cGRhdGVfbWV0YWRhdGEpOgoJICBBbHdheXMgcG9zdCB0aGUgYXVkaW8tY29kZWMgdGFnLCBub3Qgb25seSBpZiBvdGhlciB0YWdzIGFyZSBwcmVzZW50LgoKMjAwOC0wOC0wMSAyMzoyNjo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgoyMDA4LTA4LTAxIDE1OjU4OjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBtaXNzaW5nIGdzdHJlYW1lciBwbHVnaW5zIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgZ3N0cmVhbWVyIHBsdWdpbnMgdG8gc3BlYyBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjkgPT09CgoyMDA4LTA3LTMxIDIyOjEwOjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC45CgoyMDA4LTA3LTMxIDIxOjUwOjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNy0zMSAyMToyNjo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBEb24ndCB0aHJvdyBhbiBlcnJvciB3aGVuIHNvdXAgY29tcGxldGVzIGEgbXNnIHdpdGggc3RhdHVzICdjYW5jZWxsZWQnLCBhcyB0aGF0IGluZGljYXRlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgRG9uJ3QgdGhyb3cgYW4gZXJyb3Igd2hlbiBzb3VwIGNvbXBsZXRlcyBhIG1zZyB3aXRoIHN0YXR1cwoJICAnY2FuY2VsbGVkJywgYXMgdGhhdCBpbmRpY2F0ZXMgd2UgY2FuY2VsbGVkIGEgcmVxdWVzdCB3aGlsZQoJICBzaHV0dGluZyBkb3duIG9yIHNlZWtpbmcsIGFuZCBpdCdzIG5vdCBhbiBlcnJvci4KCSAgRml4ZXM6ICM1NDAzMDAgYWdhaW4uCgoyMDA4LTA3LTI4IDIwOjE3OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC44LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjguNCBwcmUtcmVsZWFzZQoKMjAwOC0wNy0yNSAxNDo1MDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNlZ21lbnQtc3RvcCByZWdyZXNzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgRml4IHNlZ21lbnQtc3RvcCByZWdyZXNzaW9uLgoJICBBZGQgZG9jdW1lbnRhdGlvbiByZWdhcmRpbmcgc2VnbWVudHMgaW4gcXVpY2t0aW1lIGZpbGVzIGJ5IFdpbSBUYXltYW5zLgoJICBGaXhlcyAjNTQ0NTA5CgoyMDA4LTA3LTI0IDIzOjU1OjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC44LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjguMyBwcmUtcmVsZWFzZQoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vcHRfQlIucG86CgkgIEFkZCBwdF9CUiB0cmFuc2xhdGlvbgoKMjAwOC0wNy0yMyAyMjowMToyMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2dvb20vOiBGaXggYnVpbGQgd2l0aCBNU1ZDOiBpbmNsdWRlIGdsaWIuaCB0byBkZWZpbmUgaW5saW5lIGFwcHJvcHJpYXRlbHksIHVzZSBoZWFkZXIgZ3VhcmRzIHdoZXJlIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSAgKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkgIEZpeCBidWlsZCB3aXRoIE1TVkM6IGluY2x1ZGUgZ2xpYi5oIHRvIGRlZmluZSBpbmxpbmUgYXBwcm9wcmlhdGVseSwKCSAgdXNlIGhlYWRlciBndWFyZHMgd2hlcmUgbmVlZGVkLgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBGaXggYnVpbGQgd2l0aCBNU1ZDOiB1c2UgV1NBKiBjb25zdGFudHMvZnVuY3Rpb25zIHdoZXJlIGFwcHJvcHJpYXRlLCB1c2UKCSAgZ19zbnByaW50ZiByYXRoZXIgdGhhbiBzbnByaW50Zi4KCSAgRml4ZXMgIzU0NDQzMy4KCjIwMDgtMDctMjIgMDY6MzI6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuKjogU2VudCB0YWdzIGluIF90cmFuc2Zvcm1faXAoKSBpbnN0ZWFkIG9mIF9zdGFydCgpLiBGaXhlcyAjNTQzNDA0IHBhcnRpYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuaDoKCSAgU2VudCB0YWdzIGluIF90cmFuc2Zvcm1faXAoKSBpbnN0ZWFkIG9mIF9zdGFydCgpLiBGaXhlcyAjNTQzNDA0CgkgIHBhcnRpYWxseS4KCjIwMDgtMDctMTkgMTQ6MTI6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguMiBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC4yIHByZS1yZWxlYXNlCgoyMDA4LTA3LTE5IDEzOjUwOjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRmluaXNoIGhvb2tpbmcgdXAgcHVsc2VhdWRpbyBwbHVnaW4gdG8gdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpbmlzaCBob29raW5nIHVwIHB1bHNlYXVkaW8gcGx1Z2luIHRvIHRoZSBidWlsZC4KCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGVycm9yLgoKMjAwOC0wNy0xOSAxMzoyMzoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBwby86IEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2x0LnBvOgoJICBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMKCSAgZmlsZS4KCjIwMDgtMDctMTkgMTM6MDg6NDIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggU291cCBIVFRQIHNvdXJjZSBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBGaXggU291cCBIVFRQIHNvdXJjZSBzZWVraW5nLgoJICBQYXRjaCBCeTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgkgIEZpeGVzOiAjNTQwMzAwCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgSWdub3JlIG5ldyBjaGVjayBwcm9ncmFtcy4KCjIwMDgtMDctMTkgMDE6MDE6MTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSByZXBsYXlnYWluIGFuZCBpbnRlcmxlYXZlIHBsdWdpbnMgZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE1vdmUgcmVwbGF5Z2FpbiBhbmQgaW50ZXJsZWF2ZSBwbHVnaW5zIGZyb20gLWJhZC4KCSAgRml4ZXM6ICM1NDM0MDYKCSAgRml4ZXM6ICM1MzYyMjgKCjIwMDgtMDctMTggMjA6MDM6MDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXZlcnQgSVNPIGJhc2UgbWVkaWEgc3BlYyBiYXNlZCBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmV2ZXJ0IElTTyBiYXNlIG1lZGlhIHNwZWMgYmFzZWQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNhbGN1bGF0aW9uLgoJICBGaXhlcyAjNTQzMzAwLgoKMjAwOC0wNy0xNyAxNjo0Mjo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRml4IG1pbm9yIGJ1aWxkIGlzc3VlcyBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IG1pbm9yIGJ1aWxkIGlzc3VlcyBvbiBtYWNvc3guCgkgIEZpeGVzICM1NDMwNTQKCjIwMDgtMDctMTcgMTQ6NDA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBPbmx5IHVzZSAtV25vLWF0dHJpYnV0ZXMgKHdoaWNoIGlzIHRoZXJlIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIHRoZSB0YWdsaWIgMS41IGhlYWRlcnMpIGlmIHRoZSBjKysgY29tcGlsZXIgYWN0dWFsbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOjoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOjoKCSAgT25seSB1c2UgLVduby1hdHRyaWJ1dGVzICh3aGljaCBpcyB0aGVyZSB0byB3b3JrIGFyb3VuZCBhCgkgIGJ1ZyBpbiB0aGUgdGFnbGliIDEuNSBoZWFkZXJzKSBpZiB0aGUgYysrIGNvbXBpbGVyIGFjdHVhbGx5CgkgIHN1cHBvcnRzIGl0ICgjNTQzMjU1KS4KCjIwMDgtMDctMTcgMTM6NTQ6MzggKzAwMDAgIEJlbm9pdCBGb3VldCA8YmVub2l0LmZvdWV0QHB1cnBsZWxhYnMuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBdm9pZCBjb21waWxlciB3YXJuaW5nIGJ5IGluaXRpYWxpc2luZyB2YXJpYWJsZSB0byBOVUxMICgjNTQzMjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCZW5vaXQgRm91ZXQgPGJlbm9pdC5mb3VldCBwdXJwbGVsYWJzIGNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19uZWdvdGlhdGUpOgoJICBBdm9pZCBjb21waWxlciB3YXJuaW5nIGJ5IGluaXRpYWxpc2luZyB2YXJpYWJsZSB0byBOVUxMICgjNTQzMjU5KS4KCjIwMDgtMDctMTQgMTc6MTc6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogRG9uJ3QgcGFzcyBOVUxMIHRhZ2xpc3RzIHRvIGdzdF90YWdfbGlzdF9pc19lbXB0eSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IChnc3RfdGFnX2luamVjdF9zdGFydCk6CgkgIERvbid0IHBhc3MgTlVMTCB0YWdsaXN0cyB0byBnc3RfdGFnX2xpc3RfaXNfZW1wdHkoKS4KCjIwMDgtMDctMTQgMTc6MTU6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzogKHJ0cF9waXBlbGluZV9jcmVhdGUpLAoJICAocnRwX3BpcGVsaW5lX3J1bik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoKMjAwOC0wNy0xNCAxNjoyODoyNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFsaWduIGRvY3VtZW50YXRpb24gd2l0aCByZWFsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIEFsaWduIGRvY3VtZW50YXRpb24gd2l0aCByZWFsaXR5LgoKMjAwOC0wNy0xNCAxMzoxMToxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiBFQUlfQUREUkZBTUlMWSB3YXMgb2Jzb2xldGVkIGluIEJTRCBhdCBzb21lIHBvaW50LiBEZWZpbmUgaXQgdG8gdGhlIG9sZCB2YWx1ZSAoMSkgaWYgaXQncyBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgRUFJX0FERFJGQU1JTFkgd2FzIG9ic29sZXRlZCBpbiBCU0QgYXQgc29tZSBwb2ludC4gRGVmaW5lIGl0IHRvIHRoZQoJICBvbGQgdmFsdWUgKDEpIGlmIGl0J3Mgbm90IGRlZmluZWQgd2hpY2ggc2hvdWxkIG5vdCBjYXVzZSBhbnkgcHJvYmxlbXMKCSAgYXMgd2UncmUgdXNpbmcgaXQgaW50ZXJuYWwgb25seSBhbnl3YXkuCgoyMDA4LTA3LTE0IDEzOjAyOjQ4ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGJ1aWxkIG9mIGF2aWRlbXV4IG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yaWZmX3BhcnNlX3ZwcnApOgoJICBGaXggYnVpbGQgb2YgYXZpZGVtdXggb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzLgoKMjAwOC0wNy0xMCAyMDo0Nzo1NiArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAbGNjLnVmY2cuZWR1LmJyPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb3JyZWN0bHkgZGlzdGluZ3Vpc2ggOGJpdCB2cyAxNmJpdCByYXcgYXVkaW8uICBGaXhlcyAjNTQyNDEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzIGF0IGxjYyBkb3QgdWZjZyBkb3QgZWR1IGRvdCBicj4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBDb3JyZWN0bHkgZGlzdGluZ3Vpc2ggOGJpdCB2cyAxNmJpdCByYXcgYXVkaW8uICBGaXhlcyAjNTQyNDEwLgoKMjAwOC0wNy0wOCAyMTowNToxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2FwcyB1c2luZyBkaXNwbGF5IHdpZHRoIGFuZCBoZWlnaHQgcHJvdmlkZWQgaW4gdHJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzIHVzaW5nIGRpc3BsYXkgd2lkdGggYW5kIGhlaWdodAoJICBwcm92aWRlZCBpbiB0cmFjay4KCjIwMDgtMDctMDggMTM6NTk6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLiBGaXhlcyBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlCgkgIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4gRml4ZXMgYnVnICM1MTY1MDkuCgoyMDA4LTA3LTA4IDEyOjUxOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgYW5kIHZhcmlhYmxlIGxlbmd0aCBhcnJheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY191cmlfc2V0X3VyaSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGFuZCB2YXJpYWJsZSBsZW5ndGggYXJyYXlzLgoKMjAwOC0wNy0wNyAyMToyODo1OCArMDAwMCAgRGFuaWVsIERyYWtlIDxkc2RAZ2VudG9vLm9yZz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogVHJ5IHByb2dyZXNzaXZlIHZpZGVvIGlmIGludGVybGFjZWQgZmFpbHMuIEZpeGVzIGJ1ZyAjNTQxOTU2IGFuZCB0aGUgdXNhZ2Ugb2YgdjRsMnNyYyBvbiBPTFBDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBEcmFrZSA8ZHNkIGF0IGdlbnRvbyBkb3Qgb3JnPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUpOgoJICBUcnkgcHJvZ3Jlc3NpdmUgdmlkZW8gaWYgaW50ZXJsYWNlZCBmYWlscy4gRml4ZXMgYnVnICM1NDE5NTYKCSAgYW5kIHRoZSB1c2FnZSBvZiB2NGwyc3JjIG9uIE9MUEMuCgoyMDA4LTA3LTA3IDE1OjM0OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuKjogUmV2ZXJ0IGxhc3QgY2hhbmdlOiBPbmx5IHRoZSBqaXR0ZXJidWZmZXIgaXMgYWJsZSB0byBjb252ZXJ0IFJUUCB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICBSZXZlcnQgbGFzdCBjaGFuZ2U6IE9ubHkgdGhlIGppdHRlcmJ1ZmZlciBpcyBhYmxlIHRvIGNvbnZlcnQgUlRQIHRvCgkgIEdzdHJlYW1lciB0aW1lc3RhbXBzIGFuZCBub3JtYWwgKGRlKXBheWxvYWRlcnMgc2hvdWxkIHNpbXBseSBjb3B5IGl0LgoJICBSZW9wZW5zIGJ1ZyAjNTQxNzg3LgoKMjAwOC0wNy0wNyAxMDozMDo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogSW5jbHVkZSBzdGRsaWIuaCBmb3IgYXRvaSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhdG9pKCkuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBVc2UgZmxvYXRpbmcgcG9pbnQgbWF0aCBmb3IgbGF0ZW5jaWVzIDwgMCBzZWMgaW4gbG9nIG91dHB1dC4KCjIwMDgtMDctMDcgMTA6MTY6MDcgKzAwMDAgIFRvbWFzeiBHcm9iZWxueSA8dG9tYXN6QGdyb2JlbG55Lm9zd2llY2VuaWEubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lio6IFRha2UgdGltZXN0YW1wIGZyb20gdGhlIFJUUCBwYWNrZXQgYXMgYSBmaXJzdCBzdGVwIHRvIGZpeCBwcm9ibGVtcyB3aXRoIHRyYW5zbWlzc2lvbiBvdmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tYXN6IEdyb2JlbG55IDx0b21hc3ogYXQgZ3JvYmVsbnkgZG90IG9zd2llY2VuaWEgZG90IG5ldD4KCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICBUYWtlIHRpbWVzdGFtcCBmcm9tIHRoZSBSVFAgcGFja2V0IGFzIGEgZmlyc3Qgc3RlcCB0byBmaXggcHJvYmxlbXMKCSAgd2l0aCB0cmFuc21pc3Npb24gb3ZlciBSVFAgd2hlbiB0aGUgbmV0d29yayBpcyBub3QgcmVsaWFibGUuCgkgIEZpeGVzIGJ1ZyAjNTQxNzg3LgoKMjAwOC0wNy0wNSAxOTowMToyOCArMDAwMCAgVGVybyBTYWFybmkgPHRlcm8uc2Fhcm5pQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBwYXJzaW5nIG9mIHVkcDovLyBVUklzIGNvbnRhaW5pbmcgSVB2NiBhZGRyZXNzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGVybyBTYWFybmkgPHRlcm8gZG90IHNhYXJuaSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3NldF91cmkpOgoJICBGaXggcGFyc2luZyBvZiB1ZHA6Ly8gVVJJcyBjb250YWluaW5nIElQdjYgYWRkcmVzc2VzLgoJICBGaXhlcyBidWcgIzU0MTY1MC4KCjIwMDgtMDctMDQgMjA6NDM6MDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IERvIG5vdCBsZWFrIGluY29taW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICBEbyBub3QgbGVhayBpbmNvbWluZyBidWZmZXJzLgoKMjAwOC0wNy0wMyAxOToyNzo1MyArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkIG9mIHRoZSBSVFAgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMiBmb3IgaHRvbnMoKSBhbmQgaHRvbmwoKS4gRml4ZXMgYnVnICM1NDE0MTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGJ1aWxkIG9mIHRoZSBSVFAgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMgoJICBmb3IgaHRvbnMoKSBhbmQgaHRvbmwoKS4gRml4ZXMgYnVnICM1NDE0MTIuCgoyMDA4LTA3LTAyIDA5OjUxOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdCBpZiB0aGUgcGFkJ3MgdHJhY2sgaGFzIGEgZGVmYXVsdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgSGFuZGxlIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdCBpZiB0aGUKCSAgcGFkJ3MgdHJhY2sgaGFzIGEgZGVmYXVsdCBmcmFtZSBkdXJhdGlvbiBzZXQuCgkgIEZpeCBzZWVraW5nIG5vdyB0aGF0IHRoZSBzZWdtZW50J3MgZHVyYXRpb24gZG9lc24ndCBjb250YWluIHRoZQoJICAocG9zc2libHkgd3Jvbmcgb3IgaW5hY2N1cmF0ZSkgZHVyYXRpb24gb2YgdGhlIE1hdHJvc2thIGZpbGUuCgoyMDA4LTA3LTAyIDA5OjA0OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFVzZSBOQU4gY29uc3RhbnQgaW5zdGVhZCBvZiAwLjAvMC4wIGlmIHBvc3NpYmxlLiBOQU4gaXMgZGVmaW5lZCBpbiBtYXRoLmggZXhjZXB0IG9uIE1TVkMgd2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoX2V4dDJkYmwpOgoJICBVc2UgTkFOIGNvbnN0YW50IGluc3RlYWQgb2YgMC4wLzAuMCBpZiBwb3NzaWJsZS4gTkFOIGlzIGRlZmluZWQKCSAgaW4gbWF0aC5oIGV4Y2VwdCBvbiBNU1ZDIHdoZXJlIGl0IGlzIGRlZmluZWQgaW4geG1hdGguaC4KCSAgRml4ZXMgY29tcGlsYXRpb24gd2l0aCBNU1ZDLgoKMjAwOC0wNy0wMiAwODo1NzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IERvbid0IHNldCB0aGUgc2VnbWVudCBkdXJhdGlvbiB0byB0aGUgZHVyYXRpb24gZnJvbSB0aGUgTWF0cm9za2EgaGVhZGVyIGFzIHRoaXMgdmFsdWUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIERvbid0IHNldCB0aGUgc2VnbWVudCBkdXJhdGlvbiB0byB0aGUgZHVyYXRpb24gZnJvbSB0aGUgTWF0cm9za2EKCSAgaGVhZGVyIGFzIHRoaXMgdmFsdWUgY291bGQgYmUgd3JvbmcgYW5kIGlzIGp1c3QgaW5mb3JtYXRpb25hbC4KCjIwMDgtMDctMDIgMDg6NDc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiBubyBUcmFja3MgZWxlbWVudCBpcyBmb3VuZCB1bnRpbCB0aGUgZmlyc3QgQ2x1c3RlciBpcyBmb3VuZCBzZWFyY2ggaXQgYW5kIGVycm9yIG91dC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIElmIG5vIFRyYWNrcyBlbGVtZW50IGlzIGZvdW5kIHVudGlsIHRoZSBmaXJzdCBDbHVzdGVyIGlzIGZvdW5kCgkgIHNlYXJjaCBpdCBhbmQgZXJyb3Igb3V0IGlmIG5vbmUgaXMgZm91bmQgaW4gdGhlIGNvbXBsZXRlIGZpbGUuCgoyMDA4LTA3LTAyIDA4OjE0OjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogUmVzeW5jIG5vbi1zdWJ0aXRsZSB0cmFja3MgdG9vIGlmIGEgdG9vIGxhcmdlIGdhcCBjb21wYXJlZCB0byBvdGhlciB0cmFja3MgaXMgZGV0ZWN0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyk6CgkgIFJlc3luYyBub24tc3VidGl0bGUgdHJhY2tzIHRvbyBpZiBhIHRvbyBsYXJnZSBnYXAgY29tcGFyZWQgdG8gb3RoZXIKCSAgdHJhY2tzIGlzIGRldGVjdGVkLgoKMjAwOC0wNy0wMSAxMzoyODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgcmF3IHZpZGVvIHBheSBhbmQgZGVwYXlsb2FkZXJzLCBzZWUgUkZDNDE3NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IChnc3RfcnRwX3ZyYXdfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdnJhd19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfdnJhd19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF92cmF3X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOiAoZ3N0X3J0cF92cmF3X3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX3ZyYXdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9pbml0KSwgKGdzdF9ydHBfdnJhd19wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfdnJhd19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgQWRkIHJhdyB2aWRlbyBwYXkgYW5kIGRlcGF5bG9hZGVycywgc2VlIFJGQzQxNzUuCgoyMDA4LTA2LTMwIDIyOjUzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIGJ1ZmZlcl9hbGxvYyBmYWlscyAtIHJldHVybiB3aGF0ZXZlciBpdCByZXR1cm5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gYnVmZmVyX2FsbG9jIGZhaWxzIC0gcmV0dXJuCgkgIHdoYXRldmVyIGl0IHJldHVybmVkLgoKMjAwOC0wNi0yOSAxOTo1Mjo1MSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2F2aS1pZHMuaDogQWRkIHZwcnAgY2h1bmsgcmVsYXRlZCBzdHJ1Y3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2F2aS1pZHMuaDoKCSAgQWRkIHZwcnAgY2h1bmsgcmVsYXRlZCBzdHJ1Y3R1cmVzLgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmlmZl9wYXJzZV92cHJwKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgUGFyc2Ugb3B0aW9uYWwgdnBycCBjaHVuayBhbmQgYWRkIGNhbGN1bGF0ZWQgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIHRvIGNhcHMuICBGaXhlcyAjNTM5NDgyLgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3BhZF9yZXNldCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICBBZGQgYSB2cHJwIGNodW5rIGlmIG5vbi10cml2YWwgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3ZpZGVkIGluIGNhcHMuCgoyMDA4LTA2LTI4IDE5OjMxOjQ2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiBBZGp1c3QgYXZpbXV4IHVuaXQgdGVzdCBhY2NvcmRpbmcgdG8gaW5jcmVhc2VkIHN0cmVhbWhlYWRlciBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKGNoZWNrX2F2aW11eF9wYWQpOgoJICBBZGp1c3QgYXZpbXV4IHVuaXQgdGVzdCBhY2NvcmRpbmcgdG8gaW5jcmVhc2VkIHN0cmVhbWhlYWRlciBzaXplLgoKMjAwOC0wNi0yNyAxODoxMTowMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBEaXJhYyBzdHJlYW0gdHlwZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBEaXJhYyBzdHJlYW0gdHlwZQoKMjAwOC0wNi0yNyAxNToyNTowMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBBZGQgOCBieXRlcyB0byBjdXJyZW50IHN0cmVhbWhlYWRlciB0byBtYWtlIGZvciBhIGNvbXBsZXRlIG9uZSBhbmQgdG8gbWFrZSBtb3JlIHBsYXllcnMgaGFwcHkuICAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIEFkZCA4IGJ5dGVzIHRvIGN1cnJlbnQgc3RyZWFtaGVhZGVyIHRvIG1ha2UgZm9yIGEgY29tcGxldGUgb25lCgkgIGFuZCB0byBtYWtlIG1vcmUgcGxheWVycyBoYXBweS4gIEZpeGVzICM1MTk0NjAuCgoyMDA4LTA2LTI2IDE2OjM2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBEb24ndCBpbmNsdWRlIHVudXNlZCBnc3R2NGwyeG92ZXJsYXkuaC4gRml4ZXMgYnVpbGQgaW4gY2FzZSB3aGVyZSBYMTEgaGVhZGVycyBhcmUgbm90IGluc3RhbGxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOjoKCSAgRG9uJ3QgaW5jbHVkZSB1bnVzZWQgZ3N0djRsMnhvdmVybGF5LmguIEZpeGVzIGJ1aWxkCgkgIGluIGNhc2Ugd2hlcmUgWDExIGhlYWRlcnMgYXJlIG5vdCBpbnN0YWxsZWQuCgoyMDA4LTA2LTI2IDEwOjA3OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2LmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDgtMDYtMjYgMDk6Mzc6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHYuYzogTWFya2luZyByYW5rIG9mIGR2ZGVjIGFzIEdTVF9SQU5LX01BUkdJTkFMIHNpbmNlIGl0J3MgdGhlIHNsb3dlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgIE1hcmtpbmcgcmFuayBvZiBkdmRlYyBhcyBHU1RfUkFOS19NQVJHSU5BTCBzaW5jZSBpdCdzIHRoZSBzbG93ZXN0CgkgIERWIGRlY29kZXIgYXZhaWxhYmxlLgoJICBGaXhlcyAjNTMyMzkzCgoyMDA4LTA2LTI1IDA4OjEyOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBDYWxsIGdldHNvY2tuYW1lKCkgYWZ0ZXIgdGhlIGNhbGwgdG8gYmluZCgpIHRvIGdldCB1cGRhdGVkIHZhbHVlcyBmb3IgdGhlIHBvcnQsIGV0Yy4gVGhpcyBmaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBDYWxsIGdldHNvY2tuYW1lKCkgYWZ0ZXIgdGhlIGNhbGwgdG8gYmluZCgpIHRvIGdldCB1cGRhdGVkIHZhbHVlcwoJICBmb3IgdGhlIHBvcnQsIGV0Yy4gVGhpcyBmaXhlcyB0aGUgdXNhZ2Ugb2YgdWRwc3JjIG9uIGFub255bW91cwoJICBiaW5kaW5nIGFuZCBpdCdzIHVzYWdlIGJ5IHJ0c3BzcmMuIEZpeGVzIGJ1Z3MgIzUzOTM3MiwgIzUzOTU0OC4KCSAgVGhhbmtzIHRvIEF1cmVsaWVuIEdyaW1hdWQgZm9yIHBvaW50aW5nIG91dCB0aGUgb2J2aW91cyBmaXguCgoyMDA4LTA2LTI1IDA3OjU3OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gaWRlbnRpdHkgdGhhdCBpcyBmaXhlZCBpbiAwLjEwLjIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiAoYnVzX2hhbmRsZXIpOgoJICBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gaWRlbnRpdHkgdGhhdCBpcyBmaXhlZCBpbiAwLjEwLjIwLgoKMjAwOC0wNi0yNSAwNjozNjo1OCArMDAwMCAgSmFzb24gRG9uZW5mZWxkIDxCdWdaaWxsYUB6eDJjNC5jb20+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggSFRUUCBhdXRoIHN1cHBvcnQgd2l0aCB1c2VyL3Bhc3N3b3JkIHBhc3NlZCB2aWEgdGhlIFVSSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYXNvbiBEb25lbmZlbGQgPEJ1Z1ppbGxhIGF0IHp4MmM0IGRvdCBjb20+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKToKCSAgRml4IEhUVFAgYXV0aCBzdXBwb3J0IHdpdGggdXNlci9wYXNzd29yZCBwYXNzZWQgdmlhIHRoZSBVUkkuCgkgIEZpeGVzIGJ1ZyAjNTQwMDY3LgoKMjAwOC0wNi0yNCAxNTo0MjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCjIwMDgtMDYtMjMgMTY6MTM6NDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBidWdneSBmb3JtYXQgc3RyaW5ncyBpbiBtYWNyb3MuIChtYWtlcyBpdCBidWlsZCBvbiBPUyBYIGFnYWluLi4uKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0yMyAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKTogRml4IGJ1Z2d5CgkgIGZvcm1hdCBzdHJpbmdzIGluIG1hY3Jvcy4gKG1ha2VzIGl0IGJ1aWxkIG9uIE9TIFggYWdhaW4uLi4pCgoyMDA4LTA2LTIwIDE2OjI0OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC86IEFkZGVkIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIEFkZGVkIGRlYnVnLgoKMjAwOC0wNi0yMCAxNToyMTo1OSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgc3dpdGNoIHY0bDJzcmMgZnJvbSBleHBlcmltZW50YWwgdG8gbm9ybWFsIGJ1aWxkLiBGaXhlcyAjNTM2ODMxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzd2l0Y2ggdjRsMnNyYyBmcm9tIGV4cGVyaW1lbnRhbCB0byBub3JtYWwgYnVpbGQuIEZpeGVzICM1MzY4MzEKCjIwMDgtMDYtMTkgMTE6MjQ6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBzbyB0aGF0IHdlIGNhbiBjb21waWxlIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogKGdzdF9ydHBfZzcyNl9wYXlfc2V0Y2Fwcyk6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgc28gdGhhdCB3ZSBjYW4gY29tcGlsZSBhZ2Fpbi4KCjIwMDgtMDYtMTkgMTE6MDY6MjkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IE5vIG5lZWQgdG8gY2hlY2sgZm9yIGF1ZGlvL0c3MjMgYW5kIGF1ZGlvLzMyS0FEUENNIGhlcmUgYXMgdGhleSBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IChnc3RfcnRwX2c3MjZfcGF5X3NldGNhcHMpOgoJICBObyBuZWVkIHRvIGNoZWNrIGZvciBhdWRpby9HNzIzIGFuZCBhdWRpby8zMktBRFBDTSBoZXJlIGFzIHRoZXkgYXJlCgkgIG5vIGxvbmdlciBzdXBwb3J0ZWQuCgoyMDA4LTA2LTE5IDEwOjU4OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogVXNlIEdfR0lOVDY0X0NPTlNUQU5ULCB0aGlzIGZpeGVzIHRoZSBkdXJhdGlvbiBxdWVyeSBvbiBmaWxlcyB3aXRob3V0IGtub3duIGxlbmd0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBVc2UgR19HSU5UNjRfQ09OU1RBTlQsIHRoaXMgZml4ZXMgdGhlIGR1cmF0aW9uIHF1ZXJ5IG9uIGZpbGVzIHdpdGhvdXQKCSAga25vd24gbGVuZ3RoLgoKMjAwOC0wNi0xOSAxMDo0ODo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IGRlbXV4aW5nIG9mIFdhdlBhY2sgZmlsZXMuIE11eGluZyBpcyBzdGlsbCBicm9rZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBGaXggZGVtdXhpbmcgb2YgV2F2UGFjayBmaWxlcy4gTXV4aW5nIGlzIHN0aWxsIGJyb2tlbi4KCjIwMDgtMDYtMTkgMDk6MTI6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBhICJ2ZnVuYyIgdG8gdGhlIHRyYWNrIGNvbnRleHQgZm9yIHBvc3Rwcm9jZXNzaW5nIGZyYW1lcyBhbmQgY29udmVydCB0aGUgd2F2cGFjayBhbmQgc3VidGl0bGUgcG9zdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV90cmFja19mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfbXBlZ19zZXFfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGQgYSAidmZ1bmMiIHRvIHRoZSB0cmFjayBjb250ZXh0IGZvciBwb3N0cHJvY2Vzc2luZyBmcmFtZXMgYW5kCgkgIGNvbnZlcnQgdGhlIHdhdnBhY2sgYW5kIHN1YnRpdGxlIHBvc3Rwcm9jZXNzaW5nIHRvIHRoaXMgdmZ1bmMuCgkgIENvcHkgYnVmZmVyIGZsYWdzIGluIHRob3NlIGZ1bmN0aW9ucyB0byB0aGUgbmV3IGJ1ZmZlcnMgdG9vLgoJICBQYXJzZSBDb2RlY1N0YXRlIGVsZW1lbnRzIG9mIEJsb2Nrcy4KCSAgQWRkIGEgcG9zdHByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIE1QRUcgdmlkZW8gdGhhdCBhZGRzIHRoZSBzZXF1ZW5jZQoJICBoZWFkZXIgZnJvbSB0aGUgY29kZWMgcHJpdmF0ZSBkYXRhIG9yIGNvZGVjIHN0YXRlIHRvIHRoZSBmcmFtZXMgaWYKCSAgaXQncyBub3QgYWxyZWFkeSB0aGVyZS4KCjIwMDgtMDYtMTkgMDg6MjI6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiBhIGdhcCBvZiBtb3JlIHRoYW4gMS8yIHNlY29uZCBpcyBmb3VuZCBpbiBvbmUgc3RyZWFtIHNlbmQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgSWYgYSBnYXAgb2YgbW9yZSB0aGFuIDEvMiBzZWNvbmQgaXMgZm91bmQgaW4gb25lIHN0cmVhbSBzZW5kIGEKCSAgTkVXU0VHTUVOVCBldmVudCB0byBub3Qgc3RhbGwgdGhlIHBpcGVsaW5lIGlmIHRoZSBnYXAgaXMgdG9vIGxhcmdlLgoJICBUaGlzIGFsc28gZml4ZXMgTWF0cm9za2EgZmlsZXMgd2hlcmUgdGhlIGZpcnN0IGJ1ZmZlciBkb2Vzbid0IHN0YXJ0CgkgIGF0IHRpbWVzdGFtcCAwLiBGaXhlcyBidWcgIzQyOTMyMi4KCSAgVGhlIGR1cmF0aW9uIG9mIGEgYmxvY2sgaXMgdGhlIGRlZmF1bHQgZHVyYXRpb24gbXVsdGlwbGllZCB3aXRoIHRoZQoJICBudW1iZXIgb2YgbGFjZXMuIEV2ZXJ5IGxhY2UgaXMgb25lIGZyYW1lIGFuZCB0aGUgZGVmYXVsdCBkdXJhdGlvbgoJICBpcyB0aGUgZHVyYXRpb24gb2Ygb25lIGZyYW1lLiBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIGZpbGVzIHRoYXQgdXNlCgkgIGxhY2luZyBmb3Igc29tZSB0cmFja3MuCgoyMDA4LTA2LTE4IDIwOjA5OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogVXBkYXRlIEZJWE1FL1RPRE9zIGFuZCBvbmx5IGlnbm9yZSBFT1MgYXQgdGhlIGNlbnRyYWwsIGltcG9ydGFudCBwbGFjZSBpbnN0ZWFkIG9mIHNldmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KToKCSAgVXBkYXRlIEZJWE1FL1RPRE9zIGFuZCBvbmx5IGlnbm9yZSBFT1MgYXQgdGhlIGNlbnRyYWwsIGltcG9ydGFudCBwbGFjZQoJICBpbnN0ZWFkIG9mIHNldmVyYWwgcGxhY2VzLgoKMjAwOC0wNi0xOCAxNjo1NTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiBGaXggY2FwcywgU2VlICM1Mzg4OTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICBGaXggY2FwcywgU2VlICM1Mzg4OTEuCgoyMDA4LTA2LTE4IDEwOjI4OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgZXZlcnl3aGVyZSBhbmQgZml4IHRoZSBFT1MgbG9naWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdHJlYW1fZnJvbV9udW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VuY29kaW5nX2NtcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2Rpbmdfb3JkZXJfdW5pcXVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdHJhY2tudW1iZXJfdW5pcXVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0IGV2ZXJ5d2hlcmUgYW5kIGZpeCB0aGUgRU9TIGxvZ2ljLgoJICBDaGVjayB0aGUgdmFsdWVzIG9mIHRoZSBDb250ZW50RW5jb2RpbmcgZWxlbWVudHMgbW9yZSBzdHJpY3RseSBhbmQKCSAgZG9uJ3QgdXNlIHRyYWNrcyBmb3Igd2hpY2ggaXQncyBpbnZhbGlkLgoJICBDaGVjayB0aGF0IHRoZSB0cmFjayBudW1iZXIgaXMgdW5pcXVlIGZvciB0aGlzIHN0cmVhbS4KCSAgQ2hlY2sgdGhhdCBzZWVrIHBvc2l0aW9ucyBhcmUgYmVsb3cgR19NQVhJTlQ2NCBhcyBvdXIgc2Vla3MgYXJlCgkgIGludDY0LWJhc2VkIGFuZCBvdmVyZmxvd3Mgd2lsbCBmYWlsIGJhZGx5LgoJICBBZnRlciBzZWVrcyBhbHNvIGRvbid0IHB1c2ggU2ltcGxlQmxvY2tzIHVudGlsIHRoZSBmaXJzdCBvbmUKCSAgY29udGFpbmluZyBhIGtleWZyYW1lIGlzIGZvdW5kLiBCZWZvcmUgdGhpcyB3YXMgZG9uZSBvbmx5IGZvciBub3JtYWwKCSAgQmxvY2tzLgoJICBVcGRhdGUgc29tZSBGSVhNRS9UT0RPcy4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF91dGY4KSwgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfdmlkZW9fY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBSZW1vdmUgZXllIG1vZGUgYW5kIGRvbid0IHBhcnNlIGl0IGFueW1vcmUuIFdlIGNhbid0IHVzZSB0aGF0CgkgIGluZm9ybWF0aW9uIGluIEdTdHJlYW1lciB5ZXQgc28gaXQncyB1c2VsZXNzLgoKMjAwOC0wNi0xOCAxMDoxMjo1NyArMDAwMCAgbWVyc2FkIDxtZXJzYWRAYXhpcy5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgRzcyNiBwYXkvZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTM4ODkxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IG1lcnNhZCA8bWVyc2FkIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzogKGdzdF9ydHBfZzcyNl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9nNzI2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiAoZ3N0X3J0cF9nNzI2X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyNl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjZfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI2X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkgIEFkZGVkIEc3MjYgcGF5L2RlcGF5bG9hZGVycy4gRml4ZXMgIzUzODg5MS4KCjIwMDgtMDYtMTcgMTA6MTQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBTb21lIG1vcmUgdXJscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgU29tZSBtb3JlIHVybHMuCgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkgIEFkZCBhIGNvbW1lbnQKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIEZpeCB0eXBvLCBhZGQgYXVkaW9yZXNhbXBsZSB0byB0aGUgcGlwZWxpbmUuCgoyMDA4LTA2LTE3IDEwOjA1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYm1uZy86IFNvbWV3aGF0IHBvcnQgbW5nZW5jIGFuZCBtbmdkZWMgdG8gMC4xMC4gRG9lcyBub3Qgd29yayB5ZXQgYW5kIGhhcyBtYW55IGJpdHMgaWZkZWZmZWQgb3V0IHN0aWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbW5nX2RlY19jbGFzc19pbml0KSwgKGdzdF9tbmdfZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbW5nX2RlY19pbml0KSwgKGdzdF9tbmdfZGVjX3NyY19nZXRjYXBzKSwgKGdzdF9tbmdfZGVjX2xvb3ApLAoJICAoZ3N0X21uZ19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tbmdfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChtbmdkZWNfZXJyb3IpLCAobW5nZGVjX29wZW5zdHJlYW0pLCAobW5nZGVjX2Nsb3Nlc3RyZWFtKSwKCSAgKGdzdF9tbmdfZGVjX3NpbmtfZXZlbnQpLCAobW5nZGVjX3JlYWRkYXRhKSwgKG1uZ2RlY19zZXR0aW1lciksCgkgIChtbmdkZWNfcHJvY2Vzc2hlYWRlciksIChtbmdkZWNfZ2V0Y2FudmFzbGluZSksIChtbmdkZWNfcmVmcmVzaCksCgkgIChnc3RfbW5nX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzogKGdzdF9tbmdfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfbW5nX2VuY19jbGFzc19pbml0KSwgKGdzdF9tbmdfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbW5nX2VuY19pbml0KSwgKGdzdF9tbmdfZW5jX2NoYWluKSwKCSAgKGdzdF9tbmdfZW5jX2dldF9wcm9wZXJ0eSksIChnc3RfbW5nX2VuY19zZXRfcHJvcGVydHkpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkgIFNvbWV3aGF0IHBvcnQgbW5nZW5jIGFuZCBtbmdkZWMgdG8gMC4xMC4gRG9lcyBub3Qgd29yayB5ZXQgYW5kIGhhcyBtYW55CgkgIGJpdHMgaWZkZWZmZWQgb3V0IHN0aWxsLgoKMjAwOC0wNi0xNiAxMTozNDo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFdoZW4gY29tcGFyaW5nIGluZGV4IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgdGltZSBjb21wYXJlIHRoZWlyIGJsb2NrIG51bWJlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfaW5kZXhfY29tcGFyZSk6CgkgIFdoZW4gY29tcGFyaW5nIGluZGV4IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgdGltZSBjb21wYXJlIHRoZWlyCgkgIGJsb2NrIG51bWJlci4KCjIwMDgtMDYtMTYgMTE6MzE6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKQoJICBJbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDYtMTYgMTA6NTk6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFBhcnNlIEF0dGFjaG1lbnRzIGFuZCBwb3N0IHRoZW0gYXMgR1NUX1RBR19JTUFHRSBpZiB3ZSBkZXRlY3QgaXQgYXMgaW1hZ2UgYW5kIG90aGVyd2lzZSBhcyBHU1RfVEFHX0FUVC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6IChnc3RfbWF0cm9za2FfcmVnaXN0ZXJfdGFncyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOiAocGx1Z2luX2luaXQpOgoJICBQYXJzZSBBdHRhY2htZW50cyBhbmQgcG9zdCB0aGVtIGFzIEdTVF9UQUdfSU1BR0UgaWYgd2UgZGV0ZWN0CgkgIGl0IGFzIGltYWdlIGFuZCBvdGhlcndpc2UgYXMgR1NUX1RBR19BVFRBQ0hNRU5ULiBJbmNsdWRlIGZpbGVuYW1lCgkgIGFuZCBkZXNjcmlwdGlvbiBvZiB0aGUgYXR0YWNobWVudHMgaW4gdGhlIGNhcHMuIEZpeGVzIGJ1ZyAjNTM3NjIyLgoKMjAwOC0wNi0xNiAxMDowOTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBBZGQgbW9kZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3NwZWV4X2VuY19jbGFzc19pbml0KSwgKGdzdF9zcGVleF9lbmNfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9zcGVleF9lbmNfZ2V0X2xhdGVuY3kpLCAoZ3N0X3NwZWV4X2VuY19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3NwZWV4X2VuY19zcmNfcXVlcnkpLCAoZ3N0X3NwZWV4X2VuY19pbml0KSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0dXApLCAoZ3N0X3NwZWV4X2VuY19wdXNoX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfZW5jX2NoYWluKSwgKGdzdF9zcGVleF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X3Byb3BlcnR5KToKCSAgQWRkIG1vZGUgcHJvcGVydHkuCgkgIFNvbWUgY2xlYW51cHMsIGFkZCBtb3JlIGRlYnVnIGluZm8uCgkgIEFkZCBsYXRlbmN5IHF1ZXJ5LgoKMjAwOC0wNi0xNiAwOTo1NDoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCBpbnN0ZWFkIG9mIEdTVF9GTE9XX0VSUk9SIG9uIHNob3J0IHJlYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpOgoJICBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCBpbnN0ZWFkIG9mIEdTVF9GTE9XX0VSUk9SIG9uIHNob3J0IHJlYWRzLgoJICBJZiB3ZSBnZXQgbGVzcyBieXRlcyB0aGFuIHJlcXVlc3RlZCB3ZSBjYW4ndCBkbyBhbnl0aGluZyBleGNlcHQgZG9pbmcKCSAgb3VyIEVPUyBsb2dpYy4KCjIwMDgtMDYtMTUgMTk6MDk6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFVzZSBhIEdBcnJheSBmb3Igc3RvcmluZyB0aGUgQ3VlIChpLmUuIHNlZWspIGluZm9ybWF0aW9uLCBzdG9yZSB0aGUgQ3VlVHJhY2tQb3NpdGlvbnMgZm9yIGV2ZXJ5IHRyYWNrLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfaW5kZXhfY29tcGFyZSksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFVzZSBhIEdBcnJheSBmb3Igc3RvcmluZyB0aGUgQ3VlIChpLmUuIHNlZWspIGluZm9ybWF0aW9uLCBzdG9yZQoJICB0aGUgQ3VlVHJhY2tQb3NpdGlvbnMgZm9yIGV2ZXJ5IHRyYWNrLCBzdG9yZSB0aGUgYmxvY2sgbnVtYmVyCgkgIGFuZCBvcHRpbWl6ZSBzZWFyY2hpbmcgaW4gdGhlIGFycmF5IGJ5IHNvcnRpbmcgaXQgYWZ0ZXIgdGhlIGxhc3QKCSAgZWxlbWVudCB3YXMgYWRkZWQuCgkgIEZpeCBhIHNtYWxsIG1lbW9yeSBsZWFrIHdoZW4gdHJ5aW5nIHRvIHBhcnNlIGEgdGFncyBlbGVtZW50IHRoYXQgd2FzCgkgIGFscmVhZHkgcGFyc2VkLgoKMjAwOC0wNi0xNSAxNToyOToyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBEb24ndCB3cml0ZSBhbm90aGVyIFNlZWtIZWFkIHdoaWNoIGluZGV4ZXMgYWxsIENsdXN0ZXJzIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUuIFRoaXMgaXNuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdGFydCksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgRG9uJ3Qgd3JpdGUgYW5vdGhlciBTZWVrSGVhZCB3aGljaCBpbmRleGVzIGFsbCBDbHVzdGVycyB0byB0aGUgZW5kIG9mCgkgIHRoZSBmaWxlLiBUaGlzIGlzbid0IHVzZWZ1bCBmb3IgYW55dGhpbmcgYW5kIGp1c3QgaW5jcmVhc2VzIGZpbGVzaXplLgoKMjAwOC0wNi0xNSAxNTowMTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBQcmV2ZW50IHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzIHdoZW4gcmVhZGluZyBmbG9hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKF9leHQyZGJsKSwgKGdzdF9lYm1sX3JlYWRfZmxvYXQpOgoJICBQcmV2ZW50IHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzIHdoZW4gcmVhZGluZyBmbG9hdHMuCgoyMDA4LTA2LTE1IDE0OjA4OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBNYWtlIHN1cmUgdGhhdCBldmVyeSBUYWdzIGVsZW1lbnQgaXMgb25seSBwYXJzZWQgb25jZSBhbmQgaXQncyBjb250YWluaW5nIHRhZ3MgYXJlIG9ubHkgcG9zdGVkIG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgTWFrZSBzdXJlIHRoYXQgZXZlcnkgVGFncyBlbGVtZW50IGlzIG9ubHkgcGFyc2VkIG9uY2UgYW5kIGl0J3MKCSAgY29udGFpbmluZyB0YWdzIGFyZSBvbmx5IHBvc3RlZCBvbmNlLgoKMjAwOC0wNi0xNSAwOTo0MzoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogSGFuZGxlIEVCTUwgZWxlbWVudHMgbGlrZSBWb2lkIG9yIENSQzMyIGluIHRoZSBFYm1sUmVhZCBiYXNlIGNsYXNzIGFscmVhZHkuIFRoZXkncmUgbm90IHVzZWZ1bCBpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3BlZWtfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgSGFuZGxlIEVCTUwgZWxlbWVudHMgbGlrZSBWb2lkIG9yIENSQzMyIGluIHRoZSBFYm1sUmVhZCBiYXNlIGNsYXNzCgkgIGFscmVhZHkuIFRoZXkncmUgbm90IHVzZWZ1bCBpbiB0aGUgbWF0cm9za2EgcGFyc2VyIGFuZCBvbmx5IGNhdXNlCgkgIGFkZGl0aW9uYWwgY29kZS4KCjIwMDgtMDYtMTQgMTU6NTE6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFJldmVyc2UgdGhlIGxldmVsIGxpc3QgYXMgd2UgdXN1YWxseSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZSBmaXJzdCBlbGVtZW50IG9yIHdhbnQgdG8gYWRkIGEgbmV3IGZpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9sZXZlbF9mcmVlKSwKCSAgKGdzdF9lYm1sX2ZpbmFsaXplKSwgKGdzdF9lYm1sX3JlYWRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZXZlbF91cCksIChnc3RfZWJtbF9yZWFkX21hc3Rlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KToKCSAgUmV2ZXJzZSB0aGUgbGV2ZWwgbGlzdCBhcyB3ZSB1c3VhbGx5IGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gdGhlCgkgIGZpcnN0IGVsZW1lbnQgb3Igd2FudCB0byBhZGQgYSBuZXcgZmlyc3QgZWxlbWVudC4gSGF2aW5nIHRoZQoJICBmaXJzdCBlbGVtZW50IHN0b3JlZCBhdCB0aGUgZW5kIGFuZCBjYWxsaW5nIGdfbGlzdF9sYXN0KCkgYW5kCgkgIGdfbGlzdF9hcHBlbmQoKSBpcyBtb3JlIGV4cGVuc2l2ZS4KCSAgQWxzbyB1c2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIHRoZSBHc3RFYm1sTGV2ZWwgc3RydWN0cy4KCjIwMDgtMDYtMTMgMjE6MTM6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IERvbid0IHVucmVmIE5VTEwgdGFnbGlzdCBpbiBmaW5hbGl6ZS4gRG9uJ3QgdXNlIGMrKyBzdHlsZSBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiAoZ3N0X3RhZ19pbmplY3RfZmluYWxpemUpLAoJICAoZ3N0X3RhZ19pbmplY3RfY2xhc3NfaW5pdCksIChnc3RfdGFnX2luamVjdF9pbml0KToKCSAgRG9uJ3QgdW5yZWYgTlVMTCB0YWdsaXN0IGluIGZpbmFsaXplLiBEb24ndCB1c2UgYysrIHN0eWxlCgkgIGNvbW1lbnRzLgoKMjAwOC0wNi0xMyAxOToxNDo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogVXNlIGdzdF92YWx1ZV9zZXJpYWxpemUoKSBhbmQgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplKCkgZm9yIHRyYW5zZm9ybWluZyB0YWdzIGZyb20gc29tZSBHVHlwZSB0byBhIHN0cmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBVc2UgZ3N0X3ZhbHVlX3NlcmlhbGl6ZSgpIGFuZCBnc3RfdmFsdWVfZGVzZXJpYWxpemUoKSBmb3IgdHJhbnNmb3JtaW5nCgkgIHRhZ3MgZnJvbSBzb21lIEdUeXBlIHRvIGEgc3RyaW5nIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gVGhlIGRlZmF1bHQKCSAgdHJhbnNmb3JtYXRpb25zIGluIEdMaWIgZG9uJ3QgaW5jbHVkZSB0cmFuc2Zvcm1hdGlvbnMgZnJvbSBzdHJpbmcgdG8KCSAgbnVtYmVyIHR5cGVzLgoKMjAwOC0wNi0xMyAxOTowNzowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IE9ubHkgcGFyc2UgVHJhY2tzLCBTZWVrSGVhZCBhbmQgU2VnbWVudEluZm8gZWxlbWVudHMgb25jZSBidXQgYWxsb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIE9ubHkgcGFyc2UgVHJhY2tzLCBTZWVrSGVhZCBhbmQgU2VnbWVudEluZm8gZWxlbWVudHMgb25jZSBidXQgYWxsb3cKCSAgVGFncyBtdWx0aXBsZSB0aW1lcy4gVGhlIGZpcnN0IG9uZXMgY2FuIGFwcGVhciBtb3JlIHRoYW4gb25jZSBidXQgbXVzdAoJICBjb250YWluIHRoZSBzYW1lIGNvbnRlbnQgYXMgdGhlIGZpcnN0IGZvciBiYWNrdXAgcHVycG9zZXMgc28gd2UgaWdub3JlCgkgIGFsbCBidXQgdGhlIGZpcnN0IG9uZS4gVGFncyBjYW4gYXBwZWFyIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50CgkgIGNvbnRlbnQuCgkgIEp1bXAgdG8gYWxsIGVsZW1lbnRzIGV4Y2VwdCBDbHVzdGVycyB0aGF0IGFyZSBhdmFpbGFibGUgZnJvbSBhCgkgIFNlZWtIZWFkIHRvIG1ha2UgaXQgbW9yZSBsaWtlbHkgdG8gaGF2ZSBhbGwgcmVxdWlyZWQgaW5mb3JtYXRpb25zCgkgIGJlZm9yZSBnZXR0aW5nIHRvIHRoZSBmaXJzdCBDbHVzdGVycy4KCSAgQWRkIGR1bW15IGZ1bmN0aW9ucyBmb3IgcGFyc2luZyBBdHRhY2htZW50cyBhbmQgQ2hhcHRlcnMuCgoyMDA4LTA2LTEzIDE0OjMzOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi86IE1vcmUgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xMyAxMTo1OToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4CgkgIGZvciBleGFtcGxlcyAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZQoJICBoYXZlIHNldmVyYWwgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTMgMTE6NTQ6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBhdXRvbWF0aWMgam9pbi9sZWF2ZSBvZiBtdWx0aWNhc3QgZ3JvdXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYXV0b21hdGljIGpvaW4vbGVhdmUgb2YgbXVsdGljYXN0IGdyb3Vwcy4KCSAgQWRkIEdfTElLRUxZLgoJICBSZW1vdmUgc2V0dGluZyBjYXBzIG9uIGJ1ZmZlcnMgZXhwbGljaXRseSwgYmFzZXNyYyBkb2VzIHRoYXQgZm9yIHVzIG5vdy4KCSAgSW1wcm92ZSBkZWJ1ZyBpbmZvLgoJICBDb252ZXJ0IHNvbWUgbm9uLWZhdGFsIGVycm9yIGludG8gd2FybmluZ3MuCgkgIFVzZSBnX250b2hzIGZvciBiZXR0ZXIgcG9ydGFiaWxpdHkuCgkgIExlYXZlIG11bHRpY2FzdCBncm91cHMgd2hlbiBzdG9wcGluZy4KCSAgV2hlbiB1c2luZyBleHRlcm5hbCBzb2NrZXRzLCB1c2UgZ2V0c29ja25hbWUoKSBvbiB0aGVtIHRvIGZpbGwgdXAgdGhlCgkgIGFkZHIgc3RydWN0dXJlIGJlZm9yZSBjYWxsaW5nIG1ldGhvZHMgdGhhdCB1c2UgdGhlIHN0cnVjdHVyZS4KCSAgU2hvdWxkIGFsbCBmaXggIzUzNjkwMy4KCSAgQVBJOiBHc3RVRFBTcmM6OmF1dG8tbXVsdGljYXN0IHByb3BlcnR5CgoyMDA4LTA2LTEzIDExOjQ3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiBVc2UgZ19udG9obCBmb3IgYmV0dGVyIHBvcnRhYmlsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2lzX211bHRpY2FzdCk6CgkgIFVzZSBnX250b2hsIGZvciBiZXR0ZXIgcG9ydGFiaWxpdHkuCgoyMDA4LTA2LTEzIDExOjQ1OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRml4IGEgdHlwbyBhbmQgZG8gc29tZSBzbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgRml4IGEgdHlwbyBhbmQgZG8gc29tZSBzbWFsbCBjbGVhbnVwcy4KCjIwMDgtMDYtMTMgMDk6Mzk6NDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IE1ha2UgdGhlIGRlbGl2ZXJ5LW1ldGhvZCBtYW5kYXRvcnkgb24gdGhlIGNhcHMgYW5kIG9ubHkgYWNjZXB0IGlubGluZSBmb3Igbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIHRoZSBkZWxpdmVyeS1tZXRob2QgbWFuZGF0b3J5IG9uIHRoZSBjYXBzIGFuZCBvbmx5IGFjY2VwdCBpbmxpbmUKCSAgZm9yIG5vdy4KCSAgUmV2ZXJzZSBzdHJjbXAgY2hlY2tzIGZvciBkZWxpdmVyeS1tZXRob2QuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2UgZGVsaXZlcnkgbWV0aG9kIG9wdGlvbmFsIHdoZW4gcGFyc2luZyBjYXBzIGFuZCBub3RlIHRoaXMgaW4gdGhlCgkgIGNhcHMuCgkgIFJldmVyc2Ugc3RyY21wIGNoZWNrcyBmb3IgZGVsaXZlcnktbWV0aG9kLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIFVwZGF0ZSBhIGNvbW1lbnQgdG8gbm90ZSB0aGF0IHRoZSBkZWxpdmVyeS1tZXRob2QgaXMgb3B0aW9uYWwsCgkgIEZpeGVzICM1Mzc2NzUuCgoyMDA4LTA2LTEyIDE3OjMwOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBTZXQgdWRwc3JjIGZvciByZWNlaXZpbmcgZGF0YSBmcm9tIG11bHRpY2FzdCBncm91cHMgdG8gUEFVU0VEIGluc3RlYWQgb2YgbGVhdmluZyB0aGVtIGluIFJFQURZLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpOgoJICBTZXQgdWRwc3JjIGZvciByZWNlaXZpbmcgZGF0YSBmcm9tIG11bHRpY2FzdCBncm91cHMgdG8gUEFVU0VEIGluc3RlYWQgb2YKCSAgbGVhdmluZyB0aGVtIGluIFJFQURZLiBGaXhlcyAjNTM3ODMyLgoKMjAwOC0wNi0xMiAxMjoxNDozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogU2ltcGxpZnkgY29kZS4gZ3N0X3RhZ19saXN0X21lcmdlKCkgZG9lcyB0aGUgTlVMTCBjaGVja3MuIEFkZCBhIEZJWE1FIGZvciBhIHJhbmRvbSBjb25zdGFudCBpbiB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFNpbXBsaWZ5IGNvZGUuIGdzdF90YWdfbGlzdF9tZXJnZSgpIGRvZXMgdGhlIE5VTEwgY2hlY2tzLiBBZGQgYSBGSVhNRQoJICBmb3IgYSByYW5kb20gY29uc3RhbnQgaW4gdGFnbXV4aW5nIGNvZGUuCgoyMDA4LTA2LTExIDE0OjI4OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lio6IE5vdyBhY3R1YWxseSBhZGRpbmcgdGhlIG5ldyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5oOgoJICBOb3cgYWN0dWFsbHkgYWRkaW5nIHRoZSBuZXcgZWxlbWVudC4KCjIwMDgtMDYtMTEgMTQ6MTE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlbW92ZSBkdW1teSBwbHVnaW5faW5pdC4gUmVtb3ZlIHNvbWUgdW5kZWZpbmVkIGVudHJpZXMgZnJvbSBkb2MtIHNlY3Rpb24gZmlsZS4gQWRkIHRhZ2luamVjdCBlbGVtZW50IGFuZCByZWJ1aWxkIGRvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmM6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmg6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0Lmg6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICBSZW1vdmUgZHVtbXkgcGx1Z2luX2luaXQuIFJlbW92ZSBzb21lIHVuZGVmaW5lZCBlbnRyaWVzIGZyb20gZG9jLQoJICBzZWN0aW9uIGZpbGUuIEFkZCB0YWdpbmplY3QgZWxlbWVudCBhbmQgcmVidWlsZCBkb2NzIGZvciBpdC4KCjIwMDgtMDYtMTEgMTE6Mjc6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVXBkYXRlIHRoZSBjb3VudGVyIGZvciB0aGUgbnVtYmVyIG9mIHN0cmVhbXMgd2hlbiBwYWRzIGFyZSBhZGRlZCBvciByZW1vdmVkLiBUaGlzIHdpbGwgbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIFVwZGF0ZSB0aGUgY291bnRlciBmb3IgdGhlIG51bWJlciBvZiBzdHJlYW1zIHdoZW4gcGFkcyBhcmUgYWRkZWQgb3IKCSAgcmVtb3ZlZC4gVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IGEgc2VlayB0YWJsZSBpcyBnZW5lcmF0ZWQgZm9yCgkgIGZpbGVzIHdpdGgganVzdCBvbmUgYXVkaW8gc3RyZWFtLgoKMjAwOC0wNi0xMSAxMToxODoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIHNvbWUgbW9yZSB0YWdzLCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgbWFrZSBzdXJlIHRoYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyk6CgkgIEFkZCBzb21lIG1vcmUgdGFncywgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIG1ha2Ugc3VyZSB0aGF0CgkgIEdWYWx1ZSB0cmFuc2Zvcm1hdGlvbiBoYXMgc3VjY2VlZGVkIGJlZm9yZSB1c2luZyB0aGUgcmVzdWx0CgkgIGFzIGEgdGFnLgoKMjAwOC0wNi0xMSAwODo1NjoxNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IFRoZSBUaGVvcmEgUlRQIHBheWxvYWRlciBvbmx5IHN1cHBvcnRzIHRoZSAiaW5saW5lIiBkZWxpZXZlcnkgbWV0aG9kIHNvIGxldCdzIGRlY2xhcmUgdGhpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIFRoZSBUaGVvcmEgUlRQIHBheWxvYWRlciBvbmx5IHN1cHBvcnRzIHRoZSAiaW5saW5lIiBkZWxpZXZlcnkgbWV0aG9kCgkgIHNvIGxldCdzIGRlY2xhcmUgdGhpcyBvbiB0aGUgY2FwcyBvZiB0aGUgc3RhdGljIHBhZCB0ZW1wbGF0ZS4KCSAgRml4ZXMgYnVnICM1Mzc2NzUuCgoyMDA4LTA2LTEwIDE3OjIwOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBSZW1vdmUgYm9ndXMgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpLCAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6CgkgIFJlbW92ZSBib2d1cyBjaGVjay4KCjIwMDgtMDYtMTAgMTY6MjU6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFVzZSBzdHJlYW1fdGltZSB0byBzeW5jaHJvbml6ZSB0aGUgb2JqZWN0IHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpOgoJICBVc2Ugc3RyZWFtX3RpbWUgdG8gc3luY2hyb25pemUgdGhlIG9iamVjdCBwcm9wZXJ0aWVzLgoJICBVc2UgcnVubmluZ190aW1lIG9mIHRoZSBtYXN0ZXIgcGFkIHRvIHRpbWVzdGFtcCBvdXRnb2luZyBidWZmZXJzLgoJICBGaXggdGhlIGluaXRpYWwgc2VnbWVudCBldmVudCB0byBleHRlbmQgYW4gdW5rbm93biBhbW91bnQgb2YgdGltZS4KCSAgRml4ZXMgIzUzNzM2MS4KCjIwMDgtMDYtMTAgMTE6MDU6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFRyeSB0byBpZ25vcmUgdW5wYXJzYWJsZS91bmtub3duIHN0cmVhbXMgYW5kIGdpdmUgYSB3YXJuaW5nIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LiBGaXhlcyAjNTMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpOgoJICBUcnkgdG8gaWdub3JlIHVucGFyc2FibGUvdW5rbm93biBzdHJlYW1zIGFuZCBnaXZlIGEgd2FybmluZyBpbnN0ZWFkIG9mCgkgIGVycm9yaW5nIG91dC4gRml4ZXMgIzUzNzM3Ny4KCjIwMDgtMDYtMTAgMTA6NDQ6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IFVzZSBHRE9VQkxFX1RPX0JFKCkgaW5zdGVhZCBvZiAocHJvYmFibHkgc2xvd2VyKSBjdXN0b20gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2Zsb2F0KToKCSAgVXNlIEdET1VCTEVfVE9fQkUoKSBpbnN0ZWFkIG9mIChwcm9iYWJseSBzbG93ZXIpIGN1c3RvbSBjb2RlLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfZnJlZSksIChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2RpbmdfY21wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKSwgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9zdWJ0aXRsZV9jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwgKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV91aWQpLCAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdWJ0aXRsZV9wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3RyYWNrX2hlYWRlciksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLCAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9zZXRfcHJvcGVydHkpOgoJICBBZGQgbWFueSBGSVhNRXMvVE9ET3MgYWxsIG92ZXIgdGhlIG1hdHJvc2thIG11eGVyIGFuZCBkZW11eGVyCgkgIGVsZW1lbnRzLCBkbyBzb21lIGNoZWNrcyBmb3IgdmFsaWQgdmFsdWVzIGluIHRoZSBkZW11eGVyLCBoYW5kbGUKCSAgdHJhY2t0aW1lY29kZXNjYWxlIGluIHRoZSBkZW11eGVyLCBzZXQgY29ycmVjdCBkZWZhdWx0IHZhbHVlcyBmb3IgYWxsCgkgIHNldHRpbmdzIGluIHRoZSBkZW11eGVyLCByZXZpZXcgYW5kIGFkZCBhbGwgbWlzc2luZyBtYXRyb3NrYQoJICBJRHMgYW5kIHNvbWUgbW9yZSByYXcgWVVWIGZvcm1hdHMsIGFuZCBzb21lIHRyaXZpYWwgY2xlYW51cC4KCjIwMDgtMDYtMTAgMDg6NTk6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IFNvbWUgc21hbGxlciBjbGVhbnVwLiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUywgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgYW5kIGZpeCBjb2Rpbmcgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2NsYXNzX2luaXQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlc3JjX2Jhc2VfaW5pdCksIChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfcHJlcGFyZSk6CgkgIFNvbWUgc21hbGxlciBjbGVhbnVwLiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUywKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgYW5kIGZpeCBjb2Rpbmcgc3R5bGUgYSBiaXQKCSAgbW9yZS4KCjIwMDgtMDYtMTAgMDg6MjI6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIHRvIHRoZSBwdWxzZWF1ZGlvIHBsdWdpbiBhbmQgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gdG8gdGhlIHB1bHNlYXVkaW8gcGx1Z2luIGFuZCBydW4gbWFrZSB1cGRhdGUKCSAgaW4gZG9jcy9wbHVnaW5zLgoKMjAwOC0wNi0xMCAwNjo1Mjo0NCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IEltcHJvdmVtZW50cyBmb3IgdGhlIFN1bkF1ZGlvIG1peGVyIGJ5IGhhbmRsaW5nIG11dGUgYXMgbm8gZ2FpbiBmb3IgdHJhY2tzIHRoYXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICBJbXByb3ZlbWVudHMgZm9yIHRoZSBTdW5BdWRpbyBtaXhlciBieSBoYW5kbGluZyBtdXRlIGFzIG5vIGdhaW4KCSAgZm9yIHRyYWNrcyB0aGF0IGhhdmUgYSBnYWluIHByb3BlcnR5IGJ1dCBubyBtdXRlIHByb3BlcnR5LgoJICBGaXhlcyBidWcgIzUzNjA2Ny4KCjIwMDgtMDYtMTAgMDY6NDU6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBwdWxzZWF1ZGlvIEdTdHJlYW1lciBlbGVtZW50IGZyb20gZ3N0LXB1bHNlLiBEZXZlbG9wbWVudCB3aWxsIGNvbnRpbnVlIGhlcmUgaW5zdGVhZCBvZiBwdWxzZWF1ZGlvIFNWTi4gRml4ZXMgYnVnIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wdWxzZS9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VtaXhlcl9pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VtaXhlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VtaXhlcl9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2ZpbmFsaXplKSwgKGdzdF9wdWxzZW1peGVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VtaXhlcl9nZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9jb250ZXh0X3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2lua19pbmZvX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc291cmNlX2luZm9fY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWJzY3JpYmVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWNjZXNzX2NiKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfb3BlbiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX2Nsb3NlKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfbmV3KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfZnJlZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX2xpc3RfdHJhY2tzKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfdGltZW91dF9ldmVudCksIChyZXN0YXJ0X3RpbWVfZXZlbnQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfdm9sdW1lKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NldF9yZWNvcmQpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfbXV0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5jOiAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl90cmFja19pbml0KSwgKGdzdF9wdWxzZW1peGVyX3RyYWNrX25ldyk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9jb250ZXh0X3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZXByb2JlX3NpbmtfaW5mb19jYiksIChnc3RfcHVsc2Vwcm9iZV9zb3VyY2VfaW5mb19jYiksCgkgIChnc3RfcHVsc2Vwcm9iZV9pbnZhbGlkYXRlKSwgKGdzdF9wdWxzZXByb2JlX29wZW4pLAoJICAoZ3N0X3B1bHNlcHJvYmVfZW51bWVyYXRlKSwgKGdzdF9wdWxzZXByb2JlX2Nsb3NlKSwKCSAgKGdzdF9wdWxzZXByb2JlX25ldyksIChnc3RfcHVsc2Vwcm9iZV9mcmVlKSwKCSAgKGdzdF9wdWxzZXByb2JlX2dldF9wcm9wZXJ0aWVzKSwgKGdzdF9wdWxzZXByb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF9wdWxzZXByb2JlX3Byb2JlX3Byb3BlcnR5KSwgKGdzdF9wdWxzZXByb2JlX2dldF92YWx1ZXMpLAoJICAoZ3N0X3B1bHNlcHJvYmVfc2V0X3NlcnZlcik6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3B1bHNlc2lua19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfZGVzdHJveV9zdHJlYW0pLCAoZ3N0X3B1bHNlc2lua19kZXN0cm95X2NvbnRleHQpLAoJICAoZ3N0X3B1bHNlc2lua19maW5hbGl6ZSksIChnc3RfcHVsc2VzaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3B1bHNlc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlc2lua19jb250ZXh0X3N0YXRlX2NiKSwgKGdzdF9wdWxzZXNpbmtfc3RyZWFtX3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZXNpbmtfc3RyZWFtX3JlcXVlc3RfY2IpLAoJICAoZ3N0X3B1bHNlc2lua19zdHJlYW1fbGF0ZW5jeV91cGRhdGVfY2IpLCAoZ3N0X3B1bHNlc2lua19vcGVuKSwKCSAgKGdzdF9wdWxzZXNpbmtfY2xvc2UpLCAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKSwKCSAgKGdzdF9wdWxzZXNpbmtfdW5wcmVwYXJlKSwgKGdzdF9wdWxzZXNpbmtfd3JpdGUpLAoJICAoZ3N0X3B1bHNlc2lua19kZWxheSksIChnc3RfcHVsc2VzaW5rX3N1Y2Nlc3NfY2IpLAoJICAoZ3N0X3B1bHNlc2lua19yZXNldCksIChnc3RfcHVsc2VzaW5rX2NoYW5nZV90aXRsZSksCgkgIChnc3RfcHVsc2VzaW5rX2V2ZW50KSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3R5cGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNyY19pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19pbml0X2ludGVyZmFjZXMpLCAoZ3N0X3B1bHNlc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VzcmNfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfZGVzdHJveV9zdHJlYW0pLCAoZ3N0X3B1bHNlc3JjX2Rlc3Ryb3lfY29udGV4dCksCgkgIChnc3RfcHVsc2VzcmNfZmluYWxpemUpLCAoZ3N0X3B1bHNlc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3B1bHNlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNyY19jb250ZXh0X3N0YXRlX2NiKSwgKGdzdF9wdWxzZXNyY19zdHJlYW1fc3RhdGVfY2IpLAoJICAoZ3N0X3B1bHNlc3JjX3N0cmVhbV9yZXF1ZXN0X2NiKSwgKGdzdF9wdWxzZXNyY19vcGVuKSwKCSAgKGdzdF9wdWxzZXNyY19jbG9zZSksIChnc3RfcHVsc2VzcmNfcHJlcGFyZSksCgkgIChnc3RfcHVsc2VzcmNfdW5wcmVwYXJlKSwgKGdzdF9wdWxzZXNyY19yZWFkKSwKCSAgKGdzdF9wdWxzZXNyY19kZWxheSksIChnc3RfcHVsc2VzcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9wdWxzZXNyY19nZXRfdHlwZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5jOiAoZ3N0X3B1bHNlX2ZpbGxfc2FtcGxlX3NwZWMpLAoJICAoZ3N0X3B1bHNlX2NsaWVudF9uYW1lKSwgKGdzdF9wdWxzZV9nc3RfdG9fY2hhbm5lbF9tYXApOgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgQWRkIHB1bHNlYXVkaW8gR1N0cmVhbWVyIGVsZW1lbnQgZnJvbSBnc3QtcHVsc2UuIERldmVsb3BtZW50IHdpbGwKCSAgY29udGludWUgaGVyZSBpbnN0ZWFkIG9mIHB1bHNlYXVkaW8gU1ZOLiBGaXhlcyBidWcgIzQwMDY3OS4KCSAgT25seSBjaGFuZ2VzIG92ZXIgZ3N0LXB1bHNlIFNWTiBhcmUgYWRkZWQgY29weXJpZ2h0IHRvIHRoZSB0b3Agb2YKCSAgZmlsZXMgYW5kIGNvZGluZyBzdHlsZSBjaGFuZ2VzLgoKMjAwOC0wNi0wOSAyMDowMjowNSArMDAwMCAgQmVuamFtaW4gS2FtcG1hbm4gPGJlbmphbWluQGZsdWVuZG8uY29tPgoKCSAgZXh0L2NkaW8vOiBBbHNvIGV4dHJhY3QgYWxidW0gdGl0bGUgYW5kIGFsYnVtIGdlbnJlIGZyb20gQ0QtVEVYVCBpZiBhdmFpbGFibGUgKCM1MzcwMjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJlbmphbWluIEthbXBtYW5uICA8YmVuamFtaW4gYXQgZmx1ZW5kbyBkb3QgY29tPgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKGdzdF9jZGlvX2dldF9jZHRleHQpLAoJICAoZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzKToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pOgoJICBBbHNvIGV4dHJhY3QgYWxidW0gdGl0bGUgYW5kIGFsYnVtIGdlbnJlIGZyb20gQ0QtVEVYVCBpZgoJICBhdmFpbGFibGUgKCM1MzcwMjEpLgoKMjAwOC0wNi0wOSAwODo1MjowNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbXByb3ZlIG5lZ290aWF0aW9uIGEgYml0IG1vcmUgYnkgcGlja2luZyB0aGUgc21hbGxlc3QgcG9zc2libGUgcmVzb2x1dGlvbiB0aGF0IGlzIGxhcmdlciB0aGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19uZWdvdGlhdGUpOgoJICBJbXByb3ZlIG5lZ290aWF0aW9uIGEgYml0IG1vcmUgYnkgcGlja2luZyB0aGUgc21hbGxlc3QgcG9zc2libGUKCSAgcmVzb2x1dGlvbiB0aGF0IGlzIGxhcmdlciB0aGFuIHRoZSByZXNvbHV0aW9uIHNwZWNpZmllZCBpbiB0aGUKCSAgZmlyc3QgY2FwcyBlbnRyeSBvZiB0aGUgcGVlciBjYXBzLiBGaXhlcyBidWcgIzUzNjk5NC4KCjIwMDgtMDYtMDkgMDg6NDI6NDkgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIHN5cy92NGwyLzogRml4IGNvbXBpbGF0aW9uIHdpdGggbmV3ZXIgR0lUIGtlcm5lbHMgdGhhdCBkZXByZWNhdGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIG5ld2VyIEdJVCBrZXJuZWxzIHRoYXQgZGVwcmVjYXRlZAoJICBWNEwyX0NJRF9IQ0VOVEVSIGFuZCBWNEwyX0NJRF9WQ0VOVEVSLiBGaXhlcyBidWcgIzUzNjMxNy4KCjIwMDgtMDYtMDcgMTg6NDg6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZXF1aXJlIGxpYmNkaW8gPj0gMC43Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pOgoJICBSZXF1aXJlIGxpYmNkaW8gPj0gMC43Ni4KCjIwMDgtMDYtMDUgMTE6MDc6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UKCSAgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseSBhbmQgZGl2aWRlL211bHRpcGx5IGl0IGJ5IHRoZSBudW1iZXIKCSAgb2YgY2hhbm5lbHMgdG8gZ2V0IHRoZSBjb3JyZWN0IHJlc3VsdC4KCjIwMDgtMDYtMDUgMDk6NDU6MDAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENhdGNoIFVORVhQRUNURUQgd2hlbiBkb3duc3RyZWFtIGhhcyByZWFjaGVkIGVuZCBvZiBzZWdtZW50IGluIHJldmVyc2UgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBDYXRjaCBVTkVYUEVDVEVEIHdoZW4gZG93bnN0cmVhbSBoYXMgcmVhY2hlZCBlbmQgb2YKCSAgc2VnbWVudCBpbiByZXZlcnNlIG1vZGUuCgoyMDA4LTA2LTA0IDE4OjA4OjM1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggdHlwbyBpbiBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IHR5cG8gaW4gY29tbWVudAoKMjAwOC0wNi0wNCAxODowMzoyNCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQmVjYXVzZSB3ZSBkb24ndCBrbm93IHRoZSBmcmFtZSBvcmRlciB3ZSBuZWVkIHRvIHB1c2ggdGlsbCB0aGUgbmV4dCBrZXlmcmFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB0aGUgZnJhbWUgb3JkZXIgd2UgbmVlZCB0byBwdXNoIHRpbGwKCSAgdGhlIG5leHQga2V5ZnJhbWUKCjIwMDgtMDYtMDQgMTc6Mzk6MzEgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUHJvdmlkZSBhIGN1c3RvbSBuZWdvdGlhdGlvbiBmdW5jdGlvbiB0byBtYWtlIHN1cmUgdG8gcGljayB0aGUgaGlnaGVzdCBwb3NzaWJsZSBmcmFtZXJhdGUgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19maXhhdGUpLCAoZ3N0X3Y0bDJzcmNfbmVnb3RpYXRlKToKCSAgUHJvdmlkZSBhIGN1c3RvbSBuZWdvdGlhdGlvbiBmdW5jdGlvbiB0byBtYWtlIHN1cmUgdG8gcGljayB0aGUgaGlnaGVzdAoJICBwb3NzaWJsZSBmcmFtZXJhdGUgYW5kIHJlc29sdXRpb24uIEZpeGVzIGJ1ZyAjNTM2NjQ2LgoKMjAwOC0wNi0wNCAxNjo0OToyNiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU2V0IEVPUyB3aGVuIGdvaW5nIG91dCBvZiB0aGUgc2VnbWVudCBpbiByZXZlcnNlIHBsYXliYWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgU2V0IEVPUyB3aGVuIGdvaW5nIG91dCBvZiB0aGUgc2VnbWVudCBpbiByZXZlcnNlIHBsYXliYWNrCgoyMDA4LTA2LTA0IDE1OjE5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbTogQWRkIC1Xbm8tYXR0cmlidXRlcyB0byBDWFhGTEFHUyB0byBzdXBwcmVzcyB3YXJuaW5nIGNhdXNlZCBieSB0YWdsaWIgaGVhZGVycyAod2l0aCBnY2MgNC4zLjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOjoKCSAgQWRkIC1Xbm8tYXR0cmlidXRlcyB0byBDWFhGTEFHUyB0byBzdXBwcmVzcyB3YXJuaW5nIGNhdXNlZCBieQoJICB0YWdsaWIgaGVhZGVycyAod2l0aCBnY2MgNC4zLjEpLgoKMjAwOC0wNi0wNCAxMTo1OToxOCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSB0aGUgbmV3IGdzdF9ydHNwX2Nvbm5lY3Rpb25fZ2V0X2lwKCkgdG8gYWNjZXNzIHRoZSBJUCBhZGRyZXNzIG9mIGEgR3N0UlRTUENvbm5lY3Rpb24gc2luY2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIFVzZSB0aGUgbmV3IGdzdF9ydHNwX2Nvbm5lY3Rpb25fZ2V0X2lwKCkgdG8gYWNjZXNzIHRoZSBJUCBhZGRyZXNzCgkgIG9mIGEgR3N0UlRTUENvbm5lY3Rpb24gc2luY2UgaXQgaXMgYSBwcml2YXRlIG1lbWJlci4KCjIwMDgtMDYtMDQgMTA6NDI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IHV0aWxpdHkgZnVuY3Rpb25zIGluIGxpYmdzdHRhZyB0byBwcm9jZXNzIGNvdmVyYXJ0ICgjNTEyMzMzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlcik6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgVXNlIG5ldyB1dGlsaXR5IGZ1bmN0aW9ucyBpbiBsaWJnc3R0YWcgdG8gcHJvY2VzcyBjb3ZlcmFydCAoIzUxMjMzMykuCgoyMDA4LTA2LTA0IDA4OjU0OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFdlIGFjdHVhbGx5IHN1cHBvcnQgbGVmdC9zaWRlLCByaWdodC9zaWRlIGFuZCBtaWQvc2lkZSBmaWxlcy4gVGhlIGNvbnZlcnNpb24gdG8gbm9ybWFsLCBpbnRlcmwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgV2UgYWN0dWFsbHkgc3VwcG9ydCBsZWZ0L3NpZGUsIHJpZ2h0L3NpZGUgYW5kIG1pZC9zaWRlIGZpbGVzLiBUaGUKCSAgY29udmVyc2lvbiB0byBub3JtYWwsIGludGVybGVhdmVkIHN0ZXJlbyBpcyBkb25lIGJ5IGxpYmZsYWMuCgoyMDA4LTA2LTA0IDA3OjM2OjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBVbnJlZiB0aGUgd3JpdGUgY2FjaGUgaW4gZmluYWxpemUgaWYgaXQgd2FzIHNldCBhbmQgYWRkIGFkZCAiRklYTUUiIHRvIGEgY29tbWVudCB0aGF0IG5lZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2ZpbmFsaXplKSwKCSAgKGdzdF9lYm1sX3dyaXRlX3NldF9jYWNoZSk6CgkgIFVucmVmIHRoZSB3cml0ZSBjYWNoZSBpbiBmaW5hbGl6ZSBpZiBpdCB3YXMgc2V0IGFuZCBhZGQgYWRkICJGSVhNRSIKCSAgdG8gYSBjb21tZW50IHRoYXQgbmVlZHMgaXQuCgoyMDA4LTA2LTA0IDA2OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZSByZXF1ZXN0ZWQgc2luayBwYWRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZQoJICByZXF1ZXN0ZWQgc2luayBwYWRzIHRvIGd1YXJhbnR1ZWUgYSB1bmlxdWUgbmFtZS4gQWRkIGEgImNoYW5uZWwiCgkgIHByb3BlcnR5IHRvIEdzdEludGVybGVhdmVQYWQgdG8gbWFrZSBpdCBwb3NzaWJsZSBmb3IgYXBwbGljYXRpb25zCgkgIHRvIHJldHJpZXZlIHRoZSBjaGFubmVsIG51bWJlciBpbiB0aGUgb3V0cHV0IGZvciBldmVyeSBwYWQuCgkgIFVzZSBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljX3NpbXBsZSgpIGluc3RlYWQgb2YKCSAgZ190eXBlX3JlZ2lzdGVyX3N0YXRpYygpIHRvIHNhdmUgc29tZSByZWxvY2F0aW9ucy4KCjIwMDgtMDYtMDMgMTQ6MzU6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZW4gZ29pbmcgZnJvbSBQQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkgYXMgd2Ugb3RoZXJ3aXNlIGRlYWRsb2NrLgoJICBGaXhlcyBidWcgIzUzNjI1OC4KCjIwMDgtMDYtMDMgMDk6MDM6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIgdGhlIEdzdEludGVybGVhdmVQYWQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIChnc3RfaW50ZXJsZWF2ZV9jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyCgkgIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHR5cGUgZnJvbSBhIHRocmVhZHNhZmUgY29udGV4dC4KCjIwMDgtMDYtMDIgMTY6MTA6MDAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrLiBGaXhlcyAjNTM1MzAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X3ByZXYpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjay4gRml4ZXMgIzUzNTMwMC4KCSAgU21hbGwgY2xlYW51cHMuCgoyMDA4LTA2LTAyIDEyOjQyOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZQoJICBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgaW5wdXQgYXMgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9mIHRoZSBvdXRwdXQuCgkgIEZpeCBzb21lIGJyb2tlbiBsb2dpYyBhbmQgbWVtb3J5IGxlYWtzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyBjb3JyZWN0IGhhbmRsaW5nIG9mIGNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOC0wNi0wMiAxMjoyMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBXaGVuIHVzaW5nIGdzdF9lbGVtZW50X2l0ZXJhdGVfcGFkcygpIG9uZSBoYXMgdG8gdW5yZWYgZXZlcnkgcGFkIGFmdGVyIHVzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfdmlkZW9taXhlcl9xdWVyeV9sYXRlbmN5KToKCSAgV2hlbiB1c2luZyBnc3RfZWxlbWVudF9pdGVyYXRlX3BhZHMoKSBvbmUgaGFzIHRvIHVucmVmIGV2ZXJ5IHBhZAoJICBhZnRlciB1c2FnZS4KCjIwMDgtMDUtMzEgMTY6NTM6MjMgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogSW1wcm92ZSBtZXRhLWRhdGEgaGFuZGxpbmcsIGFkZCAnY29tbWVudCcsICdkZXNjcmlwdGlvbicgYW5kICdjb3B5cmlnaHQnIHRhZyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzIGF0IGhhZGVzcyBkb3QgbmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBJbXByb3ZlIG1ldGEtZGF0YSBoYW5kbGluZywgYWRkICdjb21tZW50JywgJ2Rlc2NyaXB0aW9uJyBhbmQKCSAgJ2NvcHlyaWdodCcgdGFnIGhhbmRsaW5nLgoJICBGaXhlcyAjNTM1OTM1CgoyMDA4LTA1LTMxIDE1OjMwOjQxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHdlIHdlIGRvbid0IGNsaXAgdGhlIHNlZ21lbnQncyBzdG9wIHVzaW5nIHRoZSBtYWluIHNlZ21lbnQgZHVyYXRpb24gYXMgdGhhdCBjb3VsZCBjci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNS0zMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9maW5kX2tleWZyYW1lKSwKCSAgKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfc2Vla190b19wcmV2aW91c19rZXlmcmFtZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwgKGdzdF9xdGRlbXV4X2xvb3ApOiBNYWtlIHN1cmUgd2UKCSAgd2UgZG9uJ3QgY2xpcCB0aGUgc2VnbWVudCdzIHN0b3AgdXNpbmcgdGhlIG1haW4gc2VnbWVudCBkdXJhdGlvbgoJICBhcwoJICB0aGF0IGNvdWxkIGNyb3AgcXVpdGUgc29tZSB2aWRlbyBmcmFtZXMuIE1ha2UgcmV2ZXJzZSBwbGF5YmFjawoJICBzdXBwb3J0CgkgIG1vcmUgcm9idXN0IGFuZCBzdXBwb3J0IGVkaXQgbGlzdHMuIFN1cHBvcnQgc2Vla2luZyB0byB0aGUgbGFzdAoJICBmcmFtZSwKCSAgYW5kIGZpeCByZXZlcnNlIGxvb3BpbmcgcGxheWJhY2suIEFkZCBzb21lIGRlYnVnZ2luZy4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6IFVwZGF0ZWQuCgoyMDA4LTA1LTMxIDA4OjM3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBjbGlwIGZsb2F0L2RvdWJsZSBzYW1wbGVzLCBjb3JyZWN0bHkgdW5zZXQgcGFzc3Rocm91Z2ggbW9kZSBhbmQgdXNlIGJldHRlciByb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIERvbid0IGNsaXAgZmxvYXQvZG91YmxlIHNhbXBsZXMsIGNvcnJlY3RseSB1bnNldCBwYXNzdGhyb3VnaCBtb2RlCgkgIGFuZCB1c2UgYmV0dGVyIHJvdW5kaW5nIGZvciBpbnRlZ2VyIHNhbXBsZXMuCgoyMDA4LTA1LTMwIDExOjAzOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci4qOiBVcGRhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgb25seSB3aGVuIG5lZWRlZCBpbiB0aGUgdHJhbnNmb3JtX2lwIGZ1bmN0aW9uIGFuZCBjb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKHNldF9wYXNzdGhyb3VnaCksICh1cGRhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBVcGRhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgb25seSB3aGVuIG5lZWRlZCBpbiB0aGUgdHJhbnNmb3JtX2lwCgkgIGZ1bmN0aW9uIGFuZCBjb3JyZWN0bHkgc2V0IHRoZSBlbGVtZW50IGludG8gcGFzc3Rocm91Z2ggbW9kZSBpZiB0aGUKCSAgZ2FpbiBvZiBhbGwgYmFuZHMgaXMgMC4KCjIwMDgtMDUtMjkgMTE6MzA6MTYgKzAwMDAgIFNlYmFzdGlhbiBLZWxsZXIgPHNlYmFzdGlhbi1rZWxsZXJAZ214LmRlPgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhLmM6IFRyeSB0byBza2lwIHBpeGVscyBvciBhcmVhcyB0aGF0IGFyZSB0b28gZGFyayBvciB0b28gYnJpZ2h0IGZvciB1cyB0byBkbyBtZWFuaW5nZnVsbCBjb2xvciBkZXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU2ViYXN0aWFuIEtlbGxlciA8c2ViYXN0aWFuLWtlbGxlciBhdCBnbXggZG90IGRlPgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NsYXNzX2luaXQpLCAoZ3N0X2FscGhhX2luaXQpLAoJICAoZ3N0X2FscGhhX3NldF9wcm9wZXJ0eSksIChnc3RfYWxwaGFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hbHBoYV9jaHJvbWFfa2V5X2F5dXYpLCAoZ3N0X2FscGhhX2Nocm9tYWtleV9yb3dfaTQyMCk6CgkgIFRyeSB0byBza2lwIHBpeGVscyBvciBhcmVhcyB0aGF0IGFyZSB0b28gZGFyayBvciB0b28gYnJpZ2h0IGZvciB1cyB0byBkbwoJICBtZWFuaW5nZnVsbCBjb2xvciBkZXRlY3Rpb24uCgkgIEFkZGVkIHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgc2Vuc2l0aXZpdHkgdG8gbGlnaHQgYW5kIGRhcmtuZXNzLgoJICBBZGRlZCBzb21lIHNtYWxsIGNsZWFudXBzLiBGaXhlcyAjNTEyMzQ1LgoKMjAwOC0wNS0yOCAyMDowMTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBJZ25vcmUgc29tZSBtb3JlIGdlbmVyYXRlZCB0aGluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgSWdub3JlIHNvbWUgbW9yZSBnZW5lcmF0ZWQgdGhpbmdzCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBPU1MgZWxlbWVudHMgaW4gdGhlIHN0YXRlIGNoYW5nZXMgdGVzdCB0b28uCgoyMDA4LTA1LTI4IDE2OjIyOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIFNNUFRFIGVmZmVjdCBlbGVtZW50cyB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBTTVBURSBlZmZlY3QgZWxlbWVudHMgdG8gZG9jcy4KCjIwMDgtMDUtMjggMTQ6MzE6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvY3VtZW50IHdoYXRzIGZpcnN0IHNob3duIG9uIHRoZSBmZG8gcGx1Z2luIGRvY3MgcGFnZSA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIERvY3VtZW50IHdoYXRzIGZpcnN0IHNob3duIG9uIHRoZSBmZG8gcGx1Z2luIGRvY3MgcGFnZSA6KQoKMjAwOC0wNS0yOCAxNDowNzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmVuYW1lIGF1ZGlvdm9pY2UgdG8gYXVkaW9rYXJhb2tlIGFuZCBhZGQgaXQgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW92b2ljZS5oOgoJICBSZW5hbWUgYXVkaW92b2ljZSB0byBhdWRpb2thcmFva2UgYW5kIGFkZCBpdCB0byB0aGUgZG9jcy4KCjIwMDgtMDUtMjggMTM6Mjg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvY3VtZW50IGFhc2luayBhbmQgY2FjYXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgRG9jdW1lbnQgYWFzaW5rIGFuZCBjYWNhc2luay4KCjIwMDgtMDUtMjggMDg6MzY6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuKjogZHVyYXRpb24gYW5kIGxhdGVuY3kgcXVlcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfdmlkZW9taXhlcl9xdWVyeV9sYXRlbmN5KSwgKGdzdF92aWRlb21peGVyX3F1ZXJ5KSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgSW1wbGVtZW50IHBvc2l0aW9uIChpbiB0aW1lKSwgZHVyYXRpb24gYW5kIGxhdGVuY3kgcXVlcmllcy4KCjIwMDgtMDUtMjggMDg6MTQ6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCjIwMDgtMDUtMjcgMTc6NTU6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLio6IEltcGxlbWVudCBwcm9wZXIgc2Vlay9uZXdzZWdtZW50IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksIChmb3J3YXJkX2V2ZW50X2Z1bmMpLAoJICAoZm9yd2FyZF9ldmVudCksIChnc3RfdmlkZW9taXhlcl9zcmNfZXZlbnQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2lua19ldmVudCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBJbXBsZW1lbnQgcHJvcGVyIHNlZWsvbmV3c2VnbWVudCBoYW5kbGluZy4KCSAgQmFzZWQgb24gYWRkZXIncyBpbXBsZW1lbnRhdGlvbi4KCSAgRml4ZXMgIzUzNTEyMQoKMjAwOC0wNS0yNiAxNjoyNToxNSArMDAwMCAgal4gPGpAb2lsMjEub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgY2FwcyBmb3IgRFZDUFJPNTAgYW5kIERWQ1BSTyBIRCBQQUwvTlRTQy4gU2VlICM1MjY0ODEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgb2lsMjEgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgY2FwcyBmb3IgRFZDUFJPNTAgYW5kIERWQ1BSTyBIRCBQQUwvTlRTQy4gU2VlICM1MjY0ODEuCgoyMDA4LTA1LTI2IDE1OjUxOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgc2ltcGxlIHZvaWNlIHJlbW92YWwgZWxlbWVudC4gWWF5IGthcmFva2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmM6IChnc3RfYXVkaW9fdm9pY2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb192b2ljZV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb192b2ljZV9pbml0KSwKCSAgKHVwZGF0ZV9maWx0ZXIpLCAoZ3N0X2F1ZGlvX3ZvaWNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fdm9pY2VfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb192b2ljZV9zZXR1cCksCgkgIChnc3RfYXVkaW9fdm9pY2VfdHJhbnNmb3JtX2ludCksIChnc3RfYXVkaW9fdm9pY2VfdHJhbnNmb3JtX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb192b2ljZV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvdm9pY2UuaDoKCSAgQWRkIHNpbXBsZSB2b2ljZSByZW1vdmFsIGVsZW1lbnQuIFlheSBrYXJhb2tlLgoKMjAwOC0wNS0yNiAxNTozOToyNiArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeCBwb3RlbnRpYWwgY2FwcyBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gZG90IGNvbSBkb3QgaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgRml4IHBvdGVudGlhbCBjYXBzIGxlYWsuCgkgIElmIHdlIGNhbid0IGdldCB0aGUgZnJhbWVyYXRlIHdpdGggYW4gaW9jdGwsIHRyeSB0byBnZXQgaXQgd2l0aCB0aGUKCSAgY3VycmVudCBub3JtLiBGaXhlcyAjNTIwMDkyLgoKMjAwOC0wNS0yNiAxNToxNDo1NSArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IElmIHdlIGZhaWwgdG8gZ2V0IHRoZSBmcmFtZSBpbnRlcnZhbHMsIHNpbXBseSBkb24ndCB0b3VjaCB0aGUgZnJhbWVyYXRlcyBvbiB0aGUgdGVtcGxhdGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGRvdCBjb20gZG90IGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIElmIHdlIGZhaWwgdG8gZ2V0IHRoZSBmcmFtZSBpbnRlcnZhbHMsIHNpbXBseSBkb24ndCB0b3VjaCB0aGUgZnJhbWVyYXRlcwoJICBvbiB0aGUgdGVtcGxhdGUgY2FwcyBpbnN0ZWFkIG9mIGRpc2NhcmRpbmcgdGhlIGZvcm1hdC4gU2VlICM1MjAwOTIuCgoyMDA4LTA1LTI2IDE0OjUyOjUxICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIE5WMTIsIE5WMjEgYW5kIGJheWVyIHN1cHBvcnQuIFNlZSAjNTIwMDkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gZG90IGNvbSBkb3QgaGs+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyk6CgkgIEFkZCBOVjEyLCBOVjIxIGFuZCBiYXllciBzdXBwb3J0LiBTZWUgIzUyMDA5Mi4KCjIwMDgtMDUtMjYgMTM6NTE6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVuYnJlYWsgc2VnbWVudCBhY3RpdmF0aW9uIGFnYWluLiBGaXhlcyAjNTMxNjcyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIFVuYnJlYWsgc2VnbWVudCBhY3RpdmF0aW9uIGFnYWluLiBGaXhlcyAjNTMxNjcyLgoKMjAwOC0wNS0yNiAxMDoyODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfMjQpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KSwKCSAgKGZvcndhcmRfZXZlbnRfZnVuYyksIChmb3J3YXJkX2V2ZW50KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgTWFqb3IgcmV3cml0ZSBvZiBpbnRlcmxlYXZlIHVzaW5nIEdzdENvbGxlY3RwYWRzLiBUaGlzIG5ldyB2ZXJzaW9uCgkgIGFsc28gc3VwcG9ydHMgYWxtb3N0IGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgaGFzIGJldHRlciBjYXBzCgkgIG5lZ290aWF0aW9uLiBGaXhlcyBidWcgIzUwNjU5NC4KCSAgQWxzbyB1cGRhdGUgZG9jcyBhbmQgYWRkIHNvbWUgbW9yZSBleGFtcGxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMiksIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksCgkgIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBleHRlbnNpdmUgdW5pdCB0ZXN0cyBmb3IgaW50ZXJsZWF2ZS4KCjIwMDgtMDUtMjYgMDk6NTc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IChzd2l0Y2hfdGltZXIpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKHNlbmRfdGFnX2V2ZW50KToKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgoyMDA4LTA1LTI1IDE2OjA5OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy86IFNldCB0aGUgY2hhbm5lbCBsYXlvdXQgd2hlbiBkZWNvZGluZyBGTEFDIGZpbGVzIHdpdGggbW9yZSB0aGFuIDIgY2hhbm5lbHMgYXMgZGVmaW5lZCBieSB0aGUgRkxBQyBzcGVjLiBGaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgU2V0IHRoZSBjaGFubmVsIGxheW91dCB3aGVuIGRlY29kaW5nIEZMQUMgZmlsZXMgd2l0aCBtb3JlIHRoYW4gMgoJICBjaGFubmVscyBhcyBkZWZpbmVkIGJ5IHRoZSBGTEFDIHNwZWMuIEZpeGVzIGJ1ZyAjNTM0NTcwLgoJICBBbHNvIGRvbid0IHRyeSB0byBkZWNvZGUgbGVmdC9zaWRlLCByaWdodC9zaWRlIGFuZCBtaWQvc2lkZSBmaWxlcwoJICBhcyB3ZSBkb24ndCBzdXBwb3J0IHRoaXMgYXQgYWxsLgoKMjAwOC0wNS0yNCAxMjo1NTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgbmVlZCAtYmFzZSBDVlMgKHJ0c3ApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIG5lZWQgLWJhc2UgQ1ZTIChydHNwKS4KCjIwMDgtMDUtMjIgMTk6NDc6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdAoJICBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYSBwYXJhcHJhcGggYWJvdXQgdXNpbmcgYSBxdWV1ZSBhbmQgYXVkaW9jb252ZXJ0IGFmdGVyIHRoZSBzb3VyY2UKCSAgcGFkcyB0byB0aGUgZG9jcy4KCjIwMDgtMDUtMjIgMTg6NTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkIGFuZCB0aGUgZGVmYXVsdCBnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2dldGNhcHMpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkCgkgIGFuZCB0aGUgZGVmYXVsdCBnZXRjYXBzKCkgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29ycmVjdCByZXN1bHRzIGZvcgoJICBvdXIgc3JjIHBhZHMuCgkgIENvbXBsZXRlIGRvY3VtZW50YXRpb24gYW5kIGFkZCBteXNlbGYgdG8gdGhlIGF1dGhvcnMgb2YgdGhlIGVsZW1lbnQuCgoyMDA4LTA1LTIyIDE0OjQ5OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3VkcC9NYWtlZmlsZS5hbTogQWRkIC1EX0dOVV9TT1VSQ0UgdG8gQ0ZMQUdTIHNvIHdlIGdldCB0aGluZ3MgbGlrZSBFQUlfQUREUkZBTUlMWSB3aGVuIGluY2x1ZGluZyBuZXRkYi5oIHdoZW4gYnVpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgIEFkZCAtRF9HTlVfU09VUkNFIHRvIENGTEFHUyBzbyB3ZSBnZXQgdGhpbmdzIGxpa2UgRUFJX0FERFJGQU1JTFkKCSAgd2hlbiBpbmNsdWRpbmcgbmV0ZGIuaCB3aGVuIGJ1aWxkaW5nIGFnYWluc3QgZ2xpYmMgPj0gMi44LgoKMjAwOC0wNS0yMiAxMToxOTowMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOiBGaXggZGVidWcgc3RhdGVtZW50IGFyZ3VtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDUtMjIgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzogKGdzdF9zbXB0ZV9hbHBoYV9zZXRjYXBzKTogRml4CgkgIGRlYnVnIHN0YXRlbWVudCBhcmd1bWVudHMuCgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfc2V0dXBfcW9zX2RzY3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfam9pbl9ncm91cCksCgkgIChnc3RfdWRwX2xlYXZlX2dyb3VwKTogRml4IElQIGFuZCBJUFY2IG9wdGlvbnMgdG8gbWFrZSBpdCB3b3JrCgkgIG9uIG1vcmUgcGxhdGZvcm1zLgoKMjAwOC0wNS0yMSAxNzo1MTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCwgYmFkIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfc2lua19wYWQpLCAodGVhcmRvd25fc2lua19wYWQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpLAoJICAoc2V0dXBfd2F2cGFja3BhcnNlKSwgKGNsZWFudXBfd2F2cGFja3BhcnNlKToKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCwgYmFkIG1ldGhvZC4KCjIwMDgtMDUtMjEgMTc6Mzk6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLCBpdCdzIGEgYmFkIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksIChnc3RfcnRzcHNyY19za2lwX2x3cyksCgkgIChnc3RfcnRzcHNyY191bnNraXBfbHdzKSwgKGdzdF9ydHNwc3JjX3NraXBfY29tbWFzKSwKCSAgKGdzdF9ydHNwc3JjX3NraXBfaXRlbSksIChnc3RfcnRzcF9kZWNvZGVfcXVvdGVkX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9kaWdlc3RfY2hhbGxlbmdlKSwgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAodGVzdF93aXRoX2NhcHMpLAoJICAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKToKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCBtZXRob2QuCgoyMDA4LTA1LTIxIDE3OjM1OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC86IEpvaW5pbmcgYSBtdWx0aWNhc3QgZ3JvdXAgYW5kIHNldHRpbmcgdGhlIGxvb3AvdHRsIHByb3BlcnRpZXMgYXJlIHRvdGFsbHkgdW5yZWxhdGVkIHRhc2tzIGFyZSBtdXN0IGJlIHNlcGFyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9zZXRfbG9vcF90dGwpLAoJICAoZ3N0X3VkcF9qb2luX2dyb3VwKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBKb2luaW5nIGEgbXVsdGljYXN0IGdyb3VwIGFuZCBzZXR0aW5nIHRoZSBsb29wL3R0bCBwcm9wZXJ0aWVzIGFyZQoJICB0b3RhbGx5IHVucmVsYXRlZCB0YXNrcyBhcmUgbXVzdCBiZSBzZXBhcmF0ZWQuCgoyMDA4LTA1LTIxIDE0OjA5OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBBbHNvIHN1cHBvcnQgYWxhdy9tdWxhdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgQWxzbyBzdXBwb3J0IGFsYXcvbXVsYXcuCgoyMDA4LTA1LTIxIDEzOjQ3OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIGEgZml4bWUgZm9yIHRoZSBhdXRvLW11bHRpY2FzdCBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3NldHVwX3Fvc19kc2NwKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgYSBmaXhtZSBmb3IgdGhlIGF1dG8tbXVsdGljYXN0IHByb3BlcnR5LgoJICBGaXggc29tZSBjb25mdXNpbmcgZGVidWcgbWVzc2FnZXMuCgkgIERpc2FibGUgc2V0dGluZyBhIHFvcyB2YWx1ZSBieSBkZWZhdWx0LgoKMjAwOC0wNS0yMSAxMTozODoxNyArMDAwMCAgR3VzdGFmIFLDpG50aWzDpCA8Zy5yYW50aWxhQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IElnbm9yZSBFUEVSTSBlcnJvcnMgZnJvbSBzZW5kdG8uIEZpeGVzICM1MzM2MTkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogR3VzdGFmIFLDpG50aWzDpCA8ZyBkb3QgcmFudGlsYSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcik6CgkgIElnbm9yZSBFUEVSTSBlcnJvcnMgZnJvbSBzZW5kdG8uIEZpeGVzICM1MzM2MTkuCgoyMDA4LTA1LTIxIDEwOjUxOjUyICswMDAwICBIZW5yaWsgRXJpa3Nzb24gPGhlbnJpa2VuQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIHFvcy1kc2NwIHByb3BlcnR5IHRvIG1hbmFnZSB0aGUgUXVhbGl0eSBvZiBzZXJ2aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEhlbnJpayBFcmlrc3NvbiA8aGVucmlrZW4gYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0dXBfcW9zX2RzY3ApLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBxb3MtZHNjcCBwcm9wZXJ0eSB0byBtYW5hZ2UgdGhlIFF1YWxpdHkgb2Ygc2VydmljZS4KCjIwMDgtMDUtMjEgMTA6MDk6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IEltcHJvdmUgZGVidWdnaW5nIG9mIHRoZSBpZGVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcHJvY2Vzcyk6CgkgIEltcHJvdmUgZGVidWdnaW5nIG9mIHRoZSBpZGVudC4KCjIwMDgtMDUtMjEgMDk6NTY6MDIgKzAwMDAgIEJydW5vIFNhbnRvcyA8YnJ1bm9mQHVhLnB0PgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy4qOiBQcm92aWRlIGEgYnVuY2ggb2YgaGVscGVyIG1ldGhvZHMgdG8gZGVhbCB3aXRoIElQdjQgYW5kIElQdjYgdHJhbnNwYXJlbnRseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcnVubyBTYW50b3MgPGJydW5vZiBhdCB1YSBkb3QgcHQ+CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9nZXRfYWRkciksCgkgIChnc3RfdWRwX2pvaW5fZ3JvdXApLCAoZ3N0X3VkcF9sZWF2ZV9ncm91cCksCgkgIChnc3RfdWRwX2lzX211bHRpY2FzdCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBQcm92aWRlIGEgYnVuY2ggb2YgaGVscGVyIG1ldGhvZHMgdG8gZGVhbCB3aXRoIElQdjQgYW5kIElQdjYKCSAgdHJhbnNwYXJlbnRseS4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChqb2luX211bHRpY2FzdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIG11bHRpY2FzdCBUVEwgYW5kIGxvb3BiYWNrIHByb3BlcnRpZXMuCgkgIFVzZSB0aGUgaGVscGVyIG1ldGhvZHMgdG8gaW1wbGVtZW50IGlwNCBhbmQgaXA2LgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBVc2UgdGhlIGhlbHBlciBtZXRob2RzIHRvIGltcGxlbWVudCBpcDQgYW5kIGlwNi4KCSAgRml4ZXMgIzUxNTk2Mi4KCjIwMDgtMDUtMjEgMDk6Mzg6NDggKzAwMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aUBheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguKjogRG9uJ3QgYmxpbmRseSBjb3B5IHRoZSBtaW1lLXR5cGUgYXMgdGhlIGNhcHMgbmFtZSBiZWNhdXNlIHRoZXkgbm90IGFsd2F5cyBtYXAgZGlyZWN0bC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrIGRvdCByYWRpemkgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2dldF9nc3RuYW1lKSwKCSAgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIERvbid0IGJsaW5kbHkgY29weSB0aGUgbWltZS10eXBlIGFzIHRoZSBjYXBzIG5hbWUgYmVjYXVzZSB0aGV5IG5vdAoJICBhbHdheXMgbWFwIGRpcmVjdGx5LiBJbnN0ZWFkIHVzZSBhIGhhc2h0YWJsZSB3aXRoIGNvbW1vbiBtYXBwaW5ncy4KCSAgRml4ZXMgIzUzMzI4Ny4KCjIwMDgtMDUtMjAgMTc6Mjc6MzUgKzAwMDAgIE1pY2hhZWwgTWVla3MgPG1tZWVrc0B4aW1pYW4ub3JnPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFdoZW4gd2UgcG9zdCBhbiBlcnJvciwgd2UgbXVzdCByZXR1cm4gLTEgdG8gbGV0IHRoZSBwYXJlbnQga25vdyB0aGF0IHdlIGNhbm5vdCB3cml0ZSB0aGUgc2VnbWVudCBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfd3JpdGUpOgoJICBXaGVuIHdlIHBvc3QgYW4gZXJyb3IsIHdlIG11c3QgcmV0dXJuIC0xIHRvIGxldCB0aGUgcGFyZW50IGtub3cgdGhhdCB3ZQoJICBjYW5ub3Qgd3JpdGUgdGhlIHNlZ21lbnQgZWxzZSBpdCB3aWxsIGxvb3AgYW5kIGNvbnRpbnVlIHRvIGNhbGwgdXMgYWdhaW4KCSAgZm9yZXZlci4gUGF0Y2ggYnkgTWljaGFlbCBNZWVrcy4KCjIwMDgtMDUtMjAgMTQ6MjQ6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogQWRkIG1pc3NpbmcgaW5jdWRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBBZGQgbWlzc2luZyBpbmN1ZGVzLgoKMjAwOC0wNS0yMCAxMzo1Nzo0NCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogQ29ycmVjdCBhIHR5cG8gKHNpbmxlIC0+IHNpbmdsZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X2gyNjRfc2Nhbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIENvcnJlY3QgYSB0eXBvIChzaW5sZSAtPiBzaW5nbGUpLgoKMjAwOC0wNS0yMCAxMTozMzowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lio6IEFkZCBleHBlcmltZW50YWwgc3VwcG9ydCBmb3Igb3V0cHV0dGluZyBxdWlja3RpbWUtbGlrZSBBVkMgb3V0cHV0IGluIGFkZGl0aW9uIHRvIHRoZSBleGlzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBBZGQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIG91dHB1dHRpbmcgcXVpY2t0aW1lLWxpa2UgQVZDIG91dHB1dCBpbgoJICBhZGRpdGlvbiB0byB0aGUgZXhpc3RpbmcgYnl0ZXN0cmVhbSBvdXRwdXQuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfaDI2NF9zY2FuX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2NF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X3BheV9wYXlsb2FkX25hbCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBNYWtlIHRoZSBwYXJzaW5nIG1vZGUgY29uZmlndXJhYmxlLCBmb3Igc29tZSBpbnB1dHMgd2UgZG9uJ3QgbmVlZCB0bwoJICBzY2FuIGV2ZXJ5IGJ5dGUgZm9yIHN0YXJ0IGNvZGVzLgoJICBPbmx5IHNldCB0aGUgbWFya2VyIGJpdCBvbiBBQ0NFU1MgdW5pdHMuCgoyMDA4LTA1LTIwIDEwOjQ3OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBVc2UgYSBiaWdnZXIgdHlwZSBpbiBpbnRlZ2VyIG1vZGUgZm9yIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0cyB0byBwcmV2ZW50IG92ZXJmbG93cy4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgVXNlIGEgYmlnZ2VyIHR5cGUgaW4gaW50ZWdlciBtb2RlIGZvciB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdHMgdG8KCSAgcHJldmVudCBvdmVyZmxvd3MuIFRoaXMgZml4ZXMgdGhlIGNyaXBwbGVkIHNvdW5kIHdoZW4gdXNpbmcgdGhlCgkgIGVxdWFsaXplciBpbiBpbnRlZ2VyIG1vZGUuIEZpeGVzIGJ1ZyAjNTEwODY1LgoKMjAwOC0wNS0yMCAxMDo0MjozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLio6IEluc3RlYWQgb2YgYSByYW5kb20gbnVtYmVyIGZvciB0aGUgcmVxdWVzdCBwYWQgaWQncywgdXNlIGEgY291bnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgSW5zdGVhZCBvZiBhIHJhbmRvbSBudW1iZXIgZm9yIHRoZSByZXF1ZXN0IHBhZCBpZCdzLAoJICB1c2UgYSBjb3VudGVyLgoJICBSZWdpc3RlciB0aGUgdmlkZW9taXhlcnBhZCBjbGFzcyBmcm9tIHRoZSBlbGVtZW50J3MgY2xhc3NfaW5pdAoJICB3aGVyZSBpdCdzIHNhZmVyLCBhbmQgYWxsb3dzIHRoZSBkb2NzIGdlbmVyYXRvciB0byBzY2FuIGl0LgoKMjAwOC0wNS0yMCAwOToyOToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS86IEFkZCBuZXcgcGx1Z2luIHRoYXQgYWRkcyB0aGUgU01QVEUgdHJhbnNpdGlvbiBpbiB0aGUgYWxwaGEgY2hhbm5lbCBvZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIChnc3Rfc21wdGVfYWxwaGFfdHJhbnNpdGlvbl90eXBlX2dldF90eXBlKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9nZXRfdHlwZSksIChnc3Rfc21wdGVfYWxwaGFfYmFzZV9pbml0KSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9jbGFzc19pbml0KSwgKGdzdF9zbXB0ZV9hbHBoYV91cGRhdGVfbWFzayksCgkgIChnc3Rfc21wdGVfYWxwaGFfc2V0Y2FwcyksIChnc3Rfc21wdGVfYWxwaGFfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc21wdGVfYWxwaGFfaW5pdCksIChnc3Rfc21wdGVfYWxwaGFfZmluYWxpemUpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2RvX2F5dXYpLCAoZ3N0X3NtcHRlX2FscGhhX2RvX2k0MjApLAoJICAoZ3N0X3NtcHRlX2FscGhhX3RyYW5zZm9ybSksIChnc3Rfc21wdGVfYWxwaGFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NtcHRlX2FscGhhX3BsdWdpbl9pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICAqIGdzdC9zbXB0ZS9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBwbHVnaW4gdGhhdCBhZGRzIHRoZSBTTVBURSB0cmFuc2l0aW9uIGluIHRoZSBhbHBoYSBjaGFubmVsIG9mCgkgIEk0MjAgYW5kIEFZVVYgZnJhbWVzIHNvIHRoYXQgdGhleSBjYW4gYmUgYmxlbmRlZCB3aXRoIHZpZGVvbWl4ZXIgbGF0ZXIKCSAgb24uIFVzZXMgYWxsIG5pY2V0aWVzIHN1Y2ggYXMgdXNpbmcgYmFzZSB0cmFuc2Zvcm0gZm9yIGVmZmljaWVudCBhbGxvYwoJICBhbmQgbmVnb3RpYXRpb24uIEl0IGN1cnJlbnRseSByZXF1aXJlcyBHc3RDb250cm9sbGVyIHRvIGNvbnRyb2wgdGhlCgkgIHBvc2l0aW9uIGluIHRoZSB0cmFuc2l0aW9uIGVmZmVjdC4KCjIwMDgtMDUtMTkgMjE6MDU6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFRyeSB1c2luZyB0aGF5dGFucyBuZXcgbWVjaGFuaXNtIHRvIGdldCBleHRyYSBjbGFzc2VzIGludG8gcGx1Z2luIGRvY3MuIEFwYXJlbnRseSB3b3JrcyBmb3IgdGhlIEVxLiBGb3IgVmlkZW9NaXhlciB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMudHlwZXM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBUcnkgdXNpbmcgdGhheXRhbnMgbmV3IG1lY2hhbmlzbSB0byBnZXQgZXh0cmEgY2xhc3NlcyBpbnRvIHBsdWdpbgoJICBkb2NzLiBBcGFyZW50bHkgd29ya3MgZm9yIHRoZSBFcS4gRm9yIFZpZGVvTWl4ZXIgdGhlIEdPYmplY3Qgc3R1ZmYgaXMKCSAgbWlzc2luZyBzdGlsbC4KCjIwMDgtMDUtMTkgMTI6MzI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZSB0aGF0IHRoZSBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUKCSAgdGhhdCB0aGUgb3JpZ2luYWwgY2hhbm5lbCBwb3NpdGlvbiBpcyBzZXQgb24gdGhlIG91dHB1dC4KCjIwMDgtMDUtMTkgMDc6NDY6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbiB0aGUgbW9ubyBvdXRwdXQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24KCSAgdGhlIG1vbm8gb3V0cHV0IGJ1ZmZlcnMgb3Igc2hvdWxkIGJlIGRyb3BwZWQuCgoyMDA4LTA1LTE4IDE5OjI3OjU5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFNldCBwcm9wZXIgcmF0ZSBpbiBhdmkgc3RyZWFtIGhlYWRlciBmb3IgUENNIGF1ZGlvLCBhbmQgYWxzbyBkbyBzb21lIG1vcmUgc2FuaXR5IGNoZWNrcyBvbiBjYXBzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2Fwcyk6CgkgIFNldCBwcm9wZXIgcmF0ZSBpbiBhdmkgc3RyZWFtIGhlYWRlciBmb3IgUENNIGF1ZGlvLCBhbmQgYWxzbyBkbyBzb21lCgkgIG1vcmUgc2FuaXR5IGNoZWNrcyBvbiBjYXBzIGluIHRoaXMgY2FzZS4gIEZpeGVzICM1MTE0ODkuCgoyMDA4LTA1LTE3IDE5OjM5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZSBkb3duc3RyZWFtIHdpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZQoJICBkb3duc3RyZWFtIHdpbGwgbmV2ZXIgZ2V0IHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LgoKMjAwOC0wNS0xNyAxNDowNTowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpIHJldHVybnMgc29tZXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKToKCSAgQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkKCSAgcmV0dXJucyBzb21ldGhpbmcsIGV2ZW4gaWYgdGhleSdyZSBub3Qgc2V0IGluIHRoZSBjYXBzLiBUaGlzIG1ha2VzCgkgIHN1cmUgdGhhdCB0aGUgb3V0cHV0IGNoYW5uZWxzIGNhbiBiZSBpbnRlcmxlYXZlZCBhZ2FpbiBjb3JyZWN0bHkKCSAgaW4gdGhlIG1vbm8vc3RlcmVvIGNhc2VzIHRvby4KCSAgRG9uJ3QgYXNrIGZvciB0aGUgcGVlcmNhcHMgb2YgdGhlIGN1cnJlbnQgcGFkIGluIGdldGNhcHMoKSBhcyB0aGlzCgkgIG1pZ2h0IGNhbGwgZ2V0Y2FwcygpIGFnYWluIGFuZCBkZWFkbG9jay4KCjIwMDgtMDUtMTcgMTA6Mzg6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogRG9uJ3QgaW5jbHVkZSB0aGUgZ3N0djRsMnhvdmVybGF5LmggaGVhZGVyIGFzIHRoZSBYT3ZlcmxheSBzdXBwb3J0IGlzbid0IGltcGxlbWVudGVkIGF0IGFsbCB5ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIERvbid0IGluY2x1ZGUgdGhlIGdzdHY0bDJ4b3ZlcmxheS5oIGhlYWRlciBhcyB0aGUgWE92ZXJsYXkgc3VwcG9ydAoJICBpc24ndCBpbXBsZW1lbnRlZCBhdCBhbGwgeWV0IGFuZCB0aGlzIHJlcXVpcmVzIFggaGVhZGVycyB0byBiZQoJICBpbnN0YWxsZWQuIEZpeGVzIGJ1ZyAjNTMzMjY0LgoKMjAwOC0wNS0xNiAyMTo1NjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbiBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbgoJICBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIERvbid0IGFsbG93IGNoYW5nZXMgb2YgdGhlIGNoYW5uZWwgcG9zaXRpb25zIGFuZCBzZXQgdGhlIHBvc2l0aW9uIG9mCgkgIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5uZWwgb24gdGhlIHNyYyBwYWQgY2Fwcy4KCSAgR2VuZXJhbCBjbGVhbnVwIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKToKCSAgQ2hlY2sgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBvdXRwdXQgYnVmZmVyIGNhcHMuCgoyMDA4LTA1LTE2IDE3OjUwOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMDUtMTQgMTg6Mjg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBTbWFsbCBjb21tZW50IGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBTbWFsbCBjb21tZW50IGFkZGVkLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZGVjb2RlX25hbCksIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9wYXlsb2FkX25hbCksIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBEZWJ1ZyBzdHJpbmcgY2xlYW51cHMgKHJlbW92ZSB0cmFpbGluZyBcbikKCSAgUmVmYWN0b3IgYW5kIGNsZWFuIHVwIHRoZSBwYXlsb2FkZXIgYSBiaXQgYW5kIG1ha2Ugc3VyZSB0aGF0IHdlIG9ubHkKCSAgcHV0IG9uZSBOQUwgdW5pdCBpbiBhbiBSVFAgcGFja2V0IGV2ZW4gaWYgdGhlIGlucHV0IGJ1ZmZlciBjb250YWlucwoJICBtdWx0aXBsZSBOQUwgdW5pdHMuCgkgIEFkZCBzdXBvcnQgZm9yIEFWQyBmb3JtYXQgaW5wdXQuCgoyMDA4LTA1LTE0IDE3OjU4OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS4qOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkgcHJvZmlsZS1sZXZlbC1pZCBhbmQgc3Byb3AtcGFyYW1ldGVyLXNldHMgdXNpbmcgcHJvcGVydGllcyBpbiBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjRfcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc3BlY2lmeSBwcm9maWxlLWxldmVsLWlkIGFuZCBzcHJvcC1wYXJhbWV0ZXItc2V0cwoJICB1c2luZyBwcm9wZXJ0aWVzIGluIGNhc2UgdGhleSBhcmUgbm90IGF2YWlsYWJsZSBpbi1zdHJlYW0uCgoyMDA4LTA1LTE0IDE0OjE5OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcwoJICB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIHZhbGdyaW5kL2xpYmMgYWZ0ZXIgX2V4aXQgZm9yIHNvbWUKCSAgcmVhc29uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAocGFkc19jcmVhdGVkKSwKCSAgKHNldF9jaGFubmVsX3Bvc2l0aW9ucyksIChzcmNfaGFuZG9mZl9mbG9hdDMyXzhjaCksCgkgIChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpLAoJICAobWFrZV9mYWtlX3NyY184Y2hhbnNfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgYml0cyBJIGhhZCBsb2NhbGx5LgoKMjAwOC0wNS0xNCAxMjo1MjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGxhZHNwYSBmcm8gcGx1Z2luLWRvY3MsIGl0cyBpbiBnc3QtcGx1Z2lucy1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgUmVtb3ZlIGxhZHNwYSBmcm8gcGx1Z2luLWRvY3MsIGl0cyBpbiBnc3QtcGx1Z2lucy1iYWQuCgoyMDA4LTA1LTE0IDA3OjMyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgIFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbgoJICBnZW5lcmF0aW9uLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgIERvbid0IHVzZSBhbGxvY2EsIGFsbG93IGNhcHMgY2hhbmdlcyBhcyBsb25nIGFzIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCSAgZG9lcyBub3QgY2hhbmdlLCBkb24ndCB1c2UgZ193YXJuaW5nLCByZXR1cm4gTk9UX05FR09USUFURUQgYXMgZWFybHkKCSAgYXMgcG9zc2libGUgYW5kIHNvbWUgb3RoZXIgY2xlYW51cC4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIERvIHNvbWUgcmFuZG9tIGNsZWFudXAuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfY2hhaW5fZnVuYyksIChkZWludGVybGVhdmVfcGFkX2FkZGVkKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgZGVpbnRlcmxlYXZlIGVsZW1lbnQuCgoyMDA4LTA1LTEzIDIwOjI1OjIwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFNlbmQgYW4gaW5pdGlhbCBCWVRFIHNlZ21lbnQgdG8gaW5mb3JtIGRvd25zdHJlYW0gb2YgbGF0ZXIgc2Vla2luZywgYW5kIHRvIGZvcmVnbyBzeW5jIGF0dGVtcHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSk6CgkgIFNlbmQgYW4gaW5pdGlhbCBCWVRFIHNlZ21lbnQgdG8gaW5mb3JtIGRvd25zdHJlYW0gb2YgbGF0ZXIgc2Vla2luZywKCSAgYW5kIHRvIGZvcmVnbyBzeW5jIGF0dGVtcHRzLgoKMjAwOC0wNS0xMyAwODo1OTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6IEZpeCB3cm9uZyBjYXBzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzogKGdzdF9ydHBfZzcyOV9kZXBheV9zZXRjYXBzKToKCSAgRml4IHdyb25nIGNhcHMgc3RyaW5nLgoKMjAwOC0wNS0xMyAwODozNTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBHNzI5IHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTMyNDA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiAoZ3N0X3J0cF9nNzI5X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2c3MjlfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjlfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwZzcyOXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cGc3MjlwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwZzcyOXBheV9pbml0KSwKCSAgKGdzdF9ydHBnNzI5cGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI5X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIEFkZGVkIEc3MjkgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MDkuCgoyMDA4LTA1LTEzIDA4OjIxOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IEZpeCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIGR1cmF0aW9uIG9mIHRoZSBjb25jZWFsbWVudCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19zaW5rX2V2ZW50KToKCSAgRml4IHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgZHVyYXRpb24gb2YgdGhlIGNvbmNlYWxtZW50IHBhY2tldHMuCgoyMDA4LTA1LTEyIDE4OjI3OjI0ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IEFkZCBEViBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzUzMjQyMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6IChnc3RfcnRwX2R2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2R2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9kdl9kZXBheV9pbml0KSwKCSAgKHBhcnNlX2VuY29kZSksIChnc3RfcnRwX2R2X2RlcGF5X3NldGNhcHMpLAoJICAoY2FsY3VsYXRlX2RpZmJsb2NrX2xvY2F0aW9uKSwgKGdzdF9ydHBfZHZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2R2X2RlcGF5X3Jlc2V0KSwgKGdzdF9ydHBfZHZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfZHZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzogKGdzdF9kdl9wYXlfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2R2X3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9kdl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2R2X3BheV9pbml0KSwgKGdzdF9kdl9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdl9wYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfZHZfcGF5X3NldGNhcHMpLAoJICAoZ3N0X2R2X3BheV9uZWdvdGlhdGUpLCAoaW5jbHVkZV9kaWYpLAoJICAoZ3N0X3J0cF9kdl9wYXlfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwX2R2X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJICBBZGQgRFYgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MjMuCgoyMDA4LTA1LTEyIDE2OjM1OjM5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBDb252ZXJ0IHN1YnRpdGxlIHBhbGV0dGUgaW5mbyBpbiBWb2JTdWIgcHJpdmF0ZSBkYXRhIGZyb20gVm9iU3ViJ3MgKGJ1Z2d5KSBSR0IgdG8gWVVWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2R2ZF9jbHV0X2NoYW5nZV9ldmVudCk6CgkgIENvbnZlcnQgc3VidGl0bGUgcGFsZXR0ZSBpbmZvIGluIFZvYlN1YiBwcml2YXRlIGRhdGEgZnJvbSBWb2JTdWIncwoJICAoYnVnZ3kpIFJHQiB0byBZVVYuCgoyMDA4LTA1LTEyIDE1OjI2OjAxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IERvIG5vdCBsZWF2ZSBmb3VyY2Mgc3RyZWFtIGhlYWRlciBmaWVsZCBlbXB0eSB1cG9uIHJlc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcGFkX3Jlc2V0KToKCSAgRG8gbm90IGxlYXZlIGZvdXJjYyBzdHJlYW0gaGVhZGVyIGZpZWxkIGVtcHR5IHVwb24gcmVzZXQuCgkgIEZpeGVzICM1MTkzMDEuCgoyMDA4LTA1LTExIDE0OjQzOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBnb29tMmsxIGludG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgQWRkIGdvb20yazEgaW50byB0aGUgZG9jcy4KCjIwMDgtMDUtMDggMTY6NTg6MDIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFN1cHBvcnQgRGlnZXN0IGF1dGhlbnRpY2F0aW9uLiBGaXhlcyAjNTMyMDY1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyAgPHdvdXRlciBhdCBtaW5kIGJlPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2tpcF9sd3MpLCAoZ3N0X3J0c3BzcmNfdW5za2lwX2x3cyksCgkgIChnc3RfcnRzcHNyY19za2lwX2NvbW1hcyksIChnc3RfcnRzcHNyY19za2lwX2l0ZW0pLAoJICAoZ3N0X3J0c3BfZGVjb2RlX3F1b3RlZF9zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfZGlnZXN0X2NoYWxsZW5nZSksIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkciksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKToKCSAgU3VwcG9ydCBEaWdlc3QgYXV0aGVudGljYXRpb24uIEZpeGVzICM1MzIwNjUuCgoyMDA4LTA1LTA4IDEwOjIwOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogQWxzbyBzdXBwb3J0IDMyYml0IChlLmcuIHdoZSBoYXZpbmcgaXQgYWZ0ZXIgJ21hZCcpLiBBZGQgbW9yZSBub3RlcyBhYm91dCB3aGF0cyBuZWVkZWQgZm9yIGxpYm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIEFsc28gc3VwcG9ydCAzMmJpdCAoZS5nLiB3aGUgaGF2aW5nIGl0IGFmdGVyICdtYWQnKS4gQWRkIG1vcmUgbm90ZXMKCSAgYWJvdXQgd2hhdHMgbmVlZGVkIGZvciBsaWJvaWwgYWNjZWxlcmF0aW9uLiBTaW1wbGlmeSBkb2NzIGEgYml0LgoKMjAwOC0wNS0wOCAwODoxNTozNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBVcGRhdGUgdGhlIHRyYWNrIGR1cmF0aW9uIGlmIHRoZSBvbGQgb25lIHdhcyBpbnZhbGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICBVcGRhdGUgdGhlIHRyYWNrIGR1cmF0aW9uIGlmIHRoZSBvbGQgb25lIHdhcyBpbnZhbGlkLgoJICBGaXhlcyBidWcgIzUzMjExNy4KCjIwMDgtMDUtMDcgMTY6MzY6MDQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYyAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKTogVXNlIEdTVF9TVFJfTlVMTCB3aGVuIHRyeWluZyB0byBwcmludCBzcHMgYW5kIHBwcyBzdHJpbmdzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMgKGdzdF9ydHBfaDI2NF9wYXlfcGFyc2Vfc3BzX3Bwcyk6CgkgIFVzZSBHU1RfU1RSX05VTEwgd2hlbiB0cnlpbmcgdG8gcHJpbnQgc3BzIGFuZCBwcHMgc3RyaW5ncyB0aGF0IGNvdWxkCgkgIGJlIE5VTEwsIGFzIHRoaXMgbWlnaHQgY3Jhc2ggb24gc29tZSBwbGF0Zm9ybXMuCgoyMDA4LTA1LTA3IDE1OjMzOjUyICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOiBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOgoJICBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSUQgaGFzIGFscmVhZHkgYmVlbgoJICBzZXQgYWZ0ZXIgY3JlYXRpbmcgdGhlIGNsaXBwZXIuCgoyMDA4LTA1LTA3IDE1OjI4OjA2ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6IEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVuc3VjY2Vzc2Z1bAoJICBJRGlyZWN0RHJhd1N1cmZhY2U3X0xvY2soKSBjYWxsLgoJICBJZiBzdXJmYWNlIGlzIGxvc3QsIHJldHVybiBHU1RfRkxPV19PSy4KCjIwMDgtMDUtMDcgMTU6MTk6NDcgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBXbmRQcm9jLCBnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBJbXByb3ZlZCBXaW5kb3dzIG1lc3NhZ2UgbG9vcCBhbmQgZml4ZWQgd2luZG93IGRlc3RydWN0aW9uIGlzc3VlLgoJICBXaGVuIHRoZSB3aW5kb3cgd2hpY2ggRGlyZWN0RHJhdyBpcyByZW5kZXJpbmcgdG8gaXMgZGVzdHJveWVkLCB0aGUKCSAgcmVuZGVyL3Nob3dfZnJhbWUgZnVuY3Rpb24gd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNTowOToxMCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKTogRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKToKCSAgRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3JlZW4gc3VyZmFjZSBpcyBub3cKCSAgcmVsZWFzZWQgd2hlbiBzZXRfY2FwcyBpcyBjYWxsZWQuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNDo1NjoyMiArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1ha2UgaXQgc28gdGhhdCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyB1c2VzIHRoZSByaWdodAoJICB3aWR0aC9oZWlnaHQuCgkgIEVzcGVjaWFsbHkgd2hlbiBsb29raW5nIHRocm91Z2ggdGhlIHBvb2wgb2YgYnVmZmVycywgbWFrZSBzdXJlIHRoYXQKCSAgdGhlIHdpZHRoL2hlaWdodCBvZiBjYXBzIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGUgYWxyZWFkeSBuZWdvdGlhdGVkCgkgIGRpbWVuc2lvbnMuCgkgIEZvciBleGFtcGxlIGlmIGEgYnVmZmVyIHdpdGggZGlmZmVyZW50IGNhcHMgaXMgcmVxdWVzdGVkLCBpLmUuCgkgIGhpZ2hlciByZXNvbHV0aW9uLCB0aGUgY2FsbGVyIHdvdWxkIGdldCBhIGJ1ZmZlciB3aXRoIHRoZSBvbGQKCSAgZGltZW5zaW9ucyBhbmQgdGh1cyBjb3JydXB0IHRoZSBoZWFwLgoKMjAwOC0wNS0wNyAxNDo0MzozOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgkgIFRoZSByaWdodCBmaXggdGhpcyB0aW1lLgoKMjAwOC0wNS0wNyAxNDozOTo0NSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBSZXZlcnRpbmcgcHJldmlvdXMgY29tbWl0LCBpdCBoYWQgaXQgYWxsIG1peGVkIHVwLCB3YXMgZm9yIGEgZGlmZmVyZW50CgkgIHBhdGNoIChtYWpvciBhdXRvbWF0aW9uIHNjcmV3LXVwKS4gU29ycnkhCgoyMDA4LTA1LTA3IDEzOjQ4OjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxMToyMjo1MSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZCBzdHlsZSBjb25zaXN0ZW50IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQKCSAgc3R5bGUgY29uc2lzdGVudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGRlcGF5bG9hZGVyLgoKMjAwOC0wNS0wNyAwOTo1MjozNCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZCBzdHlsZSBjb25zaXN0ZW50IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQKCSAgc3R5bGUgY29uc2lzdGVudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGRlcGF5bG9hZGVyLgoKMjAwOC0wNS0wNyAwODowMzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIGNvcmUvYmFzZSB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgY29yZS9iYXNlIHZlcnNpb25zLgoKMjAwOC0wNS0wNiAwOTozMzo0NiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gUFBDNjQuIEZpeGVzIGJ1ZyAjNDk5MzE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gUFBDNjQuIEZpeGVzIGJ1ZyAjNDk5MzE4LgoKMjAwOC0wNS0wNSAxMToxOToxMyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBsZWFrIGZpbGUgZGVzY3JpcHRvcnMgb24gZXJyb3IuIEZpeGVzICM1MzE1MzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICBEb24ndCBsZWFrIGZpbGUgZGVzY3JpcHRvcnMgb24gZXJyb3IuIEZpeGVzICM1MzE1MzIuCgoyMDA4LTA1LTAzIDA5OjE4OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2NvbmYvOiBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhIGZha2VzaW5rL2Zha2VzcmMgY29tcGxhaW4gaW5zdGVhZCBvZiB1bnJlZmZpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19yZXNldCksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKSwgKGdzdF9zd2l0Y2hfc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhIGZha2VzaW5rL2Zha2VzcmMgY29tcGxhaW4gaW5zdGVhZCBvZiB1bnJlZmZpbmcKCSAgTlVMTCBwb2ludGVycyBhbmQgY3Jhc2hpbmcgbGF0ZXIuIFNlZSBidWcgIzUzMDUzNS4KCjIwMDgtMDUtMDIgMTI6NDQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIGFuZCBndWFyZCBhZ2FpbnN0IHNtYWxsIHBheWxvYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyBhbmQgZ3VhcmQgYWdhaW5zdCBzbWFsbCBwYXlsb2Fkcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3Byb2Nlc3MpOgoJICBTZXQgZHVyYXRpb24gb24gb3V0Z29pbmcgYnVmZmVycyBiZWNhdXNlIHdlIGNhbi4KCjIwMDgtMDUtMDIgMTI6Mzk6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZXggY2hhbm5lbHMgYW5kIHJhdGUuIEZpeGVzICM0NjUxNDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfc3BlZXhfZW5jX2luaXQpLCAoZ3N0X3NwZWV4X2VuY19jaGFpbik6CgkgIEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWV4IGNoYW5uZWxzIGFuZCByYXRlLiBGaXhlcyAjNDY1MTQ2LgoKMjAwOC0wNS0wMiAxMjozNDoyMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZWMgY2hhbm5lbHMgYW5kIHJhdGUuIFNlZSAjNDY1MTQ2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfZ2V0Y2Fwcyk6CgkgIEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWVjIGNoYW5uZWxzIGFuZCByYXRlLiBTZWUgIzQ2NTE0Ni4KCjIwMDgtMDUtMDIgMTI6MjQ6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgSUxCQyBtb2RlLiBTZWUgIzQ2NTE0Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cGlsYmNwYXlfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBpbGJjcGF5X3NpbmtfZ2V0Y2Fwcyk6CgkgIEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIElMQkMgbW9kZS4gU2VlICM0NjUxNDYuCgoyMDA4LTA1LTAyIDExOjMyOjMxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBJbmNsdWRlIHN0ZGxpYiB0byBmaXggdGhlIGJ1aWxkLiBVc2UgZ19mcmVlIGluc3RlYWQgb2YgZnJlZSwgbGlic291cCB1c2VzIGdsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIEluY2x1ZGUgc3RkbGliIHRvIGZpeCB0aGUgYnVpbGQuIFVzZSBnX2ZyZWUgaW5zdGVhZCBvZiBmcmVlLCBsaWJzb3VwCgkgIHVzZXMgZ2xpYi4KCjIwMDgtMDUtMDIgMDk6MDk6NTggKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgbW9yZSBtcGVnMiB2YXJpYW50cy4gRml4ZXMgIzUzMDg4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8akBib290bGFiLm9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgbW9yZSBtcGVnMiB2YXJpYW50cy4gRml4ZXMgIzUzMDg4Ni4KCjIwMDgtMDUtMDEgMTA6NTI6MTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBEb24ndCBlcnJvciBvdXQgaWYgd2UgZ2V0IGFuIElDTVAgZGVzdGluYXRpb24tdW5yZWFjaGFibGUgbWVzc2FnZSB3aGVuIHRyeWluZyB0byByZWFkIHBhY2tldHMgb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWkgYXQgY29sbGFib3JhIGNvIHVrPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIERvbid0IGVycm9yIG91dCBpZiB3ZSBnZXQgYW4gSUNNUCBkZXN0aW5hdGlvbi11bnJlYWNoYWJsZQoJICBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIHJlYWQgcGFja2V0cyBvbiB3aW4zMiAoIzUyOTQ1NCkuCgoyMDA4LTA0LTMwIDEyOjE4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyBlcnJvciBjb2RlIGZvciBlbmNyeXB0ZWQgc3RyZWFtcyAod2hpY2ggcmVxdWlyZXMgY29yZSBDVlMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgVXNlIG5ldyBlcnJvciBjb2RlIGZvciBlbmNyeXB0ZWQgc3RyZWFtcyAod2hpY2ggcmVxdWlyZXMgY29yZSBDVlMpLgoKMjAwOC0wNC0zMCAxMjoxMDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHN3YXBwZWQgcGFkIHRlbXBsYXRlIG5hbWVzLCBzcG90dGVkIGJ5IFRoaWFnbyBTb3VzYSBTYW50b3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ZpZGVvc3JjX3RlbXBsYXRlKSwKCSAgKGdzdF9xdGRlbXV4X2F1ZGlvc3JjX3RlbXBsYXRlKToKCSAgRml4IHN3YXBwZWQgcGFkIHRlbXBsYXRlIG5hbWVzLCBzcG90dGVkIGJ5IFRoaWFnbyBTb3VzYSBTYW50b3MuCgoyMDA4LTA0LTMwIDA5OjQ4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFByb2R1Y2UgY29uY2VhbG1lbnQgZGF0YSB3aGVuIHRpbWUgcHJvZ3Jlc3NlcyBpbiBhIHNlZ21lbnQgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19zaW5rX2V2ZW50KSwKCSAgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgUHJvZHVjZSBjb25jZWFsbWVudCBkYXRhIHdoZW4gdGltZSBwcm9ncmVzc2VzIGluIGEgc2VnbWVudCB1cGRhdGUuCgoyMDA4LTA0LTI5IDE0OjExOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFRyeSB0byBwcmVzZXJ2ZSBpbnB1dCB0aW1lc3RhbXBzIHdoZW4gd2UgY2FuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKSwKCSAgKHNwZWV4X2RlY19jaGFpbik6CgkgIFRyeSB0byBwcmVzZXJ2ZSBpbnB1dCB0aW1lc3RhbXBzIHdoZW4gd2UgY2FuLgoJICBEbyBiZWdpbm5pbmdzIG9mIGVycm9yIGNvbmNlYWxtZW50LgoKMjAwOC0wNC0yOCAyMjozODoxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IE1TVkMgZG9lc24ndCBwcm92aWRlIHJpbnQoKSwgZGVmaW5lIGFuIGFkZXF1YXRlIHJlcGxhY2VtZW50IGxvY2FsbHkgYXMgZWxzZXdoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgTVNWQyBkb2Vzbid0IHByb3ZpZGUgcmludCgpLCBkZWZpbmUgYW4gYWRlcXVhdGUgcmVwbGFjZW1lbnQgbG9jYWxseSBhcwoJICBlbHNld2hlcmUuCgoyMDA4LTA0LTI4IDExOjE2OjMyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEZpeCBwcmludGYgZm9ybWF0IHRvIHBhY2lmeSBNYWMgT1NYJ3MgZ2NjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0yOCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9sb29wKTogRml4IHByaW50ZgoJICBmb3JtYXQgdG8gcGFjaWZ5IE1hYyBPU1gncyBnY2MuCgoyMDA4LTA0LTI1IDE5OjM0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogQnJpbmcgcm5kYnVmZmVyc2l6ZSBlbGVtZW50IGludG8gYSBzdGF0ZSB0aGF0IGRvZXNuJ3QgcmVxdWlyZSB1cyB0byBtb3ZlIGl0IHRvIC1iYWQgaW1tZWRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IChERUZBVUxUX1NFRUQpLCAoREVGQVVMVF9NSU4pLAoJICAoREVGQVVMVF9NQVgpLCAoc3JjX3RlbXBsYXRlKSwgKHNpbmtfdGVtcGxhdGUpLAoJICAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9iYXNlX2luaXQpLCAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9ybmRfYnVmZmVyX3NpemVfaW5pdCksIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2FjdGl2YXRlKSwKCSAgKGdzdF9ybmRfYnVmZmVyX3NpemVfbG9vcCksIChnc3Rfcm5kX2J1ZmZlcl9zaXplX3BsdWdpbl9pbml0KToKCSAgQnJpbmcgcm5kYnVmZmVyc2l6ZSBlbGVtZW50IGludG8gYSBzdGF0ZSB0aGF0IGRvZXNuJ3QgcmVxdWlyZSB1cwoJICB0byBtb3ZlIGl0IHRvIC1iYWQgaW1tZWRpYXRlbHkuIEZvciBvbmUsIGZpeCB1cCBkZWZhdWx0IG1pbi9tYXgKCSAgdmFsdWVzIHNvIHRoYXQgdGhlIGVsZW1lbnQgYWN0dWFsbCB3b3JrcyB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMuCgkgIEFsc28sIGRvbid0IGlnbm9yZSBmbG93IHJldHVybiB2YWx1ZXMgYW5kIGRvIHNvbWUga2luZCBvZiBtaW5pbWFsCgkgIGVvcyBsb2dpYy4gQWxsb3cgbWluPW1heCB0byBwdWxsIGZpeGVkLXNpemVkIGJ1ZmZlcnMuIEJ1bmNoIG9mCgkgIG90aGVyIGdyYXR1aXRpb3VzIGNsZWFuLXVwcy4KCjIwMDgtMDQtMjUgMTk6MjQ6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jcyBmb3IgZ2RrcGl4YnVmc2luazsgdXBkYXRlIGRvY3MgdG8gQ1ZTIHZlcnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBBZGQgZG9jcyBmb3IgZ2RrcGl4YnVmc2luazsgdXBkYXRlIGRvY3MgdG8gQ1ZTIHZlcnNpb24uCgoyMDA4LTA0LTI1IDE4OjQ1OjMzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOiBSZW1vdmUgdGVzdCBzeW5jLW9mZnNldCBieSBkZWZhdWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIFJlbW92ZSB0ZXN0IHN5bmMtb2Zmc2V0IGJ5IGRlZmF1bHQuCgoyMDA4LTA0LTI1IDEzOjMxOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogVXNlIEdMaWIgdmVyc2lvbnMgb2YgaHRvbmwsIGh0b25zLCBudG9obCBhbmQgbnRvaHMgaW4gb3JkZXIgdG8gYXZvaWQgcHJvYmxlbXMgb24gd2luMzIgKCM1Mjk3MDcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19jaGFpbik6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFVzZSBHTGliIHZlcnNpb25zIG9mIGh0b25sLCBodG9ucywgbnRvaGwgYW5kIG50b2hzIGluIG9yZGVyCgkgIHRvIGF2b2lkIHByb2JsZW1zIG9uIHdpbjMyICgjNTI5NzA3KS4KCjIwMDgtMDQtMjUgMTI6NTI6NDQgKzAwMDAgIEplc8O6cyBDb3JyaXVzIDxqZXN1c0Bzb2Z0Y2F0YWxhLm9yZz4KCgkgIGdzdC9nb29tLzogRml4IGJ1aWxkIHdpdGggbWluZ3czMjogdXNlIHJhbmQoKSBpbnN0ZWFkIG9mIHJhbmRvbSgpIGFuZCByZXBsYWNlIGJ6ZXJvKCkgd2l0aCBtZW1zZXQoKS4gRml4ZXMgIzUyOTY5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZXPDunMgQ29ycml1cyA8amVzdXMgYXQgc29mdGNhdGFsYSBvcmc+CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbVZlY3Rvcik6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChpbml0X2J1ZmZlcnMpOgoJICBGaXggYnVpbGQgd2l0aCBtaW5ndzMyOiB1c2UgcmFuZCgpIGluc3RlYWQgb2YgcmFuZG9tKCkgYW5kCgkgIHJlcGxhY2UgYnplcm8oKSB3aXRoIG1lbXNldCgpLiBGaXhlcyAjNTI5NjkyLgoKMjAwOC0wNC0yNSAwNzo1NjoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHR5cG8gaW4gY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY29tYmluZV9mbG93cyk6CgkgIEZpeCB0eXBvIGluIGNvbW1lbnRzLgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBBZGQgc29tZSBtb3JlIGRvY3MgYW5kIGZpeCBleGFtcGxlcy4KCjIwMDgtMDQtMjQgMjI6MDQ6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOiBJbmNsdWRlIHN0ZGxpYi5oIGFuZCB1bmlzdGQuaCBmb3IgbWtkdGVtcC4gU29tZSBwbGF0Zm9ybXMgaGF2ZSBpdCBkZWNsYXJlZCBpbiB0aGUgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBhbmQgdW5pc3RkLmggZm9yIG1rZHRlbXAuIFNvbWUgcGxhdGZvcm1zIGhhdmUgaXQKCSAgZGVjbGFyZWQgaW4gdGhlIGZvcm1lciwgc29tZSBoYXZlIGl0IGRlY2xhcmVkIGluIHRoZSBsYXR0ZXIuCgoyMDA4LTA0LTI0IDIyOjAxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cy5jOiAobWQ1X2dldF92YWx1ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2Fwcyk6CgkgIFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIGZ1bmN0aW9ucy4KCjIwMDgtMDQtMjQgMjE6MTc6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoJICA9PT0gcmVsZWFzZSAwLjEwLjggPT09Cgo9PT0gcmVsZWFzZSAwLjEwLjggPT09CgoyMDA4LTA0LTIzIDIzOjQwOjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkgIFJlbGVhc2UgMC4xMC44IGEgbGl0dGxlIGhhcmRlciAoZWRpdGVkIHRoZSByZWxlYXNlIG5vdGVzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjggYSBsaXR0bGUgaGFyZGVyIChlZGl0ZWQgdGhlIHJlbGVhc2Ugbm90ZXMpCgoyMDA4LTA0LTIzIDIzOjI2OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjgKCjIwMDgtMDQtMjMgMjM6MTg6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA0LTIyIDAwOjI5OjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC43LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjcuNCBwcmUtcmVsZWFzZQoKMjAwOC0wNC0yMiAwMDoxODo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS86IEZyZWUgYSBidW5jaCBvZiBzdHVmZiwgYW5kIGluaXRpYWxpc2UgdGhpbmdzIHRvIGZpeCBsZWFrcyBhbmQgdmFsZ3JpbmQgd2FybmluZ3MgaW4gdGhlIHRlc3RzdWl0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6IChnb29tX3BsdWdpbl9wYXJhbWV0ZXJzX2ZyZWUpOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6IChjb252b2x2ZV9pbml0KSwgKGNvbnZvbHZlX2ZyZWUpOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJWaXN1YWxGWFdyYXBwZXJfZnJlZSk6CgkgICogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6IChmc19mcmVlKToKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV9pbml0KSwgKGdvb21fY2xvc2UpOgoJICAqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9maW5hbGl6ZSk6CgkgICogZ3N0L2dvb20vbGluZXMuYzogKGdvb21fbGluZXNfZnJlZSk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHBsdWdpbl9pbmZvX2luaXQpLCAocGx1Z2luX2luZm9fZnJlZSk6CgkgICogZ3N0L2dvb20vc3VyZjNkLmM6IChncmlkM2RfZnJlZSk6CgkgICogZ3N0L2dvb20vc3VyZjNkLmg6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5jOiAodGVudGFjbGVfZnJlZSk6CgkgIEZyZWUgYSBidW5jaCBvZiBzdHVmZiwgYW5kIGluaXRpYWxpc2UgdGhpbmdzIHRvIGZpeCBsZWFrcwoJICBhbmQgdmFsZ3JpbmQgd2FybmluZ3MgaW4gdGhlIHRlc3RzdWl0ZS4KCSAgRml4ZXM6ICM1MjkyNjgKCjIwMDgtMDQtMjEgMjE6NTQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoKMjAwOC0wNC0yMSAwODoyMToxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmVmIGNhcHMgYXMgdGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHJlcXVlc3RfcHRfbWFwIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19jb25maWd1cmVfY2Fwcyk6CgkgIFJlZiBjYXBzIGFzIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSByZXF1ZXN0X3B0X21hcCBzaWduYWwuCgkgIFJlbW92ZSBzb21lIGNhcHMgd2VpcmRuZXNzIHdoZW4gY29uZmlndXJpbmcgYSBzdHJlYW0uIFNlZSAjNTI4MjQ1LgoKMjAwOC0wNC0xOCAxODo0Nzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOiBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoKMjAwOC0wNC0xNyAyMzowMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjMgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMTcgMjI6MzI6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgc29tZSBtb3JlIGVsZW1lbnRzIGluIHRoZSBzdGF0ZSB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBzb21lIG1vcmUgZWxlbWVudHMgaW4gdGhlIHN0YXRlIHRlc3QuCgkgIEFkZCBhIGRlZmluZSBzbyB0aGUgc291cCB0ZXN0IGNhbiBmaW5kIHRoZSB0ZXN0IGZpbGVzCgkgIGl0IG5lZWRzIGF0IHJ1bnRpbWUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHJ1bl9zZXJ2ZXIpOgoJICBBZGQgYSBkZWZpbmUgc28gdGhlIHNvdXAgdGVzdCBjYW4gZmluZCB0aGUgdGVzdCBmaWxlcwoJICBpdCBuZWVkcyBhdCBydW50aW1lLgoKMjAwOC0wNC0xNyAxODowODo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS9jb252b2x2ZV9meC5jOiBEb24ndCBldmVyIGRyYXcgdGhlIEdPT00gbG9nby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzogKGNvbnZvbHZlX2FwcGx5KToKCSAgRG9uJ3QgZXZlciBkcmF3IHRoZSBHT09NIGxvZ28uCgkgIEZpeGVzOiAjNTI4NjE1CgoyMDA4LTA0LTE3IDEwOjI0OjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0LzogZ3N0X2F0b21pY19pbnRfc2V0ID09PiBnX2F0b21pY19pbnRfc2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZ3N0X2F0b21pY19pbnRfc2V0ID09PiBnX2F0b21pY19pbnRfc2V0CgoyMDA4LTA0LTE2IDEwOjMxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgU3RyaXAgb3V0IHRoZSBjb25maWcvc2NyaXB0IHBhcnNpbmcgc3R1ZmYsIHdlIGRvbid0IG5lZWQgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2RlZmF1bHRfc2NyaXB0cy5oOgoJICAqIGdzdC9nb29tL2dvb20uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGNob29zZV9hX2dvb21fbGluZSk6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOgoJICAqIGdzdC9nb29tL2dvb21zbC5oOgoJICAqIGdzdC9nb29tL2dvb21zbF9oYXNoLmM6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hhc2guaDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGVhcC5jOgoJICAqIGdzdC9nb29tL2dvb21zbF9oZWFwLmg6CgkgICogZ3N0L2dvb20vZ29vbXNsX3ByaXZhdGUuaDoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBTdHJpcCBvdXQgdGhlIGNvbmZpZy9zY3JpcHQgcGFyc2luZyBzdHVmZiwgd2UgZG9uJ3QgbmVlZCBpdC4KCSAgRml4ZXMgIzUyNzk5OS4KCjIwMDgtMDQtMTUgMTY6NTg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiBEaXNhYmxlIGFsdGl2ZWMgb3B0aW1pc2F0aW9ucyBmb3IgMzItYml0IFBQQyBhcyB3ZWxsIHRvIG1ha2UgdGhpbmdzIGJ1aWxkIHByb3Blcmx5IG9uIGFsbCBQUEMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBEaXNhYmxlIGFsdGl2ZWMgb3B0aW1pc2F0aW9ucyBmb3IgMzItYml0IFBQQyBhcyB3ZWxsIHRvIG1ha2UKCSAgdGhpbmdzIGJ1aWxkIHByb3Blcmx5IG9uIGFsbCBQUEMgc3lzdGVtcy4gRml4ZXMgIzUyODE0MwoKMjAwOC0wNC0xNCAyMDowMTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjogVXBkYXRlIGZvciBzb3VwaHR0cHNyYyBwbHVnaW4gd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBmb3Igc291cGh0dHBzcmMgcGx1Z2luIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZC4KCjIwMDgtMDQtMTQgMTM6Mzg6MzIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IG9wZW4tZW5kZWQgc2Vla3MgaW4gbWF0cm9za2FkZW11eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEZpeCBvcGVuLWVuZGVkIHNlZWtzIGluIG1hdHJvc2thZGVtdXgKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgIEZpeGVzOiAjNTI2NTU3CgoyMDA4LTA0LTEzIDIzOjEzOjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgc291cCB0ZXN0IGNlcnRpZmljYXRlcyB0byB0aGUgZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIHRvIHRoZSBkaXN0LgoKMjAwOC0wNC0xMyAxNzo0Mzo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IFJlbW92ZSBMQURTUEEgcmVmZXJlbmNlIEkgbWlzc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBMQURTUEEgcmVmZXJlbmNlIEkgbWlzc2VkLgoKMjAwOC0wNC0xMyAxMzowNjozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogR2l2ZSBzb3VwaHR0cHNyYyBHU1RfUkFOS19QUklNQVJZIHRvIG1ha2UgaXQgdGhlIGRlZmF1bHQgSFRUUCBzb3VyY2Ugb3ZlciBnbm9tZS12ZnMgYW5kIGV2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChwbHVnaW5faW5pdCk6CgkgIEdpdmUgc291cGh0dHBzcmMgR1NUX1JBTktfUFJJTUFSWSB0byBtYWtlIGl0IHRoZSBkZWZhdWx0IEhUVFAgc291cmNlCgkgIG92ZXIgZ25vbWUtdmZzIGFuZCBldmVyeXRoaW5nIGVsc2UuIEZpeGVzIGJ1ZyAjNTI3ODQ4LgoKMjAwOC0wNC0xMiAyMzo0NzoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgTEFEU1BBIHBsdWdpbi4gRml4ZXM6ICM1MTU5NzgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIExBRFNQQSBwbHVnaW4uIEZpeGVzOiAjNTE1OTc4CgoyMDA4LTA0LTEyIDIzOjMwOjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgc291cCBwbHVnaW4gZnJvbSAtYmFkIChGaXhlczogIzUyMzEyNCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTW92ZSBzb3VwIHBsdWdpbiBmcm9tIC1iYWQgKEZpeGVzOiAjNTIzMTI0KQoKMjAwOC0wNC0xMSAxMTowODozNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCB0aGUgQ2hhbmdlbG9nIC0gYWN0dWFsbHkgc3BlZXggPD0gMS4xLjEyIGFyZSB2dWxuZXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRoZSBDaGFuZ2Vsb2cgLSBhY3R1YWxseSBzcGVleCA8PSAxLjEuMTIgYXJlIHZ1bG5lcmFibGUuCgoyMDA4LTA0LTExIDEwOjMyOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBGaXggYm91bmRzIGNoZWNraW5nIG9mIG1vZGUgaW4gU3BlZXggaGVhZGVyLCB3aGljaCBtYXkgcHJvZHVjZSBuZWdhdGl2ZSBudW1iZXJzIGluIHNwZWV4IDwgMS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpOgoJICBGaXggYm91bmRzIGNoZWNraW5nIG9mIG1vZGUgaW4gU3BlZXggaGVhZGVyLCB3aGljaCBtYXkKCSAgcHJvZHVjZSBuZWdhdGl2ZSBudW1iZXJzIGluIHNwZWV4IDwgMS4xLjEyCgoyMDA4LTA0LTEwIDA3OjExOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzIGFuZCBjaGVjayBmb3IgTlVMTCBjYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzCgkgIGFuZCBjaGVjayBmb3IgTlVMTCBjYXBzIGluc3RlYWQgb2YganVzdCBjcmFzaGluZy4KCSAgVGhlIHJlYWwgZml4IHdvdWxkIGJlIHRvIGltcGxlbWVudCBhbiBzaG91dGNhc3Qgc2VydmVyIGZvciB0aGUgdW5pdCB0ZXN0CgkgIGluc3RlYWQgb2YgcmVseWluZyBvbiBhIHdvcmtpbmcgaW50ZXJuZXQgY29ubmVjdGlvbi4KCSAgRml4ZXMgYnVnICM1MjE3NDkuCgoyMDA4LTA0LTA5IDE2OjExOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBSZW1vdmUgYSBidW5jaCBvZiBmb250L3RleHQgcmVsYXRlZCBjb2RlIHRoYXQgd2UgZG9uJ3QgbmVlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vZ2ZvbnRsaWIuYzoKCSAgKiBnc3QvZ29vbS9nZm9udGxpYi5oOgoJICAqIGdzdC9nb29tL2dmb250cmxlLmM6CgkgICogZ3N0L2dvb20vZ2ZvbnRybGUuaDoKCSAgKiBnc3QvZ29vbS9nb29tLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX3VwZGF0ZSk6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBSZW1vdmUgYSBidW5jaCBvZiBmb250L3RleHQgcmVsYXRlZCBjb2RlIHRoYXQgd2UgZG9uJ3QgbmVlZC4KCjIwMDgtMDQtMDkgMTQ6MDI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IENoYW5nZSBsaWNlbnNlIG9mIHRoZXNlIGZpbGVzIHRvIExHUEwsIGFzIHBlcm1pdHRlZCBieSB0aGUgYXV0aG9yLCBHdWlsbGF1bWUgQm9yaW9zLiBTZWUgIzUxNTA3My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLnM6CgkgICogZ3N0L2dvb20vcHBjX3pvb21fdWx0aW1hdGUuczoKCSAgQ2hhbmdlIGxpY2Vuc2Ugb2YgdGhlc2UgZmlsZXMgdG8gTEdQTCwgYXMgcGVybWl0dGVkIGJ5IHRoZQoJICBhdXRob3IsIEd1aWxsYXVtZSBCb3Jpb3MuIFNlZSAjNTE1MDczLgoKMjAwOC0wNC0wOSAxMzozMToyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20vOiBBcyBoaW50ZWQgaW4gQnVnICM1MTgyMTMsIHJldmVydCBvbmUgY2hhbmdlIGFuZCBmaXggd2FybmluZ3MgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTEuaDoKCSAgKiBnc3QvZ29vbS9tb3RpZl9nb29tMi5oOgoJICBBcyBoaW50ZWQgaW4gQnVnICM1MTgyMTMsIHJldmVydCBvbmUgY2hhbmdlIGFuZCBmaXggd2FybmluZ3MgcHJvcGVybHkuCgkgIFRoaXMgZml4ZXMgYm90aCAjNTE4MjEzIGFuZCAjNTIwMDczIGZvciBtZS4KCjIwMDgtMDQtMDkgMTI6MDI6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IHRoZSBGb3J0ZSBidWlsZCBieSBtYWtpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb24gc2lnbmF0dXJlcyBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NlZWspOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICBGaXggdGhlIEZvcnRlIGJ1aWxkIGJ5IG1ha2luZyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBzaWduYXR1cmVzCgkgIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA0LTA4IDE5OjQ5OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IE1vcmUgbG9nZ2luZyB3aGVuIHByb2JpbmcgKHNlZSAjNTE4NDc0KSwgc29tZSBjb21tZW50cyBpbiBfcmVzZXQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzogKGdzdF9vc3NfaGVscGVyX3JhdGVfY2hlY2tfcmF0ZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfcmVzZXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19yZXNldCk6CgkgIE1vcmUgbG9nZ2luZyB3aGVuIHByb2JpbmcgKHNlZSAjNTE4NDc0KSwgc29tZSBjb21tZW50cyBpbiBfcmVzZXQoKS4KCjIwMDgtMDQtMDcgMTc6MTg6NDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IEZpeCBidWlsZCBiZWNhdXNlIG9mIGEgYmFkIGFyZ3VtZW50IG51bWJlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMDcgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpOiBGaXggYnVpbGQKCSAgYmVjYXVzZSBvZiBhIGJhZCBhcmd1bWVudCBudW1iZXIuCgoyMDA4LTA0LTA2IDE4OjI4OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBJbnRlcmFjdGl2ZSB0ZXN0IGFwcCBmb3IgZ2RrcGl4YnVmc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgSW50ZXJhY3RpdmUgdGVzdCBhcHAgZm9yIGdka3BpeGJ1ZnNpbmsuCgoyMDA4LTA0LTA2IDA5OjAxOjQyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYik6CgkgIE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBHU1RfU09VUF9IVFRQX1NSQ19TRVNTSU9OX0lPX1NUQVRVU19SVU5OSU5HLiBGaXhlcyBidWcgIzUyNjMzNy4KCjIwMDgtMDQtMDYgMDg6NTc6NTkgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBGaXhlcyBidWcgIzUyNjI0Ny4KCjIwMDgtMDQtMDUgMTI6MDA6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvaGFsL2hhbC5jOiBEb24ndCBtdW5nZSBkZXZpY2Ugc3RyaW5nIHRvICdkZWZhdWx0OngnIGZvciBjYXB0dXJlIGRldmljZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9hbHNhX2VsZW1lbnQpOgoJICBEb24ndCBtdW5nZSBkZXZpY2Ugc3RyaW5nIHRvICdkZWZhdWx0OngnIGZvciBjYXB0dXJlIGRldmljZXMuCgkgIEZpeGVzICM1MjU4MzMuCgoyMDA4LTA0LTA0IDE5OjAwOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQWx3YXlzIHVzZSBHU2xpY2UgYXMgd2UgYWN0dWFsbHkgZGVwZW5kIG9uIEdMaWIgMi4xMiBhbHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2VudHJ5X2ZyZWUpOgoJICBBbHdheXMgdXNlIEdTbGljZSBhcyB3ZSBhY3R1YWxseSBkZXBlbmQgb24gR0xpYiAyLjEyIGFscmVhZHkuCgoyMDA4LTA0LTA0IDExOjI2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGNvcmUvYmFzZSAwLjEwLjE4IGZvciBBUkdCIGNhcHMgcGFyc2luZyBmaXhlcyBpbiBsaWJnc3R2aWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUvYmFzZSAwLjEwLjE4IGZvciBBUkdCIGNhcHMgcGFyc2luZyBmaXhlcyBpbiBsaWJnc3R2aWRlby4KCSAgQWxzbyBidW1wIHRoZSBHTGliIHJlcXVpcmVtZW50IHRvIHRoZSBjdXJyZW50IGRlLWZhY3RvIHJlcXVpcmVtZW50CgkgIChpZS4gMi4xMikuCgoyMDA4LTA0LTA0IDEwOjMyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IFBhcnNlIGNvZGVjX2RhdGEgZm9yIGZ1dHVyZSBBVkMgY29tcGF0aWJpbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBQYXJzZSBjb2RlY19kYXRhIGZvciBmdXR1cmUgQVZDIGNvbXBhdGliaWxpdHkuCgkgIEZhaWwgd2hlbiB3ZSBlbmNvdW50ZXIgQVZDIGRhdGEgZm9yIG5vdy4KCjIwMDgtMDQtMDQgMDk6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogUmVuYW1lIHByb3BlcnR5IGVudW1zIGFuZCBkZWZhdWx0IGRlZmluZXMgZm9yIHRoZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSBwcm9wZXJ0eSBuYW1lcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KToKCSAgUmVuYW1lIHByb3BlcnR5IGVudW1zIGFuZCBkZWZhdWx0IGRlZmluZXMgZm9yIHRoZSBwcm9wZXJ0aWVzIHRvIG1hdGNoCgkgIHRoZSBwcm9wZXJ0eSBuYW1lcyBhbmQgcmVwaHJhc2UgcHJvcGVydHkgZGVzY3JpcHRpb25zIHRvIG1ha2UgdGhlbSBhCgkgIGJpdCBjbGVhcmVyIChob3BlZnVsbHkpLiBTZWUgIzUxODE4OC4KCjIwMDgtMDQtMDMgMjI6NTk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgZm9yIGdka3BpeGJ1ZnNpbmsgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZzaW5rLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGdka3BpeGJ1ZnNpbmsgZWxlbWVudC4KCjIwMDgtMDQtMDMgMjI6NTA6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi86IEFkZCBnZGtwaXhidWZzaW5rIGVsZW1lbnQgZm9yIGVhc3kgc25hcHNob3R0aW5nICgjNTI1OTQ2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICAoZ3N0X2dka19waXhidWZfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3N0YXJ0KSwgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc3RvcCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfcGl4YnVmX2Rlc3Ryb3lfbm90aWZ5KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0X3BpeGJ1Zl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2hhbmRsZV9idWZmZXIpLCAoZ3N0X2dka19waXhidWZfc2lua19wcmVyb2xsKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfcmVuZGVyKSwgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkgIEFkZCBnZGtwaXhidWZzaW5rIGVsZW1lbnQgZm9yIGVhc3kgc25hcHNob3R0aW5nICgjNTI1OTQ2KS4KCjIwMDgtMDQtMDMgMjA6MjU6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6IEJ1bXAgdGltZW91dCBmcm9tIDMgdG8gNjAgc2Vjb25kcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogKHdhdnBhY2tfc3VpdGUpOgoJICBCdW1wIHRpbWVvdXQgZnJvbSAzIHRvIDYwIHNlY29uZHMuCgoyMDA4LTA0LTAzIDIwOjIxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2aWdub3JlOiBSZW1vdmUgdXNlbGVzcyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2aWdub3JlOgoJICBSZW1vdmUgdXNlbGVzcyBmaWxlLgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICBBZGQgbmV3IHRlc3QgdG8gLmN2c2lnbm9yZS4KCjIwMDgtMDQtMDMgMjA6MDU6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCB0aGF0IGVuY29kZXMgYW5kIGRlY29kZXMgc29tZSBkYXRhLCBjaGVja3MgdGhhdCBpdCBpcyBzdGlsbCB0aGUgc2FtZSBhbmQgdGhhdCBhbGwgdGltZXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiAoYnVzX2hhbmRsZXIpLAoJICAoaWRlbnRpdHlfaGFuZG9mZiksIChmYWtlc2lua19oYW5kb2ZmKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHdhdnBhY2tfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgdGhhdCBlbmNvZGVzIGFuZCBkZWNvZGVzIHNvbWUgZGF0YSwgY2hlY2tzIHRoYXQgaXQKCSAgaXMgc3RpbGwgdGhlIHNhbWUgYW5kIHRoYXQgYWxsIHRpbWVzdGFtcHMvb2Zmc2V0cyBhcmUgcGVyZmVjdC4KCjIwMDgtMDQtMDMgMTg6Mjg6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogVXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyBpbmRleCBlbnRyaWVzIGFuZCB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZW50cnlfbmV3KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2VudHJ5X2ZyZWUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCk6CgkgIFVzZSBHU2xpY2UgZm9yIGFsbG9jYXRpbmcgaW5kZXggZW50cmllcyBhbmQgdXNlCgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoKMjAwOC0wNC0wMiAyMjozNzoyOSArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogRml4IHVwIGNvcHlyaWdodHMgKCM1MjU4NjApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgRml4IHVwIGNvcHlyaWdodHMgKCM1MjU4NjApLgoKMjAwOC0wNC0wMiAxNjoxMDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgbmV3IGdvb20gcGx1Z2luIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG5ldyBnb29tIHBsdWdpbiB0byBzcGVjIGZpbGUKCjIwMDgtMDQtMDIgMTU6NDI6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS9nb29tc2wuYzogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIGZyZWFkKCkgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOiAoZ3NsX3JlYWRfZmlsZSk6CgkgIENoZWNrIHJldHVybiB2YWx1ZSBvZiBmcmVhZCgpIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0wNC0wMSAxMTowMDo0MyArMDAwMCAgbWVyc2FkIDxtZXJzYWRAYXhpcy5jb20+CgoJICBnc3QvbGF3LzogTWFrZSBuZWdvdGlhdGlvbiBhIGJpdCBtb2Rlcm4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogbWVyc2FkIDxtZXJzYWQgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3X2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2FsYXdfZGVjX2NoYWluKSwgKGdzdF9hbGF3X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd19lbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X211bGF3ZGVjX2NoYWluKSwgKGdzdF9tdWxhd2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgIE1ha2UgbmVnb3RpYXRpb24gYSBiaXQgbW9kZXJuLgoJICBVc2UgcGFkX2FsbG9jLiBGaXhlcyAjNTI1MzU5LgoKMjAwOC0wMy0zMSAyMjowNjoxNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvZ29vbS94bW14LmM6IEZpeCBjb25zdHJhaW50cyBvbiBhc20gY29kZSBzbyB0aGF0IGl0IGNvbXBpbGVzIGNvbnNpc3RlbnRseS4gIEZpeGVzICM1MjIyNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3htbXguYzogRml4IGNvbnN0cmFpbnRzIG9uIGFzbSBjb2RlIHNvIHRoYXQgaXQKCSAgY29tcGlsZXMgY29uc2lzdGVudGx5LiAgRml4ZXMgIzUyMjI3OC4KCjIwMDgtMDMtMjcgMDk6MzY6NTggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEZpeCB1cCB0aGUgbWl4ZXIgdHJhY2tzIHRvIHVzZSBhIHZvbHVtZSByYW5nZSBvZiAwLTI1NSwgd2hpY2ggaXMgd2hhdCB0aGUgc3VuIGF1ZGlvIEFQSSB1c2VzLiBUaGlzIHNpbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6IChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICBGaXggdXAgdGhlIG1peGVyIHRyYWNrcyB0byB1c2UgYSB2b2x1bWUgcmFuZ2Ugb2YgMC0yNTUsIHdoaWNoIGlzIHdoYXQKCSAgdGhlIHN1biBhdWRpbyBBUEkgdXNlcy4gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGFuZCBhdm9pZHMgcm91bmRpbmcKCSAgZXJyb3JzLiBGaXhlcyAjNTI0NTkzLgoKMjAwOC0wMy0yNiAxNToxMDowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgQWRkIGRldmljZS1mZCBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGFwcHMgdG8gY2FsbCBpb2N0bCdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRldmljZS1mZCBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGFwcHMgdG8gY2FsbCBpb2N0bCdzLgoKMjAwOC0wMy0yNSAxNjo0NDoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVW5icmVhayBzdHJlYW1pbmcgbW9kZSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAobmV4dF9lbnRyeV9zaXplKToKCSAgVW5icmVhayBzdHJlYW1pbmcgbW9kZSBhZ2Fpbi4KCjIwMDgtMDMtMjUgMTI6Mzk6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFJlbW92ZSBzdXBlcmZsdW91cyBERUJVRyBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOgoJICBSZW1vdmUgc3VwZXJmbHVvdXMgREVCVUcgbWFjcm8uCgoyMDA4LTAzLTI1IDEyOjMzOjA5ICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQ2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIHN1cHBvcnRzIHNldHRpbmcgdGhlIGZyYW1lcmF0ZSBiZWZvcmUgdHJ5aW5nIHRvIHNldCBpdCBhbmQgdGhlbiBwby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gY29tIGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGZyYWN0aW9uc19hcmVfZXF1YWwpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOgoJICBDaGVjayB3aGV0aGVyIHRoZSBkZXZpY2Ugc3VwcG9ydHMgc2V0dGluZyB0aGUgZnJhbWVyYXRlIGJlZm9yZQoJICB0cnlpbmcgdG8gc2V0IGl0IGFuZCB0aGVuIHBvc3RpbmcgYSB3YXJuaW5nIG9yIGVycm9yIGlmIGl0IGRvZXNuJ3QKCSAgd29yayAoIzUxNjY0OSwgIzUyMDA5MikuIEFsc28gY29tcGFyZSBmcmFjdGlvbnMgbW9yZSBjb3JyZWN0bHkuCgoyMDA4LTAzLTI0IDEyOjMyOjU5ICswMDAwICBSZW5lIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYyAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2dhcF9idWZmZXJzKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jICh0ZXN0X2dhcCksIChyZ2xpbWl0ZXJfc3VpdGUpOgoJICBBZGQgdGVzdHMgdG8gdmVyaWZ5IGdhcC1hd2FyZW5lc3MuCgoyMDA4LTAzLTIzIDEzOjMxOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vTWFrZWZpbGUuYW06IFJlbW92ZSBwcGMgYXNzZW1ibGVyIG9wdGltaXNhdGlvbnMgZnJvbSB0aGUgYnVpbGQgdW50aWwgdGhleSBhY3R1YWxseSBidWlsZCAodGhleSBhbHNvIHNlZW0gdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcHBjIGFzc2VtYmxlciBvcHRpbWlzYXRpb25zIGZyb20gdGhlIGJ1aWxkIHVudGlsIHRoZXkKCSAgYWN0dWFsbHkgYnVpbGQgKHRoZXkgYWxzbyBzZWVtIHRvIGhhdmUgR1BMIGhlYWRlcnMpLgoKMjAwOC0wMy0yMyAxMjo0ODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIG00L01ha2VmaWxlLmFtOiBCZXR0ZXIgbm90IGRpc3QgZmlsZXMgdGhhdCBkb24ndCBleGlzdCBhbnkgbG9uZ2VyIChscmludCptNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBCZXR0ZXIgbm90IGRpc3QgZmlsZXMgdGhhdCBkb24ndCBleGlzdCBhbnkgbG9uZ2VyIChscmludCptNCkuCgoyMDA4LTAzLTIyIDE5OjI2OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgR0lPIGFuZCBHbm9tZVZGUyBhcyB0aGV5IHByb3ZpZGUgYXV0aGVudGljYXRpb24uCgkgIERvbid0IGxlYWsgdGhlIGljeSBjYXBzIGlmIHdlIGFscmVhZHkgc2V0IHRoZW0gYW5kIGdldCBhIG5ldwoJICBpY3ktbWV0YWludCBoZWFkZXIuCgkgIFRyeSBoYXJkZXIgdG8gc2V0IHRoZSBpY3kgY2FwcyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciB0byBoYXZlIGNvcnJlY3QKCSAgY2FwcyBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBhbHJlYWR5LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgQ2hlY2sgdGhhdCB3ZSBnZXQgYSBidWZmZXIgd2l0aCBhcHBsaWNhdGlvbi94LWljeSBjYXBzIGlmIGlyYWRpby1tb2RlCgkgIGlzIGVuYWJsZWQgYW5kIHdlIGhhdmUgYW4gaWNlY2FzdCBVUkwuCgoyMDA4LTAzLTIyIDE4OjE4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKToKCSAgQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgRml4ZXMgYnVnICM1MjM4NTQuCgoyMDA4LTAzLTIxIDEzOjM2OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgbHJpbnQvbHJpbnRmIGNoZWNrcy4gV2UgZG9uJ3QgdXNlIGl0IGFueXdoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogbTQvbHJpbnQubTQ6CgkgICogbTQvbHJpbnRmLm00OgoJICBSZW1vdmUgbHJpbnQvbHJpbnRmIGNoZWNrcy4gV2UgZG9uJ3QgdXNlIGl0IGFueXdoZXJlLgoKMjAwOC0wMy0xOSAxOTo1Njo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2ZyZWV6ZS86IEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZyZWV6ZS9GQVE6CgkgICogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIEZBUS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYi4KCjIwMDgtMDMtMTggMTU6MDM6MDYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubSAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19kZXN0cm95KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMy0xOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0KCSAgKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfbmV3KTogQWN0dWFsbHkgc2V0IGEgbG9jayBvbiB0aGUKCSAgdGFzaywgd2hvb3BkZWUuCgkgIChjb2NvYV9ldmVudF9sb29wKTogUGFjaWZ5IHRoZSB0YXltYW5zIGJ5IHVwcGluZyB0aGUgdXNsZWVwYWdlIHRvCgkgIDIgbXMuCgoyMDA4LTAzLTE4IDExOjUwOjA4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0gKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDMtMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X2Rlc3Ryb3kpCgkgIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X25ldywgY29jb2FfZXZlbnRfbG9vcCk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oIChzdHJ1Y3QgX0dzdE9TWFZpZGVvU2luayk6IElmIHdlCgkgIG5lZWQgdG8gcnVuIGFuIGV2ZW50IGxvb3AsIGRvIHNvIGluIGEgdGFzayBpbnN0ZWFkIG9mIGFzc3VtaW5nCgkgIHRoYXQgdGhlcmUgd2lsbCBiZSBhIEdNYWluTG9vcC4gRml4ZXMgIzUyMzEzNC4KCjIwMDgtMDMtMTcgMTk6NTA6NTggKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBNYWtlIHN1cmUgdGhlIHByb2JlZCBmcmFtZSBzaXplcyBhcmUgcmV2ZXJzZWQgaW4gdGhlIHJlc3VsdGluZyBjYXBzIGFsc28gd2hlbiB1c2luZyBWNEwyX0ZSLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBjb20gaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIE1ha2Ugc3VyZSB0aGUgcHJvYmVkIGZyYW1lIHNpemVzIGFyZSByZXZlcnNlZCBpbiB0aGUgcmVzdWx0aW5nCgkgIGNhcHMgYWxzbyB3aGVuIHVzaW5nIFY0TDJfRlJNU0laRV9TVEVQV0lTRSAoc28gdGhleSBlbmQgdXAKCSAgaGlnaGVzdCByZXNvbHV0aW9uIGZpcnN0KTsgYWxzbyByZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoJICAoUGFydGx5IGZpeGVzICM1MjAwOTIpCgoyMDA4LTAzLTE3IDE1OjU2OjAxICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDYWxsIFdTQVN0YXJ0dXAoKSBhbmQgV1NBQ2xlYW51cCBiZWZvcmUgdXNpbmcgdGhlIFdpbnNvY2sgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpOgoJICBDYWxsIFdTQVN0YXJ0dXAoKSBhbmQgV1NBQ2xlYW51cCBiZWZvcmUgdXNpbmcgdGhlIFdpbnNvY2sgQVBJLgoJICBTZWUgIzUyMDgwOC4KCjIwMDgtMDMtMTYgMTU6MDE6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRXJtLCB0aGUgYnVmZmVyLXNpemUgaXMganVzdCBndWludCwgbm8gbmVlZCBmb3IgdGhlIHNwZWNpYWwgZm9ybWF0IHNwZWNpZmllci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBFcm0sIHRoZSBidWZmZXItc2l6ZSBpcyBqdXN0IGd1aW50LCBubyBuZWVkIGZvciB0aGUgc3BlY2lhbCBmb3JtYXQKCSAgc3BlY2lmaWVyLgoKMjAwOC0wMy0xNiAxNDozNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogU21hbGwgZml4ZXMgdG8gYnVpbGQgbW9yZSBvbiBQUEM6IGlmZGVmIG91dCBjb2RlIHRoYXQgdXNlcyB1bmtub3duIGRlZmluZTsgYWRkIG5ld2xpbmUgYXQgZW5kIG9mIGhlYWRlciBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLmg6CgkgIFNtYWxsIGZpeGVzIHRvIGJ1aWxkIG1vcmUgb24gUFBDOiBpZmRlZiBvdXQgY29kZSB0aGF0IHVzZXMgdW5rbm93bgoJICBkZWZpbmU7IGFkZCBuZXdsaW5lIGF0IGVuZCBvZiBoZWFkZXIgZmlsZSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoJICBBc3NlbWJsZXIgY29kZSBzdGlsbCBkb2Vzbid0IGJ1aWxkIHRob3VnaC4KCjIwMDgtMDMtMTYgMTQ6MDQ6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHVwIG15IGxhc3QgY29tbWl0LiBVc2UgR19HVUlOVDMyX0ZPUk1BVCBmb3IgdGhlIGd1aW50MzIgZGVidWcgbG9nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCB1cCBteSBsYXN0IGNvbW1pdC4gVXNlIEdfR1VJTlQzMl9GT1JNQVQgZm9yIHRoZSBndWludDMyIGRlYnVnIGxvZy4KCSAgQWxzbyBkb3duZ3JhZGUgYSBHU1RfV0FSTklORyB0byBHU1RfREVCVUcgYW5kIGFkZCBhIGNvbW1lbnQuCgoyMDA4LTAzLTE1IDIyOjEwOjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENodW5rc2l6ZSBpcyB1aW50MzIuIEZpeCBmb3JtYXQgc3BlY2lmaWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIENodW5rc2l6ZSBpcyB1aW50MzIuIEZpeCBmb3JtYXQgc3BlY2lmaWVyLgoKMjAwOC0wMy0xNCAxNTo1MzowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRzcC9DT1BZSU5HLk1JVDoKCSAgZml4IGxpY2Vuc2UgZmlsZSwgcmVtb3ZlIGV4dHJhIGxpbmUgY29waWVkIG92ZXIgYnkgbWlzdGFrZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGxpY2Vuc2UgZmlsZSwgcmVtb3ZlIGV4dHJhIGxpbmUgY29waWVkIG92ZXIgYnkgbWlzdGFrZQoKMjAwOC0wMy0xMyAxNDozMDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQKCSAgb2YgaGFyZGNvZGluZyB2YWx1ZXMuCgoyMDA4LTAzLTEzIDA5OjQ1OjA5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYnVpbGRfbWVzc2FnZSksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoKMjAwOC0wMy0xMSAyMzoxMjowNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc3JjLio6IENhY2hlIHByb2JlZCBjYXBzLCBzbyBfZ2V0X2NhcHMoKSBkdXJpbmcgcmVjb3JkaW5nIGRvZXNuJ3QgY2F1c2UgaW9jdGwgY2FsbHMgd2hpY2ggbWF5IGRpc3J1cHQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX2luaXQpLCAoZ3N0X29zc19zcmNfZ2V0Y2FwcyksCgkgIChnc3Rfb3NzX3NyY19jbG9zZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSAgQ2FjaGUgcHJvYmVkIGNhcHMsIHNvIF9nZXRfY2FwcygpIGR1cmluZyByZWNvcmRpbmcgZG9lc24ndCBjYXVzZQoJICBpb2N0bCBjYWxscyB3aGljaCBtYXkgZGlzcnVwdCB0aGUgcmVjb3JkaW5nIChmaXhlcyAjNTIxODc1KS4KCjIwMDgtMDMtMTEgMTY6MjM6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBhIERJU0NPTlQgYWZ0ZXIgYSBzZWVrIGJ5IHNldHRpbmcgdGhlIHNhbXBsZSBpbmRleCB0byBhbiB1bmRlZmluZWQgdmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBhIERJU0NPTlQgYWZ0ZXIgYSBzZWVrIGJ5IHNldHRpbmcgdGhlIHNhbXBsZQoJICBpbmRleCB0byBhbiB1bmRlZmluZWQgdmFsdWUgYWZ0ZXIgYSBzZWVrLgoKMjAwOC0wMy0xMSAxNToxODo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDogRml4IHVwIElTX0ZPTyBtYWNyb3MsIHdoaWNoIG1ha2VzIGd0ay1kb2MgbXVjaCBoYXBwaWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmg6IChHU1RfSVNfQVZJX1NVQlRJVExFKSwKCSAgKEdTVF9JU19BVklfU1VCVElUTEVfQ0xBU1MpOgoJICBGaXggdXAgSVNfRk9PIG1hY3Jvcywgd2hpY2ggbWFrZXMgZ3RrLWRvYyBtdWNoIGhhcHBpZXIuCgoyMDA4LTAzLTA4IDE5OjI5OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IE1vdmUgdGhlIC1sZ3N0Zm9vIHdoZXJlIGl0IGJlbG9uZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSAtbGdzdGZvbyB3aGVyZSBpdCBiZWxvbmdzLgoKMjAwOC0wMy0wOCAxOToxNDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgoyMDA4LTAzLTA4IDA0OjQwOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDogQWRkIElEIGZvciBFQk1MIENSQzMyIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDoKCSAgQWRkIElEIGZvciBFQk1MIENSQzMyIGVsZW1lbnRzLgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9maW5hbGl6ZSksCgkgIChnc3RfZWJtbF9yZWFkX2NsYXNzX2luaXQpLCAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfZ2V0X2xlbmd0aCksIChfZXh0MmRibCksIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgU3VwcG9ydCByZWFkaW5nIDgwYml0IGZsb2F0cywgYWRkIGZpbmFsaXplIG1ldGhvZCB0byBjbGVhbiB1cAoJICBpbiBhbnkgY2FzZSwgc3VwcG9ydCByZWFkaW5nIGxlbmd0aC9pZCBlbGVtZW50cyB3aXRoIGFueSBsZW5ndGgKCSAgYXMgbG9uZyBhcyBpdCdzIHNtYWxsZXIgdGhhbiBvdXIgc3VwcG9ydGVkIG1heGltdW0sIGRvbid0IGxlYWsKCSAgYnVmZmVycyBpZiByZWFkaW5nIGFzIG11Y2ggZGF0YSBhcyB3ZSB3YW50ZWQgZmFpbGVkIGFuZCBzb21lCgkgIHNtYWxsZXIgY2xlYW51cC4KCjIwMDgtMDMtMDggMDQ6MjE6MzQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogQ2hlY2sgdGhhdCBhIGJ1ZmZlciBpcyBsYXJnZSBlbm91Z2ggYmVmb3JlIHJlYWRpbmcgZnJvbSBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIENoZWNrIHRoYXQgYSBidWZmZXIgaXMgbGFyZ2UgZW5vdWdoIGJlZm9yZSByZWFkaW5nIGZyb20gaXQuCgkgIEZpeGVzIGJ1ZyAjNTIxMTAyLgoKMjAwOC0wMy0wNyAxNTo1NDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBjb21waWxhdGlvbiBhZnRlciByZW1vdmluZyB0aGUgR3N0UG9sbE1vZGUgZnJvbSB0aGUgY29uc3RydWN0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgRml4IGNvbXBpbGF0aW9uIGFmdGVyIHJlbW92aW5nIHRoZSBHc3RQb2xsTW9kZSBmcm9tIHRoZQoJICBjb25zdHJ1Y3Rvci4KCjIwMDgtMDMtMDcgMTM6MDg6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENoZWNrIGZvciBzaW5oKCksIGNvc2goKSBhbmQgYXNpbmgoKSBhbmQgZGVmaW5lIG91ciBvd24gaW1wbGVtZW50YXRpb25zIGlmIHRoZXkncmUgbm90IGF2YWlsYWJsZS4gRml4ZXMgYnVnICM1MjA4ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9tYXRoX2NvbXBhdC5oOgoJICBDaGVjayBmb3Igc2luaCgpLCBjb3NoKCkgYW5kIGFzaW5oKCkgYW5kIGRlZmluZSBvdXIgb3duCgkgIGltcGxlbWVudGF0aW9ucyBpZiB0aGV5J3JlIG5vdCBhdmFpbGFibGUuIEZpeGVzIGJ1ZyAjNTIwODgwLgoKMjAwOC0wMy0wNyAxMjo0MDoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBVbnJlZiB0aGUgYnVmZmVycyBvbmx5IG9uY2Ugd2hlbiBoYW5kbGluZyBub3QtbmVnb3RpYXRlZCBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2NoYWluKToKCSAgVW5yZWYgdGhlIGJ1ZmZlcnMgb25seSBvbmNlIHdoZW4gaGFuZGxpbmcgbm90LW5lZ290aWF0ZWQgZXJyb3JzLgoJICBGaXhlcyBidWcgIzUyMDc2NC4KCjIwMDgtMDMtMDcgMTA6MDE6NDAgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBQcm9wZXJseSBiYWxhbmNlIFdTQV9DbGVhbnVwIHdpdGggV1NBX1N0YXJ0dXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfZmluYWxpemUpLCAoZ3N0X3VkcHNyY19zdGFydCksCgkgIChnc3RfdWRwc3JjX3N0b3ApOgoJICBQcm9wZXJseSBiYWxhbmNlIFdTQV9DbGVhbnVwIHdpdGggV1NBX1N0YXJ0dXAuCgkgIEFsc28gbWFrZSB0aGUgcG9sbCBjb250cm9sbGFibGUgb24gd2luZG93cy4gRml4ZXMgIzUyMDg4OC4KCjIwMDgtMDMtMDYgMTk6NDc6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBIYW5kbGUgcmV0dXJuIHZhbHVlcyBmcm9tIHB1bGxfcmFuZ2UgaW4gYSBtb3JlIGdyYW51bGFyIHdheSB0byBwcm9wZXJseSBzaHV0IGRvd24gb24gc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX3B1bGxfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcGVla19pZCksCgkgIChnc3RfZWJtbF9yZWFkX3NraXApLCAoZ3N0X2VibWxfcmVhZF9idWZmZXIpLAoJICAoZ3N0X2VibWxfcmVhZF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX3VpbnQpLCAoZ3N0X2VibWxfcmVhZF9zaW50KSwKCSAgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLCAoZ3N0X2VibWxfcmVhZF9hc2NpaSksIChnc3RfZWJtbF9yZWFkX3V0ZjgpLAoJICAoZ3N0X2VibWxfcmVhZF9kYXRlKSwgKGdzdF9lYm1sX3JlYWRfbWFzdGVyKSwKCSAgKGdzdF9lYm1sX3JlYWRfYmluYXJ5KSwgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfaGRyX2J1ZiksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9mbGFjX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBIYW5kbGUgcmV0dXJuIHZhbHVlcyBmcm9tIHB1bGxfcmFuZ2UgaW4gYSBtb3JlIGdyYW51bGFyIHdheSB0byBwcm9wZXJseQoJICBzaHV0IGRvd24gb24gc2Vla3MuCgkgIENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHB1c2guCgkgIEltcGxlbWVudCBwcm9wZXIgZXJyb3IgaGFuZGxpbmcuCgkgIFByZXBhcmUgZm9yIGhhbmRsaW5nIHNlZWtpbmcgY29ycmVjdGx5LgoKMjAwOC0wMy0wMyAyMjowMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFVzZSBHSU5UNjQgZm9ybWF0dGluZyBjb25zdGFudHMgZnJvbSBHTElCLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIFVzZSBHSU5UNjQgZm9ybWF0dGluZyBjb25zdGFudHMgZnJvbSBHTElCLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBBZGQgc29tZSBndWFyZHMgdG8gYXZvaWQgYSBwb3NzaWJsZSBkaXZpc2lvbiBieSAwIGFuZCBjcmFzaGluZwoJICB3aXRoIE5VTEwgZXZlbnRzIG9uIHNvbWUgc3lzdGVtcy4KCSAgVXNlIGdzdF9nZG91YmxlX3RvX2d1aW50NjQgc29tZXdoZXJlIGluc3RlYWQgb2YgYW4gaW1wbGljaXQKCSAgY29udmVyc2lvbi4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIENoZWNrIGZvciBpbnZhbGlkIHRpbWVzdGFtcHMgaW4gYSBidW5jaCBvZiBwbGFjZXMgdG8gYXZvaWQKCSAgd3JpdGluZyBib2d1cyBkdXJhdGlvbnMgaW50byB0aGUgb3V0cHV0IGZpbGUuCgkgIEZpeCBzb21lIGRvdWJsZTwtPmdpbnQ2NCBjb252ZXJzaW9ucyB0aGF0IHdlcmVuJ3QgdXNpbmcKCSAgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZQoKMjAwOC0wMy0wMyAxMzowMzo0MyArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IE1vdmUgdGhlIGNoZWNrcyBmb3IgYmlzb24sIGZsZXggYW5kIGFzIHRvIHRoZSBwcm9ncmFtIHNlY3Rpb24gYW5kIHRoZSBjaGVjayBmb3IgZ2NjIGlubGluZSBhc20gdG8gdGhlIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBNb3ZlIHRoZSBjaGVja3MgZm9yIGJpc29uLCBmbGV4IGFuZCBhcyB0byB0aGUgcHJvZ3JhbSBzZWN0aW9uIGFuZCB0aGUKCSAgY2hlY2sgZm9yIGdjYyBpbmxpbmUgYXNtIHRvIHRoZSBjb21waWxlciBjaGFyYWN0ZXJpc3RpY3Mgc2VjdGlvbi4KCjIwMDgtMDMtMDMgMTI6MTA6NTUgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaAoJICBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNDk4MjIyKQoKMjAwOC0wMi0yOSAxMjozNToyNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCBjYWxsIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKSB1bmxlc3Mgd2UgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyk6CgkgIERvbid0IGNhbGwgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpIHVubGVzcyB3ZSBoYXZlIGEgdmFsaWQgdGltZXN0YW1wLgoKMjAwOC0wMi0yOSAwNjoxODo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggRGlyYWMgbWFwcGluZy4gIEkgaGFkIHByZXZpb3VzbHkgYWRkZWQgYSBWZlctdHlwZSBtYXBwaW5nLCBidXQgaXQgbG9va3MgbGlrZSBEaXJhYyB3aWxsIGdldCBhIG5hdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRml4IERpcmFjIG1hcHBpbmcuICBJIGhhZCBwcmV2aW91c2x5IGFkZGVkIGEgVmZXLXR5cGUKCSAgbWFwcGluZywgYnV0IGl0IGxvb2tzIGxpa2UgRGlyYWMgd2lsbCBnZXQgYSBuYXRpdmUgTWF0cm9za2EKCSAgbWFwcGluZywgYW5kIHRoaXMgaXMgdGhlIG1vc3QgbGlrZWx5IG1ldGhvZC4KCjIwMDgtMDItMjggMjM6NTY6MzAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQWRkIERpcmFjIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFkZCBEaXJhYyBlbmNvZGluZwoKMjAwOC0wMi0yOCAxMTo1MToyNCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBQb3J0IHRvIEdzdFBvbGwuIFNlZSAjNTA1NDE3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2luaXQpLCAoZ3N0X3VkcHNyY19jcmVhdGUpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3VubG9jayksCgkgIChnc3RfdWRwc3JjX3VubG9ja19zdG9wKSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgUG9ydCB0byBHc3RQb2xsLiBTZWUgIzUwNTQxNy4KCjIwMDgtMDItMjggMDg6Mzc6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCB3aGVuIHRoZSBjYXBzIGFyZSBub3Qgc2V0IHlldCBvbiB0aGUgc3JjcGFkLiBXZSBuZWVkIHJhdGUgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2NoYWluKToKCSAgUmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIHdoZW4gdGhlIGNhcHMgYXJlIG5vdCBzZXQKCSAgeWV0IG9uIHRoZSBzcmNwYWQuIFdlIG5lZWQgcmF0ZSBhbmQgY2hhbm5lbHMgYmVmb3JlIHdlCgkgIGNhbiBkbyBhbnkgcHJvY2Vzc2luZy4gRml4ZXMgYnVnICM1MTkwODguCgoyMDA4LTAyLTI2IDEwOjA5OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGV0ZWN0IGFuZCBpbmRpY2F0ZSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IHN5bnRheCBpcyBhdmFpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGV0ZWN0IGFuZCBpbmRpY2F0ZSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IHN5bnRheCBpcwoJICBhdmFpbGFibGUuCgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOgoJICAqIGdzdC9nb29tL2lmcy5jOgoJICAqIGdzdC9nb29tL21teC5jOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgICogZ3N0L2dvb20veG1teC5jOgoJICBGaXggdmFyaW91cyBHQ0MtaXNtcywgYW5kIG9ubHkgYnVpbGQgdGhlIGlubGluZSBhc3NlbWJseQoJICB3aXRoIGNvbXBpbGVycyB0aGF0IHN1cHBvcnQgR0NDIGlubGluZSBhc3NlbWJseS4KCSAgRml4IGEgY291cGxlIG9mIG90aGVyIHdhcm5pbmdzIHNob3duIHdpdGggRm9ydGUuCgoyMDA4LTAyLTI2IDA1OjM2OjE3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAocnVuX3Rlc3QpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4KCSAgdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgoyMDA4LTAyLTI1IDEyOjAzOjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS94bW14LmM6IFVzZSAnZW1tcycgaW5zdGVhZCBvZiAnZmVtbXMnIHRvIG5vdCBjcmFzaCBvbiBjcHVzIHRoYXQgZG8gbm90IGltcGxlbWVudCB0aGlzIDNkbm93IHNwZWNpZmljIGluc3RydWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20veG1teC5jOgoJICBVc2UgJ2VtbXMnIGluc3RlYWQgb2YgJ2ZlbW1zJyB0byBub3QgY3Jhc2ggb24gY3B1cyB0aGF0IGRvIG5vdAoJICBpbXBsZW1lbnQgdGhpcyAzZG5vdyBzcGVjaWZpYyBpbnN0cnVjdGlvbi4KCjIwMDgtMDItMjUgMTA6MzI6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IFVzZSBleHRlbmRlZCBNTVggZm9yIGRyYXdfbGluZSgpIHRvbyBpZiBhdmFpbGFibGUsIG5vdCBvbmx5IG5vcm1hbCBNTVguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChzZXRPcHRpbWl6ZWRNZXRob2RzKToKCSAgVXNlIGV4dGVuZGVkIE1NWCBmb3IgZHJhd19saW5lKCkgdG9vIGlmIGF2YWlsYWJsZSwgbm90IG9ubHkKCSAgbm9ybWFsIE1NWC4KCjIwMDgtMDItMjUgMDY6NTA6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9qcGVnL2dzdGpwZWcuYzogUmVtb3ZlIChjb21tZW50ZWQgb3V0KSBzbW9rZSB0eXBlZmluZGVyLiBUaGlzIGlzIGluIGJhc2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbW92ZSAoY29tbWVudGVkIG91dCkgc21va2UgdHlwZWZpbmRlci4gVGhpcyBpcyBpbiBiYXNlIG5vdy4KCjIwMDgtMDItMjMgMTU6MDI6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20yazEvOiBSZW5hbWUgdGhlIGluc3RhbGxlZCBsaWJyYXJ5LCBhbmQgZG9uJ3QgcmVnaXN0ZXIgdGhlIHNhbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBSZW5hbWUgdGhlIGluc3RhbGxlZCBsaWJyYXJ5LCBhbmQgZG9uJ3QgcmVnaXN0ZXIgdGhlIHNhbWUKCSAgR1R5cGUgbmFtZSBhcyB0aGUgbmV3IGdvb20uCgoyMDA4LTAyLTIzIDEyOjIzOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIGFuZCBkZWZpbmUgRVJST1JfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtIHdoZW4gYnVpbGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCB1c2UgdGhlbSB3aGVuIGJ1aWxkaW5nCgkgIEMrKyBjb2RlICgjNTE2NTA5KS4KCjIwMDgtMDItMjMgMTI6MTA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IENhbGwgb2lsX2luaXQoKSwgb3RoZXJ3aXNlIG9pbF9nZXRfY3B1X2ZsYWdzKCkgd29uJ3QgcmV0dXJuIGFueXRoaW5nIHVzZWZ1bC4gRXhwb3J0IGdvb20gZGVidWcgY2F0ZWdvcnkgc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ29vbV9kZWJ1ZyksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKGdvb21fZGVidWcpLCAoR1NUX0NBVF9ERUZBVUxUKSwKCSAgKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBDYWxsIG9pbF9pbml0KCksIG90aGVyd2lzZSBvaWxfZ2V0X2NwdV9mbGFncygpIHdvbid0IHJldHVybgoJICBhbnl0aGluZyB1c2VmdWwuIEV4cG9ydCBnb29tIGRlYnVnIGNhdGVnb3J5IHNvIHdlIGNhbiBnZXQKCSAgcmlkIG9mIHRoZSBWRVJCT1NFIGRlZmluZSBhbmQgdGhlIHByaW50ZnMuCgoyMDA4LTAyLTIzIDExOjUzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBDb21waWxlIGZpeGVzIGZvciB4ODYtNjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dvb21zbF9oZWFwLmM6IChhbGlnbl9pdCk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBDb21waWxlIGZpeGVzIGZvciB4ODYtNjQuCgoyMDA4LTAyLTIzIDAzOjEwOjU1ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBnc3QvZ29vbS9NYWtlZmlsZS5hbTogRG9uJ3QgY29tcGlsZSBsZXggb3IgeWFjYyBvdXRwdXRzIHdpdGggd2FybmluZ3MsIGJ1dCBhZGQgb3RoZXIgQ0ZMQUdTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOiBEb24ndCBjb21waWxlIGxleCBvciB5YWNjIG91dHB1dHMKCSAgd2l0aCB3YXJuaW5ncywgYnV0IGFkZCBvdGhlciBDRkxBR1MKCSAgKiBnc3QvZ29vbS9nb29tc2wuYyAoZ3NsX2luc3RyX3NldF9uYW1lc3BhY2UpLAoJICAoZ3NsX2luc3RyX2FkZF9wYXJhbSksIChpZmxvd19leGVjdXRlKSwgKGdzbF9lbnRlcm5hbWVzcGFjZSksCgkgIChjYWxjdWxhdGVfbGFiZWxzKSwgKGdzbF9yZWFkX2ZpbGUpOgoJICAqIGdzdC9nb29tL2dvb21zbF9sZXgubDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfeWFjYy55OgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IFJlbW92ZSBhIGZldyBsaXZlIHByaW50ZiwgYW5kCgkgIGZwcmludGYsIHJlcGxhY2UgZXhpdCgpIGNhbGxzIHdpdGggZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoJICBpZiBpdCBub3Qgb3B0aW1hbCBmb3IgYSBsaWJyYXJ5CgoyMDA4LTAyLTIzIDAyOjM4OjAzICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBnc3QvZ29vbS9NYWtlZmlsZS5hbTogUmVtb3ZlIHRoZSB3YXJuaW5ncyBiZWluZyBkaXNhYmxlZCwgZml4IGxpbmthZ2Ugb24geDg2LCBzcG90dGVkIGJ5IFNlYmFzdGlhbiBEcsO2Z2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06IFJlbW92ZSB0aGUgd2FybmluZ3MgYmVpbmcgZGlzYWJsZWQsCgkgIGZpeCBsaW5rYWdlIG9uIHg4Niwgc3BvdHRlZCBieSBTZWJhc3RpYW4gRHLDtmdlCgkgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYyAoY29udm9sdmVfaW5pdCksCgkgIChjcmVhdGVfb3V0cHV0X3dpdGhfYnJpZ2h0bmVzcyksIChjb252b2x2ZV9hcHBseSk6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jICh6b29tRmlsdGVyVmlzdWFsRlhXcmFwcGVyX2NyZWF0ZSk6CgkgICogZ3N0L2dvb20vZ29vbXNsLmM6CgkgICogZ3N0L2dvb20vaWZzLmMgKGlmc191cGRhdGUpLCAoaWZzX3Zpc3VhbGZ4X2NyZWF0ZSk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgKiBnc3QvZ29vbS90ZW50YWNsZTNkLmMgKHRlbnRhY2xlX2Z4X2NyZWF0ZSk6CgkgIEZpeCB3YXJuaW5ncywgYW5kIGRpc2FibGUgdGhlIG1vdGlmcyBpbiB0aGUgY29udm9sdmVfZngKCSAgcGx1Z2luICh0aGV5IHdlcmUgY2F1c2luZyB3YXJuaW5ncywgYW5kIHRoZXkgd2VyZSBqdXN0CgkgICJHb29tIiBpbiBmdW5ueSBsZXR0ZXJyaW5nKQoKMjAwOC0wMi0yMyAwMTo1MTozNyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgY2hlY2tzIGZvciBGbGV4L1lhY2MvQmlzb24gYW5kIG90aGVyIGZ1cnJ5IGFuaW1hbHMsIGZvciB0aGUgbmV3IGdvb20gMms0IGJhc2VkIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMi0yMyAgQmFzdGllbiBOb2NlcmEgIDxoYWRlc3NAaGFkZXNzLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6IEFkZCBjaGVja3MgZm9yIEZsZXgvWWFjYy9CaXNvbiBhbmQgb3RoZXIKCSAgZnVycnkgYW5pbWFscywgZm9yIHRoZSBuZXcgZ29vbSAyazQgYmFzZWQgcGx1Z2luCgkgICogZ3N0L2dvb20vKjogVXBkYXRlIHRvIHVzZSBnb29tIDJrNCwgdXNlcyBsaWJvaWwgdG8gZGV0ZWN0CgkgIENQVSBvcHRpbWlzYXRpb25zIChub3Qgd29ya2luZyB5ZXQpLCBtb3ZlIHRoZSBvbGQgcGx1Z2luIHRvLi4uCgkgICogZ3N0L2dvb20yazEvKjogLi4uIGhlcmUsIGluIGNhc2Ugc29tZWJvZHkgaXMgc2ljayBlbm91Z2gKCSAgRml4ZXMgIzUxNTA3MwoKMjAwOC0wMi0yMiAwOTo1NjowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUG9zdCB0aGUgc2VydmVyIHJlc3BvbnNlIGNvZGUgaW4gYW4gZXJyb3IgbWVzc2FnZSBpbnN0ZWFkIG9mIGEgZ2VuZXJpYyAnZXJyb3InIG1lc3NhZ2UuIEZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgUG9zdCB0aGUgc2VydmVyIHJlc3BvbnNlIGNvZGUgaW4gYW4gZXJyb3IgbWVzc2FnZSBpbnN0ZWFkIG9mIGEgZ2VuZXJpYwoJICAnZXJyb3InIG1lc3NhZ2UuIEZpeGVzICM1MTcyMzcuCgoyMDA4LTAyLTIyIDA3OjIwOjAzICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfZnJlZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgUHJlZml4IHByb3h5IFVSSXMgd2l0aCAiaHR0cDovLyIgaWYgdGhleSBkb24ndCBzdGFydCB3aXRoIGl0CgkgIGFscmVhZHkgYW5kIGNhdGNoIGVycm9ycyBlYXJsaWVyLCBmaXhlcyBoYW5naW5nIGluIHNvbWUgc2l0dWF0aW9ucy4KCSAgRml4ZXMgYnVnICM1MTQ5NDguCgoyMDA4LTAyLTIyIDA2OjIyOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogSWdub3JlIGdjb25mYXVkaW9zcmMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0IHRvby4gSXQgd2lsbCBmYWxsYmFjayB0byBhbHNhc3JjIGlmIHRoZSBnY29uZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBnY29uZmF1ZGlvc3JjIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCB0b28uIEl0IHdpbGwgZmFsbGJhY2sKCSAgdG8gYWxzYXNyYyBpZiB0aGUgZ2NvbmYgc2V0dGluZ3MgY2FuJ3QgYmUgcmVhZCBhbmQgbm90IGV2ZXJ5Ym9keSBoYXMKCSAgYWxzYS4KCjIwMDgtMDItMjIgMDY6MDY6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBBbHdheXMgcmVwb3J0IHRoZSBkdXJhdGlvbiBpZiB3ZSBrbm93IGl0IGluIHB1c2ggbW9kZSBhbmQgZG9uJ3QgcmV0dXJuIDAganVzdCB0byBtYWtlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFsd2F5cyByZXBvcnQgdGhlIGR1cmF0aW9uIGlmIHdlIGtub3cgaXQgaW4gcHVzaCBtb2RlIGFuZCBkb24ndAoJICByZXR1cm4gMCBqdXN0IHRvIG1ha2UgdG90ZW0gYmVsaWV2ZSB3ZSBjYW4ndCBzZWVrIGluIHB1c2ggbW9kZS4KCSAgTmV3ZXIgdG90ZW0gdmVyc2lvbiB1c2UgdGhlIFNFRUtJTkcgcXVlcnkgd2hpY2ggcHJvcGVybHkgcmVwb3J0cwoJICBpZiB3ZSBjYW4gc2VlayBvciBub3QuCgoyMDA4LTAyLTIyIDA1OjM5OjAxICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOiBDODkgZml4LCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6IChtYWluKToKCSAgQzg5IGZpeCwgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mCgkgIHRoZSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzMuCgoyMDA4LTAyLTIxIDIzOjQ3OjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCj09PSByZWxlYXNlIDAuMTAuNyA9PT0KCjIwMDgtMDItMjEgMDA6MDk6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC43IC0gUmVkIERvb3IgQmxhY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC43IC0gUmVkIERvb3IgQmxhY2sKCjIwMDgtMDItMjAgMjI6NTE6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTAyLTE5IDEwOjQ3OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYWxwaGEvTWFrZWZpbGUuYW06IExpbmsgYWxwaGEgcGx1Z2luIHdpdGggbGliZ3N0YmFzZS4gRml4ZXMgYnVnICM1MTczODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgTGluayBhbHBoYSBwbHVnaW4gd2l0aCBsaWJnc3RiYXNlLiBGaXhlcyBidWcgIzUxNzM4Ni4KCjIwMDgtMDItMTggMTE6MTM6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEluaXQgdmFsdWVzIHRvIC0xIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgMCB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSk6CgkgIEluaXQgdmFsdWVzIHRvIC0xIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgMCB2YWx1ZS4KCSAgRml4ZXMgIzUxNjUyNC4KCjIwMDgtMDItMTQgMTQ6NTA6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzogQWRkIG1pc3NpbmcgaW5jbHVkZSB0byBmaXggY29tcGlsYXRpb24gd2hlbiBsaWJ4bWwgdXNhZ2UgaXMgZGlzYWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgQWRkIG1pc3NpbmcgaW5jbHVkZSB0byBmaXggY29tcGlsYXRpb24gd2hlbiBsaWJ4bWwgdXNhZ2UgaXMgZGlzYWJsZWQuCgkgIEZpeGVzOiAjNTE2MzcxCgoyMDA4LTAyLTEyIDIzOjM4OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgZml4ZXM6ICM1MTQ4ODkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiAgV2ltIFRheW1hbnMgIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgkgIGZpeGVzOiAjNTE0ODg5CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIEZpeCB2YXJpb3VzIGxlYWtzIHNob3duIHVwIGluIHZhbGdyaW5kCgkgIC0gZnJlZSBzcHJvcHMgYW5kIGJ1ZmZlciBpbiBlcnJvciBjYXNlcyBpbiBIMjY0IHBheWxvYWRlcgoJICAtIGZpeCBsZWFrIGluIG1wNGcgZGVwYXlsb2FkZXIgd2hlbiBjb25zdHJ1Y3Rpb24gdGhlIGNhcHMKCSAgLSBkb24ndCBsZWFrIGNvbmZpZyBzdHJpbmcgaW4gdGhlIG1wNGcgcGF5bG9hZGVyCgkgIC0gZG9uJ3QgbGVhayBidWZmZXJzIGFuZCBoZWFkZXJzIGluIHRoZW9yYSBhbmQgdm9yYmlzIHBheWxvYWRlcnMKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBGaXggdGhlIFJUUCBkYXRhIHRlc3QKCSAgLSBBY3R1YWxseSBzZW5kIHZhbGlkIGFtciBkYXRhIHRvIHRoZSBwYXlsb2FkZXIgaW5zdGVhZCBvZiAyMAoJICB6ZXJvLWJ5dGVzCgkgIC0gVGhlIG1wNGcgcGF5bG9hZGVyIGV4cGVjdHMgY29kZWNfZGF0YSBvbiB0aGUgY2FwcwoKMjAwOC0wMi0xMiAyMTozNjo0MCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBsaWJnc3RwbmcuZHNwIHRvIE1BTklGRVNULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGxpYmdzdHBuZy5kc3AgdG8gTUFOSUZFU1QuCgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICBBZGQgbmV3IHNvdXJjZSBmaWxlcyB0byBWUyBwcm9qZWN0IGZpbGUuCgoyMDA4LTAyLTEyIDEzOjM0OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEluaXRpYWxpc2UgdmFyaWFibGVzIHdoZW4gb3BlbmluZyB0aGUgWCBkaXNwbGF5IHJhdGhlciB0aGFuIGluIF9zdGFydCgpLCBhcyB0aGUgZGlzcGxheSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBJbml0aWFsaXNlIHZhcmlhYmxlcyB3aGVuIG9wZW5pbmcgdGhlIFggZGlzcGxheSByYXRoZXIKCSAgdGhhbiBpbiBfc3RhcnQoKSwgYXMgdGhlIGRpc3BsYXkgY2FuIGJlIG9wZW5lZCBiZWZvcmUgdGhhdC4KCSAgRml4ZXM6ICM1MTU5ODUKCjIwMDgtMDItMTIgMTI6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGRyYXdzdXJmYWNlX2NsYXNzX2luaXQpLCAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2ZpbmFsaXplKToKCSAgUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCjIwMDgtMDItMTIgMTE6Mzg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQ2hhaW4gdXAgdGhlIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9jbGFzc19pbml0KToKCSAgQ2hhaW4gdXAgdGhlIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODQuCgoyMDA4LTAyLTEyIDExOjE0OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogQ2hhaW4gdXAgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uIGZvciBvdXIgY3VzdG9tIGJ1ZmZlciBzdWItY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICBDaGFpbiB1cCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24gZm9yIG91ciBjdXN0b20KCSAgYnVmZmVyIHN1Yi1jbGFzcy4KCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgIEZpeGVzOiAjNTE1NzA2CgoyMDA4LTAyLTEyIDExOjEyOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVidWcvZWZlbmNlLmM6IFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIG1ldGhvZC4gRml4ZXMgYnVnICM1MTU5NzkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9mZW5jZWRfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2NsYXNzX2luaXQpOgoJICBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBtZXRob2QuIEZpeGVzIGJ1ZyAjNTE1OTc5LgoKMjAwOC0wMi0xMiAxMTowOTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGcmVlIGFsbG9jYXRlZCBEYW1hZ2UgbWVtb3J5IGJlZm9yZSBjbG9zaW5nIG91ciBjb25uZWN0aW9uIHRvIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBGcmVlIGFsbG9jYXRlZCBEYW1hZ2UgbWVtb3J5IGJlZm9yZSBjbG9zaW5nIG91ciBjb25uZWN0aW9uIHRvIHRoZQoJICBYIHNlcnZlci4gRml4ZXM6ICM1MTU3MDYKCjIwMDgtMDItMTIgMDU6MjE6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCjIwMDgtMDItMTIgMDU6MTQ6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBhIGZldyBsaWJqcGVnIHN1cHByZXNzaW9ucyBhbmQgaW5pdGlhbGl6ZSBhIHZhcmlhYmxlIHRvIG1ha2Ugc21va2VlbmMgdmFsZ3JpbmQgY2xlYW4uIEZpeGVzIGJ1ZyAjNTE1NzAxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1nb29kLnN1cHA6CgkgIEFkZCBhIGZldyBsaWJqcGVnIHN1cHByZXNzaW9ucyBhbmQgaW5pdGlhbGl6ZSBhIHZhcmlhYmxlIHRvCgkgIG1ha2Ugc21va2VlbmMgdmFsZ3JpbmQgY2xlYW4uIEZpeGVzIGJ1ZyAjNTE1NzAxLgoKMjAwOC0wMi0xMSAyMToyNDozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFJldmVydCBwYXRjaCB3aGljaCBzZW5kcyB0aW1lc3RhbXBzIG9ubHkgb24ga2V5ZnJhbWVzLCBhcyBpdCBicmVha3MgcGxheWJhY2sgd2l0aCBjdXJyZW50IGdzdC0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgcGF0Y2ggd2hpY2ggc2VuZHMgdGltZXN0YW1wcyBvbmx5IG9uIGtleWZyYW1lcywgYXMgaXQKCSAgYnJlYWtzIHBsYXliYWNrIHdpdGggY3VycmVudCBnc3QtZmZtcGVnLgoJICBGaXhlczogIzUxNTU2MgoKMjAwOC0wMi0xMSAxNDowMTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQ2xvc2Ugc29tZSBtZW1vcnkgbGVha3Mgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LiBGaXhlcyBidWcgIzUxNTY5Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBDbG9zZSBzb21lIG1lbW9yeSBsZWFrcyBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuIEZpeGVzIGJ1ZyAjNTE1Njk3LgoKMjAwOC0wMi0xMSAxMzo0ODowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2djb25mL2djb25mLmM6IFVzZSBhbmQgdW5zZXQgdGhlIEdFcnJvciB3aGVuIHBpcGVsaW5lIGNyZWF0aW9uIGZhaWxzIGluc3RlYWQgb2Ygc2ltcGx5IGxlYWtpbmcgaXQuIEZpeGVzIGJ1ZyAjNTE1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgVXNlIGFuZCB1bnNldCB0aGUgR0Vycm9yIHdoZW4gcGlwZWxpbmUgY3JlYXRpb24gZmFpbHMgaW5zdGVhZCBvZgoJICBzaW1wbHkgbGVha2luZyBpdC4gRml4ZXMgYnVnICM1MTU3MDQuCgoyMDA4LTAyLTEwIDEwOjQ2OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEZpeCBsb25nIGRlc2NyaXB0aW9uIG9mIGF1ZGlvZnggZWxlbWVudHMuIEZpeGVzIGJ1ZyAjNTE1NDU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBGaXggbG9uZyBkZXNjcmlwdGlvbiBvZiBhdWRpb2Z4IGVsZW1lbnRzLiBGaXhlcyBidWcgIzUxNTQ1Ny4KCjIwMDgtMDItMDkgMDE6NDU6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIGEgc2ltcGxlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHRoZSBzcGVjdHJ1bSBlbGVtZW50LCBpbmNsdWRlIGl0IGluIHRoZSBkb2NzLCBhbmQgZml4IHNvbWUgZG9jdW1lbnRhdGlvbiBhbWJpZ3VpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgQWRkIGEgc2ltcGxlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHRoZSBzcGVjdHJ1bSBlbGVtZW50LCBpbmNsdWRlIGl0CgkgIGluIHRoZSBkb2NzLCBhbmQgZml4IHNvbWUgZG9jdW1lbnRhdGlvbiBhbWJpZ3VpdGllcy4KCSAgRml4ZXM6ICMzNDgwODUKCjIwMDgtMDItMDkgMDA6MTU6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGluY2x1ZGVzIG9yZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBGaXggaW5jbHVkZXMgb3JkZXIKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRXhjbHVkZSB2NGwyc3JjIGZyb20gdGhlIHN0YXRlcyB0ZXN0IC0gaXQgdGFrZXMgdG9vIGxvbmcgdG8gc3RhcnQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgTWFrZSB0aGUgdGVzdCBydW4gcHJvcGVybHkgd2l0aCBDS19GT1JLPW5vCgoyMDA4LTAyLTA4IDE1OjMyOjM2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCAzIG5ldyBwbHVnaW5zIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIDMgbmV3IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDA4LTAyLTA4IDE1OjI3OjUxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoKMjAwOC0wMi0wOCAxNToyMDozMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRmxhZyBrZXlmcmFtZSBhbmQgZGVsdGEgdW5pdHMgY29ycmVjdGx5IHdoZW4gZGVhbGlnbiB3aXRoIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDItMDggIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6IEZsYWcKCSAga2V5ZnJhbWUgYW5kIGRlbHRhIHVuaXRzIGNvcnJlY3RseSB3aGVuIGRlYWxpZ24gd2l0aCBhCgkgIEJsb2NrR3JvdXAuCgkgIEZpeGVzOiAjNTE0Mzk3CgoyMDA4LTAyLTA4IDEwOjE5OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IFNwZWxsIHRoZSBuZXcgdGVzdHMgY29ycmVjdGx5IGluIC5jdnNpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgU3BlbGwgdGhlIG5ldyB0ZXN0cyBjb3JyZWN0bHkgaW4gLmN2c2lnbm9yZQoKMjAwOC0wMi0wOCAxMDowOTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IE5lZWQgdG8gdXNlIGdzaXplIGhlcmUgZm9yIHRoZSBzaXplLCBmaXhlcyBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIE5lZWQgdG8gdXNlIGdzaXplIGhlcmUgZm9yIHRoZSBzaXplLCBmaXhlcyBjb21waWxlciB3YXJuaW5nLgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBmaWxlcyB0byBmaXggdGhlIGJ1aWxkLgoKMjAwOC0wMi0wOCAwNDoyNTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIG11bHRpZmlsZSBwbHVnaW4gZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBNb3ZlIG11bHRpZmlsZSBwbHVnaW4gZnJvbSAtYmFkLgoJICBGaXhlczogIzQ5MDI4MwoKMjAwOC0wMi0wOCAwMzo0NDoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlLzogVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgU2hvdWxkIGJlIGxlc3MgZXJyb3IgcHJvbmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIENyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdXNpbmcgc3RhbmRhcmQgZnVuY3Rpb25zIGluc3RlYWQgb2YKCSAgY3JlYXRpbmcgYSBkaXJlY3RvcnkgaW4gdGhlIGN1cnJlbnQgZGlyLgoKMjAwOC0wMi0wOCAwMzoyODo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHNwZWN0cnVtIHBsdWdpbiBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgc3BlY3RydW0gcGx1Z2luIGZyb20gLWJhZC4KCSAgTW92ZSBleGFtcGxlcyBpbnRvIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLgoKMjAwOC0wMi0wOCAwMjo1NjoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE1lbnRpb24gYnVnIDQxNTYyNyBmaXhlZCB3aXRoIHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVudGlvbiBidWcgNDE1NjI3IGZpeGVkIHdpdGggcHJldmlvdXMgY29tbWl0CgoyMDA4LTAyLTA4IDAyOjQ5OjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4gYWNyb3NzIGZyb20gLWJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiBhY3Jvc3MgZnJvbSAtYmFkCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIGVxdWFsaXplciwgYXVkaW9zaW5jd2JhbmQgYW5kIGF1ZGlvc2luY3dsaW1pdAoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMDgtMDItMDggMDI6NDg6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX09QVElPTl9DRkxBR1MsIHRvIGdldCAtV2Vycm9yIC1XYWxsIGludG8gdGhlIHRlc3RzIGFzIGZvcgoJICBvdGhlciBtb2R1bGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIGZyb20gLVdhbGwgLVdlcnJvcgoKMjAwOC0wMi0wOCAwMTowNzowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IE9ubHkgYnVpbGQgd2l0aCBESVNBQkxFX0RFUFJFQ0FURUQgZHVyaW5nIHRoZSBDVlMgY3ljbGUuIFByZS1yZWxlYXNlcyBhcmUgdHJlYXRlZCBsaWtlIHJlbGVhc2VzIGFuZCBidWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBPbmx5IGJ1aWxkIHdpdGggRElTQUJMRV9ERVBSRUNBVEVEIGR1cmluZyB0aGUgQ1ZTIGN5Y2xlLiBQcmUtcmVsZWFzZXMKCSAgYXJlIHRyZWF0ZWQgbGlrZSByZWxlYXNlcyBhbmQgYnVpbGQgd2l0aG91dCBpdC4KCjIwMDgtMDItMDcgMjE6NTc6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB0aGUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWJhZCBpbnRvIHRoZSBhdWRpb2Z4IHBsdWdpbiwgYW5kIHJlbmFtZSB0byBhdWRpb3dzaW5jbGltaXQgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSAgTW92ZSB0aGUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWJhZCBpbnRvCgkgIHRoZSBhdWRpb2Z4IHBsdWdpbiwgYW5kIHJlbmFtZSB0byBhdWRpb3dzaW5jbGltaXQgYW5kIGF1ZGlvd3NpbmNiYW5kCgkgIHJlc3BlY3RpdmVseS4KCSAgRml4ZXM6ICM0Njc2NjYKCjIwMDgtMDItMDcgMjE6MTc6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgaWYgd2UgZ2V0IGEgYnVmZmVyIHdpdGhvdXQgY2FwcywgYW5kIGFkZCBhIHNvbWV3aGF0IHVzZWZ1bCBkZWJ1ZyBtZXNzYWdlLiBQbHVzIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X2NoYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgaWYgd2UgZ2V0IGEgYnVmZmVyIHdpdGhvdXQKCSAgY2FwcywgYW5kIGFkZCBhIHNvbWV3aGF0IHVzZWZ1bCBkZWJ1ZyBtZXNzYWdlLiBQbHVzIHRlc3QuCgoyMDA4LTAyLTA3IDE5OjEzOjU2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBIQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgSEFWRV9VTklTVERfSCBpcyBkZWZpbmVkCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRGVmaW5lIHNvY2tsZW5fdCBhcyBpdCBzZWVtcyBpdCdzIG5vdCBkZWZpbmVkIGluIGRlZmF1bHQKCSAgVmlzdWFsIFN0dWRpbyBoZWFkZXJzLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZSBkZXBlbmRlbmNpZXMgYW5kIGFkZCBuZXcgc291cmNlIGZpbGVzCgoyMDA4LTAyLTA3IDE2OjM4OjU1ICswMDAwICBCamFybmUgUm9zZW5ncmVuIDxiamFybmVAYXhpcy5jb20+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiB3ZSBkb24ndCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCamFybmUgUm9zZW5ncmVuIDxiamFybmUgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3B1c2gpOgoJICBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiB3ZSBkb24ndCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgRml4ZXMgYnVnICM1MTQ5NjUuCgoyMDA4LTAyLTA3IDEzOjQ4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzogQWRkIGEgZml4bWUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCBzYW1lIGxlYWsgYXMgaW4gaW5wdXQtc2VsZWN0b3IuCgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdC4KCjIwMDgtMDItMDcgMTM6NDE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXByb3ZlIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgSW1wcm92ZSB0aGUgZG9jcy4KCjIwMDgtMDItMDcgMTA6MTc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIChnb29kKSByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZCBjb25mdXNpb24gYW5kIG1ha2UgaW1wbGljaXQgY29yZSByZXF1aXJlbWVudCBleHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byAoZ29vZCkgcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQKCSAgY29uZnVzaW9uIGFuZCBtYWtlIGltcGxpY2l0IGNvcmUgcmVxdWlyZW1lbnQgZXhwbGljaXQuCgoyMDA4LTAyLTA3IDEwOjA0OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDItMDYgMjM6NDQ6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQgLT4gYXVkaW9jaGViYmFuZCBhbmQgYXVkaW9jaGVieXNoZXZmcmVxbGltaXQgLT4gYXVkaW9jaGVibGltaXQgYW5kIGRvIHRoZSByZXF1aXNpdGUgQ1ZTLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICBSZW5hbWUgYXVkaW9jaGVieXNoZXZmcmVxYmFuZCAtPiBhdWRpb2NoZWJiYW5kIGFuZAoJICBhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCAtPiBhdWRpb2NoZWJsaW1pdCBhbmQgZG8gdGhlIHJlcXVpc2l0ZSBDVlMKCSAgc3VyZ2VyeS4KCSAgQ2xvc2VzOiAjNDkxODExCgoyMDA4LTAyLTA2IDExOjA3OjQ3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTAyLTA1IDE3OjU5OjI0ICswMDAwICBvcmphbiA8b3JqYW5mQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogRml4IGNhcHMgbWVtb3J5IGxlYWsuIEZpeGVzICM1MTQ1NzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogb3JqYW4gPG9yamFuZiBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCBjYXBzIG1lbW9yeSBsZWFrLiBGaXhlcyAjNTE0NTczLgoKMjAwOC0wMi0wNCAxMjowNzoxNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSWYgdGhlcmUncyBubyBlbnRyaWVzIGluIHRoZSBzdWJpbmRleCwgZG9uJ3QgdHJ5IHRvIGRvIGFueXRoaW5nIHN0dXBpZCwganVzdCByZXR1cm4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpOgoJICBJZiB0aGVyZSdzIG5vIGVudHJpZXMgaW4gdGhlIHN1YmluZGV4LCBkb24ndCB0cnkgdG8gZG8gYW55dGhpbmcgc3R1cGlkLAoJICBqdXN0IHJldHVybi4KCjIwMDgtMDItMDIgMTk6NDc6NTAgKzAwMDAgIEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbkBnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEZpeCBleHRyYWN0aW9uIG9mIHBpY3R1cmUgYmxvY2tzIHdpdGggbmV3ZXIgbGliZmxhYyB2ZXJzaW9ucyBhZ2FpbjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb2huIE1pbGxpa2luIDxqbWlsbGlraW4gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2Nhbl9mb3JfbGFzdF9ibG9jayksCgkgIChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKSwgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayk6CgkgIEZpeCBleHRyYWN0aW9uIG9mIHBpY3R1cmUgYmxvY2tzIHdpdGggbmV3ZXIgbGliZmxhYyB2ZXJzaW9ucyBhZ2FpbjoKCSAgRkxBQ19fTUVUQURBVEFfVFlQRV9QSUNUVVJFIGlzIGFuIGVudW0sIG5vdCBhIGRlZmluZSAoIzUxMzYyOCkuCgoyMDA4LTAyLTAyIDE4OjA2OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBydHAtcGF5bG9hZGluZyB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBydHAtcGF5bG9hZGluZyB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfVEVTVF9FTkQgc28gZ3N0LWluZGVudCBnZXRzIHRoZQoJICBmb3JtYXR0aW5nIHJpZ2h0OyBtYWtlIHRlc3QgbGVzcyB2ZXJib3NlIGluIGdlbmVyYWwsIGJ1dAoJICBtb3JlIHZlcmJvc2UgaW4gdGhlIGVycm9yIGNhc2UgKHdoaWNoIHNob3VsZCBwcm9iYWJseQoJICBtYWtlIHRoZSB0ZXN0IGZhaWwgYW55d2F5KS4KCjIwMDgtMDItMDEgMTg6Mjk6MjEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgYXZpc3VidGl0bGUgYW5kIGNoYW5nZSBjbGFzcyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgYXZpc3VidGl0bGUgYW5kIGNoYW5nZSBjbGFzcyB0bwoJICBDb2RlYy9QYXJzZXIvU3VidGl0bGUKCjIwMDgtMDEtMzEgMTY6MTI6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBUcmVhdCBFTk9UVFkgKGRyaXZlciBkb2VzIG5vdCBpbXBsZW1lbnQgaW9jdGwpIHRoZSBzYW1lIGFzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBUcmVhdCBFTk9UVFkgKGRyaXZlciBkb2VzIG5vdCBpbXBsZW1lbnQgaW9jdGwpIHRoZSBzYW1lIGFzCgkgIEVJTlZBTCBzaW5jZSBpdCBpbXBsaWVzIHRoZXJlIGFyZSBubyBhdmFpbGFibGUgc3RhbmRhcmRzLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksCgkgIChnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplKToKCSAgUmVwbGFjZSBnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMgd2l0aCAyIGNhbGxzIHRvIG5ldyBmdW5jdGlvbgoJICBnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplLCBhbmQgZ2V0IGl0IHRvIHVzZSBWSURJT0NfU19GTVQgdG8KCSAgcHJvYmUgaWYgdGhlIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IFZJRElPQ19UUllfRk1UIGZvciB3aGF0ZXZlcgoJICByZWFzb24sIGFuZCBpZiB3ZSBhcmVuJ3QgeWV0IGFjdGl2ZWx5IGNhcHR1cmluZy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIFJlbW92ZSByZXBsYWNlZCBmdW5jdGlvbiBkZWNsYXJhdGlvbi4KCjIwMDgtMDEtMzEgMTY6MDM6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjE2IGZvciB0aGUgZ3N0X3ZpZGVvX2Zvcm1hdF8qCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4xNiBmb3IgdGhlIGdzdF92aWRlb19mb3JtYXRfKgoJICBBUEkuCgoyMDA4LTAxLTMxIDA5OjUwOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCjIwMDgtMDEtMzEgMDg6NTc6MTYgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoKMjAwOC0wMS0zMSAwMDowMzoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCB0eXBvLgoKMjAwOC0wMS0zMSAwMDowMDoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYWxwaGEvOiBSZS13cml0ZSB0aGUgJ2FscGhhJyBwbHVnaW4gdG8gYmUgQmFzZVRyYW5zZm9ybSBiYXNlZCwgc2ltcGxpZnlpbmcgc29tZSBzdHVmZiwgYW5kIG1ha2luZyBidWZmZXItYWxsb2MgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBSZS13cml0ZSB0aGUgJ2FscGhhJyBwbHVnaW4gdG8gYmUgQmFzZVRyYW5zZm9ybSBiYXNlZCwgc2ltcGxpZnlpbmcKCSAgc29tZSBzdHVmZiwgYW5kIG1ha2luZyBidWZmZXItYWxsb2MgYW5kIHJlc2l6aW5nIHdvcmsgYXV0b21hdGljYWxseS4KCSAgTm8gbG9uZ2VyIGNyYXNoZXMgb24gb2RkIGZyYW1lIHdpZHRocyBhbmQgaGVpZ2h0cywgYWx0aG91Z2ggdGhlcmUKCSAgc2VlbXMgdG8gYmUgYSBkaXNhZ3JlZW1lbnQgd2l0aCBmZm1wZWdjb2xvcnNwYWNlIGFib3V0IHdoYXQgc2l6ZQoJICBhbiBBWVVWIGZyYW1lIHdpdGggb2RkIGhlaWdodCBzaG91bGQgYmUuCgoyMDA4LTAxLTMwIDE1OjQwOjM2ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICBSZWdlbmVyYXRlIGV2ZXJ5dGhpbmcgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGNoYW5nZXMgd2UgaGFkLgoKMjAwOC0wMS0zMCAxMzoyOToxNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCk6CgkgIExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkKCSAgZW52aXJvbm1lbnQgdmFyaWFibGUuCgoyMDA4LTAxLTMwIDEzOjA4OjQ1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSAgQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTMwIDEzOjA2OjAxICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2JvZHlfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Jlc3BvbnNlX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm94eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdXAyLjQgYW5kIHJlcXVpcmUgaXQuIEFsc28gaW1wbGVtZW50IHJlZGlyZWN0aW9uCgkgIGFuZCBtYW51YWwgcHJveHkgc3BlY2lmaWNhdGlvbi4gRml4ZXMgYnVnICM1MTA3MDguCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBzb3VwaHR0cHNyYy4KCjIwMDgtMDEtMjkgMTg6NDM6MzIgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuKjogUHJlYWxsb2NhdGUgdGhlIG91dHB1dCBidWZmZXIgc28gdGhhdCBnX21lbWR1cCgpIGFuZCBnc3RfYnVmZmVyX21lcmdlKCkgYXJlbid0IG5lZWRlZCBhbnltb3JlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6ICh1c2VyX3dyaXRlX2RhdGEpLCAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgUHJlYWxsb2NhdGUgdGhlIG91dHB1dCBidWZmZXIgc28gdGhhdCBnX21lbWR1cCgpIGFuZAoJICBnc3RfYnVmZmVyX21lcmdlKCkgYXJlbid0IG5lZWRlZCBhbnltb3JlLiBUaGlzIGdyZWF0bHkgaW1wcm92ZXMKCSAgcGVyZm9ybWFuY2VzIGFuZCBmaXhlcyAjNTEyNTQ0LgoKMjAwOC0wMS0yOSAxODoyNDoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogR1N0cmVhbWVyIHRpbWVzdGFtcHMgYXJlIFBUUyB2YWx1ZXMgd2hpbGUgQVZJIG9ubHkga25vd3MgYWJvdXQgRFRTIHRpbWVzdGFtcHMuIE1ha2Ugc3VyZSB3ZSBvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgR1N0cmVhbWVyIHRpbWVzdGFtcHMgYXJlIFBUUyB2YWx1ZXMgd2hpbGUgQVZJIG9ubHkga25vd3MgYWJvdXQgRFRTCgkgIHRpbWVzdGFtcHMuIE1ha2Ugc3VyZSB3ZSBvbmx5IGNvcHkgdGhlIERUUyBhcyB0aGUgYnVmZmVyIHRpbWVzdGFtcCB3aGVuCgkgIHdlIGFyZSBkZWFsaW5nIHdpdGggYSBrZXkgZnJhbWUuCgoyMDA4LTAxLTI5IDE1OjQ1OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBhZGQgdGVzdHN1aXRlIGZvciB0aGUgcnRwLXBheWxvYWRlciB0aGF0IHRyaWVzIHNpbXVsYXRpbmcgZGF0YWZsb3cuIE5lZWRzIG1vcmUgdGVzdCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIEFkZCBhZGQgdGVzdHN1aXRlIGZvciB0aGUgcnRwLXBheWxvYWRlciB0aGF0IHRyaWVzIHNpbXVsYXRpbmcKCSAgZGF0YWZsb3cuIE5lZWRzIG1vcmUgdGVzdCBkYXRhLgoKMjAwOC0wMS0yOSAxNToyNzowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOiBSZW1vdmUgdHdvIHVudXNlZCB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgUmVtb3ZlIHR3byB1bnVzZWQgdmFyaWFibGVzLgoKMjAwOC0wMS0yOCAxMjoxNzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIGdfYXNjaWlfc3RydG9sbCgpIGluc3RlYWQgb2YgYXRvbGwsIHdoaWNoIGlzIG9ubHkgYXZhaWxhYmxlIGluIEM5OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFVzZSBnX2FzY2lpX3N0cnRvbGwoKSBpbnN0ZWFkIG9mIGF0b2xsLCB3aGljaCBpcyBvbmx5CgkgIGF2YWlsYWJsZSBpbiBDOTkuCgoyMDA4LTAxLTI2IDE2OjE5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UKCSAgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoKMjAwOC0wMS0yNSAxMDo1MzoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgTVBFRzIgdmlkZW8gcGF5bG9hZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkgIEFkZCBNUEVHMiB2aWRlbyBwYXlsb2FkZXIKCjIwMDgtMDEtMjMgMTc6MDU6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBVc2UgI2luY2x1ZGUgPG1hdGguaD4gaW5zdGVhZCBvZiAjaW5jbHVkZSAibWF0aC5oIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIFVzZSAjaW5jbHVkZSA8bWF0aC5oPiBpbnN0ZWFkIG9mICNpbmNsdWRlICJtYXRoLmgiLgoKMjAwOC0wMS0yMSAxOTo0MTo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRml4IHVwIHNvbWUgQ0ZMQUdTIHNldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBGaXggdXAgc29tZSBDRkxBR1Mgc2V0cy4KCSAgRG9uJ3QgaW5jbHVkZSBnY29uZnZpZGVvc3JjIGluIHRoZSBzdGF0ZXMgdGVzdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCBzb21lIGVycm9yIHN0cmluZ3MgdG8gZmFpbF91bmxlc3MgYXJndW1lbnRzIHRvIGZpeCBzb21lIHdlaXJkCgkgIGNvbXBpbGVyIGVycm9ycyBvbiBTb2xhcmlzLgoKMjAwOC0wMS0yMSAxOTozNTo1OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgY29uZmlndXJlLmFjOiBEZXRlY3QgdmlkZW80bGludXggaGVhZGVycyBvbiBTb2xhcmlzIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXRlY3QgdmlkZW80bGludXggaGVhZGVycyBvbiBTb2xhcmlzIHRvby4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX25ldyk6CgkgIE1ha2UgdjRsMiBidWlsZCBvbiBTb2xhcmlzLgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjNTEwNTA1CgoyMDA4LTAxLTIxIDExOjQ2OjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDogVXBkYXRlIGxpc3QgZnJvbSAoc3RpbGwgbG9jYWwpIHNjYW5uaW5nIHNjcmlwdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFVwZGF0ZSBsaXN0IGZyb20gKHN0aWxsIGxvY2FsKSBzY2FubmluZyBzY3JpcHQuCgoyMDA4LTAxLTIxIDA5OjU3OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldCBldmVuIG1vcmUuCgoyMDA4LTAxLTIxIDA3OjU0OjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBVcGRhdGUgeG1sIGluY2x1ZGVzLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBSZWdlbmVyYXRlIGZpbGVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgdGVzdCBiaW5hcnkgdG8gaWdub3Jlcy4KCjIwMDgtMDEtMjAgMDU6MDc6NTIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YKCSAgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgd2hpY2ggaXMgd3JvbmcgYWZ0ZXIgYSBzZWVrLgoKMjAwOC0wMS0xOSAxNDo1OTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBBZGQgYnVnIG51bWJlciB0byB0aGUgbGF0ZXN0IGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgYnVnIG51bWJlciB0byB0aGUgbGF0ZXN0IGVudHJ5CgoyMDA4LTAxLTE5IDE0OjUzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU2V0IHZhcmlhYmxlIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBpdCB0byBwcmV2ZW50IGRvdWJsZSBmcmVlcyBvciBtYWtlIGZhaWx1cmVzIGJ5IGFub3RoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6CgkgIFZpY3RvciBTVElOTkVSIDx2aWN0b3IgZG90IHN0aW5uZXIgYXQgaGF5cG9jYWxjIGRvdCBjb20+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBTZXQgdmFyaWFibGUgdG8gTlVMTCBhZnRlciBmcmVlaW5nIGl0IHRvIHByZXZlbnQgZG91YmxlIGZyZWVzCgkgIG9yIG1ha2UgZmFpbHVyZXMgYnkgYW5vdGhlciB1c2Ugb2YgaXQgYWZ0ZXJ3YXJkcyBtb3JlIG9idmlvdXMKCSAgYW5kIGZpeCB1c2Ugb2YgaXQgYWZ0ZXIgdGhlIGZyZWVpbmcuCgoyMDA4LTAxLTE5IDE0OjM0OjUwICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdCB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0CgkgIHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGlvbiBxdWVyeS4KCjIwMDgtMDEtMTggMTM6NDA6MzggKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiB1c2UgR1NUX1dBUk5JTkcgZm9yIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdXNlIEdTVF9XQVJOSU5HIGZvciBsb2dnaW5nCgoyMDA4LTAxLTE4IDEwOjA1OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTE4IDEwOjA0OjI1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRG9uJ3QgdHJ5IHRvIGxlYXZlIGEgbXVsdGljYXN0IGdyb3VwIHdpdGggYW4gaW52YWxpZCBzb2NrZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgRG9uJ3QgdHJ5IHRvIGxlYXZlIGEgbXVsdGljYXN0IGdyb3VwIHdpdGggYW4gaW52YWxpZCBzb2NrZXQKCjIwMDgtMDEtMTggMDg6NDk6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6IChzZXR1cF9lcXVhbGl6ZXIpLAoJICAoY2xlYW51cF9lcXVhbGl6ZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoZXF1YWxpemVyX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCjIwMDgtMDEtMTggMDc6MDM6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AgbGVha2luZwl0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpOgoJICBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wCgkgIGxlYWtpbmcJdGhlbS4KCjIwMDgtMDEtMTggMDU6MzI6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCjIwMDgtMDEtMTggMDU6MjQ6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoc291cF9hZGRfcmFuZ2VfaGVhZGVyKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfY2h1bmspOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCjIwMDgtMDEtMTcgMjE6MjM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IHdoZXJlIHRoZSBwaWN0dXJlIG1ldGFkYXRhIGRlZmluZXMgYW5kIHN0cnVjdHMgZG9uJ3QgZXhpc3QgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIEZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IGZsYWMgMS4xLjIgKGFzIG9uIGRlYmlhbiBzdGFibGUpLCB3aGVyZQoJICB0aGUgcGljdHVyZSBtZXRhZGF0YSBkZWZpbmVzIGFuZCBzdHJ1Y3RzIGRvbid0IGV4aXN0IHlldC4KCSAgRml4ZXMgIzUwOTMwMS4KCjIwMDgtMDEtMTcgMTE6MTM6MTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgcHJvcGVydHkgdG8gYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0IGdyb3VwIG9yIG5vdC4gVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4gc2hhcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCksIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGF1dG9tYXRpY2FsbHkgam9pbiBhIG11bHRpY2FzdCBncm91cCBvciBub3QuIFRoaXMgY2FuIGJlCgkgIHVzZWZ1bCB3aGVuIHNoYXJpbmcgYSBzb2NrZXQgYmV0d2VlbiBtdWx0aXBsZSBlbGVtZW50cy4KCSAgRml4ZXMgIzUwOTUzMS4KCjIwMDgtMDEtMTYgMjE6NTM6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOiBBZGQgY29udHJvbGxlciBmbGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBjb250cm9sbGVyIGZsYWdzLgoKMjAwOC0wMS0xNiAyMDoxNzowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBBbHNvIGNvbW1pdCB0aGUgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgQWxzbyBjb21taXQgdGhlIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpLgoKMjAwOC0wMS0xNiAwODoxMTo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBSZW1vdmUgZHVwbGljYXRlIGVudHJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBkdXBsaWNhdGUgZW50cnkuCgoyMDA4LTAxLTE1IDE2OjUyOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgMyBtb3JlIHBsdWdpbnMgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgIEFkZCAzIG1vcmUgcGx1Z2lucyB0byBkb2NzLgoKMjAwOC0wMS0xNSAxNjowNDo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSBjYXVzZWQgYnkgYSBmaWxlIHRoYXQgZ290IHN0dWNrIG9uIGFuIG9sZCByZXZpc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIGNhdXNlZCBieSBhIGZpbGUgdGhhdCBnb3Qgc3R1Y2sgb24gYW4gb2xkCgkgIHJldmlzaW9uLgoKMjAwOC0wMS0xNSAxNTo0MDo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmUtYWRkIG11bHRpcGFydGRlbXV4IHRvIHRoZSBkb2NzLiBMYXN0IHJvdW5kIG9mIHNlY3Rpb24gY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgUmUtYWRkIG11bHRpcGFydGRlbXV4IHRvIHRoZSBkb2NzLiBMYXN0IHJvdW5kIG9mIHNlY3Rpb24gY2xlYW51cC4KCjIwMDgtMDEtMTUgMTU6MjI6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1hbmFnZWQgdG8gcmVzb2x2ZSBtb3N0IHVudXNlZCBkZWNsYXJhdGlvbnMuIEZpbGVkIGEgYnVnIGZvciBvbmUgbGVmdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIE1hbmFnZWQgdG8gcmVzb2x2ZSBtb3N0IHVudXNlZCBkZWNsYXJhdGlvbnMuIEZpbGVkIGEgYnVnIGZvciBvbmUgbGVmdC4KCjIwMDgtMDEtMTUgMDg6MDM6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBDbGVhbnVwIHNlY3Rpb24gZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIENsZWFudXAgc2VjdGlvbiBmaWxlLgoKMjAwOC0wMS0xNSAwNzo0Mjo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIHBsdWdpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIFVwZGF0ZSBwbHVnaW4gZG9jcy4KCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJwYWQuaDoKCSAgU3BsaXQgb3V0IGhlYWRlciB0byBmaXggd2FybmluZ3MgZnJvbSB0aGUgZG9jLWJ1aWxkLgoKMjAwOC0wMS0xNCAxMjozNToyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFzIGZvdW5kIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW4gbm9raWEgY29tPgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQXMgZm91bmQgYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbiBub2tpYSBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFVzZSBhdG9sbCB0byBwYXJzZSB0aGUgcnRwdGltZSB3aXRoIGVub3VnaCBwcmVjaXNpb24uIEZpeGVzICM1MDkzMjkuCgoyMDA4LTAxLTE0IDEyOjExOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSW5pdGlhbGlzZSB2YXJpYWJsZXMgdG8gd29yayBhcm91bmQgKGZhbHNlKSAnZm9vIG1pZ2h0IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uJyB3YXJuaW5ncyBieSBnY2MtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogKGdzdF9hdmlfc3VidGl0bGVfZXh0cmFjdF9maWxlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKToKCSAgSW5pdGlhbGlzZSB2YXJpYWJsZXMgdG8gd29yayBhcm91bmQgKGZhbHNlKSAnZm9vIG1pZ2h0IGJlIHVzZWQKCSAgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uJyB3YXJuaW5ncyBieSBnY2MtMy4zLjMgKCM1MDkyOTgpLgoKMjAwOC0wMS0xMiAwMjozMjozNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJZ25vcmUgbW9yZSBmaWxlcyBmb3IgdGhlIGJ1aWxkYm90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUgZmlsZXMgZm9yIHRoZSBidWlsZGJvdC4KCjIwMDgtMDEtMTEgMjE6MDg6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgR2VuZXJhdGUgdGhlIGltYWdlLXR5cGUgdmFsdWVzIGNvcnJlY3RseS4gTGVhdmUgdGhlbSBvdXQgb2YgdGhlIGNhcHMgd2hlbiBvdXRwdXR0aW5nIGEgInByZXZpZXcgaW1hZ2UiIHRhZywgc2luY2UgaXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIEdlbmVyYXRlIHRoZSBpbWFnZS10eXBlIHZhbHVlcyBjb3JyZWN0bHkuIExlYXZlIHRoZW0gb3V0IG9mIHRoZSBjYXBzCgkgIHdoZW4gb3V0cHV0dGluZyBhICJwcmV2aWV3IGltYWdlIiB0YWcsIHNpbmNlIGl0IG9ubHkgbWFrZXMgc2Vuc2UKCSAgdG8gaGF2ZSBvbmUgb2YgdGhvc2UgLSB0aGUgdHlwZSBpcyBpcnJlbGV2YW50LgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9vcGVuKToKCSAgSWYgd2UgY2FuLCBtYXJrIHRoZSBtaXhlciBtdWx0aXBsZSBvcGVuIHdoZW4gd2UgdXNlIGl0LCBpbiBjYXNlCgkgIChmb3Igc29tZSByZWFzb24pIHRoZSBwcm9jZXNzIHdhbnRzIHRvIG9wZW4gaXQgYWdhaW4gZWxzZXdoZXJlLgoKMjAwOC0wMS0xMSAxOToxNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKGNyZWF0ZV90ZXN0X2J1ZmZlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKHRlc3RfYnVmZmVyX25ldyk6CgkgIEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgoyMDA4LTAxLTExIDE4OjU2OjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdmlnbm9yZToKCSAgaWdub3JlIHNvbWUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIHNvbWUgbW9yZQoKMjAwOC0wMS0xMSAxODo1NDozMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBzb21lIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBzb21lIG1vcmUKCjIwMDgtMDEtMTEgMTc6MjE6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogRml4IHRoZSBjbG9jayByYXRlIHRvIDkwMDAwIGFzIHJlcXVpcmVkIGJ5IHRoZSBSRkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgRml4IHRoZSBjbG9jayByYXRlIHRvIDkwMDAwIGFzIHJlcXVpcmVkIGJ5IHRoZSBSRkMuCgkgIEZpeGVzICM1MDg2NDQuCgoyMDA4LTAxLTExIDE3OjEyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1NUX1BMVUdJTl9ERUZJTkVfU1RBVElDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoaWN5ZGVtdXhfc3VpdGUpOgoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCBHU1RfUExVR0lOX0RFRklORV9TVEFUSUMuCgoyMDA4LTAxLTEwIDEyOjI1OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBhdXRvZ2VuLnNoOiBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncwoJICBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlIHJlcXVpcmUgR05VIG1ha2UgaW4gYWxtb3N0CgkgIGV2ZXJ5IE1ha2VmaWxlIGFueXdheS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBTV9QUk9HX0NDX0NfTyBhcyBhIGNvbXBpbGVyIHRoYXQgYWNjZXB0cyBib3RoIC1jIGFuZCAtbwoJICBhdCB0aGUgc2FtZSB0aW1lIGlzIHJlcXVpcmVkIGZvciBwZXIgdGFyZ2V0IGZsYWdzLgoKMjAwOC0wMS0wOSAxNToyODoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IGVycm9yIGZyb20gbXkgbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpOgoJICBGaXggZXJyb3IgZnJvbSBteSBsYXN0IGNvbW1pdC4KCjIwMDgtMDEtMDkgMTU6MjA6MTkgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTWFrZSBzdXJlIHRoZSBJU08gNjM5LVggbGFuZ3VhZ2UgY29kZSBpbiBJRDN2MiBDT01NIGZyYW1lcyBzbyB3ZSBkb24ndCBlbmQgdXAgd2l0aCBub24tVVQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW4gbm9raWEgY29tPgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfY29tbWVudF9mcmFtZSk6CgkgIE1ha2Ugc3VyZSB0aGUgSVNPIDYzOS1YIGxhbmd1YWdlIGNvZGUgaW4gSUQzdjIgQ09NTSBmcmFtZXMKCSAgaXMgYWN0dWFsbHkgdmFsaWQgVVRGLTggKG9yIHJhdGhlcjogQVNDSUkpLCBzbyB3ZSBkb24ndCBlbmQKCSAgdXAgd2l0aCBub24tVVRGOCBzdHJpbmdzIGluIHRhZ3MgaWYgdGhlcmUncyBnYXJiYWdlIGluIHRoZQoJICBsYW5ndWFnZSBmaWVsZC4gQWxzbyBtYWtlIHN1cmUgdGhlIGxhbmd1YWdlIGNvZGUgaXMgYWx3YXlzCgkgIGxvd2VyIGNhc2UuIEZpeGVzOiAjNTA4MjkxLgoKMjAwOC0wMS0wOSAxMzo1NToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBGaXggQ2hhbmdlTG9nIHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgRml4IENoYW5nZUxvZyB0eXBvLgoKMjAwOC0wMS0wOSAxMzo1MDowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGdpbmcgY292ZXJhZ2UgcmVwb3J0cy4gR3VhcmQgY2hlY2stdG9ydHVyZSB0YXJnZXQgbGlrZSBpbiB0aGUgb3RoZXIgcGFja2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxnaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEd1YXJkCgkgIGNoZWNrLXRvcnR1cmUgdGFyZ2V0IGxpa2UgaW4gdGhlIG90aGVyIHBhY2thZ2VzLgoKMjAwOC0wMS0wOSAxMjozMzo1OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwgKF9kb19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hpbGRfcHJveHlfaW5pdCksIChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9yZWxlYXNlX3BhZCksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyk6CgkgIEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZS4KCSAgU2VuZCBuZXdzZWdtZW50IGF0IHRoZSByaWdodCBtb21lbnQKCSAgRml4ZXMgIzQ4ODg3OQoKMjAwOC0wMS0wOSAxMjowMToxNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hbHBoYS86IE1ha2UgdGhlIHZhcmlvdXMgcHJvcGVydGllcyBvZiAnYWxwaGEnIGNvbnRyb2xsYWJsZS4gVGhpcyBhbGxvd3MgZG9pbmcgbmljZXRpZXMgbGlrZSBmYWRlLWluL2ZhZGUtb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfY2xhc3NfaW5pdCksIChnc3RfYWxwaGFfaW5pdCksCgkgIChnc3RfYWxwaGFfc2lua19ldmVudCksIChnc3RfYWxwaGFfY2hhaW4pLAoJICAoZ3N0X2FscGhhX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgIE1ha2UgdGhlIHZhcmlvdXMgcHJvcGVydGllcyBvZiAnYWxwaGEnIGNvbnRyb2xsYWJsZS4gVGhpcyBhbGxvd3MgZG9pbmcKCSAgbmljZXRpZXMgbGlrZSBmYWRlLWluL2ZhZGUtb3V0LgoKMjAwOC0wMS0wOSAxMToxMTowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC86IFJlbW92ZSBjb3B5L3Bhc3RlIHVudXNlZCBjb2RlIChwcm9wZXJ0eSBzZXR0ZXJzIGFuZCBnZXR0ZXIpIGZvdW5kIGJ5IHRoZSBjb3ZlcmFnZSBzdWl0ZSAoeWF5LCBzYXZlcyB+MjBrIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgUmVtb3ZlIGNvcHkvcGFzdGUgdW51c2VkIGNvZGUgKHByb3BlcnR5IHNldHRlcnMgYW5kIGdldHRlcikgZm91bmQgYnkKCSAgdGhlIGNvdmVyYWdlIHN1aXRlICh5YXksIHNhdmVzIH4yMGsgb24gZGlzaykuCgoyMDA4LTAxLTA4IDIwOjAzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBbHNvIGZpeCB1cCBwYWQgdGVtcGxhdGVzIHRvIGluZGljYXRlIHRoYXQgaW1hZ2UvanBlZyBkb2Vzbid0IGFic29sdXRlbHkgcmVxdWlyZSB0aGUgZnJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKENPTU1PTl9WSURFT19DQVBTX05PX0ZSQU1FUkFURSksCgkgICh2aWRlb3NpbmtfdGVtcGwpOgoJICBBbHNvIGZpeCB1cCBwYWQgdGVtcGxhdGVzIHRvIGluZGljYXRlIHRoYXQgaW1hZ2UvanBlZyBkb2Vzbid0CgkgIGFic29sdXRlbHkgcmVxdWlyZSB0aGUgZnJhbWVyYXRlIHByb3BlcnR5IHRvIGJlIHNldCAoIzUwNDA4MSkuCgoyMDA4LTAxLTA4IDE5OjU3OjIzICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBLZWVwIHRyYWNrIG9mIGZpcnN0IGFuZCBsYXN0IHRpbWVzdGFtcHMgZm9yIGVhY2ggaW5jb21pbmcgc3RyZWFtLCBzbyB3ZSBjYW4gY2FsY3VsYXRlIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEtlZXAgdHJhY2sgb2YgZmlyc3QgYW5kIGxhc3QgdGltZXN0YW1wcyBmb3IgZWFjaCBpbmNvbWluZyBzdHJlYW0sCgkgIHNvIHdlIGNhbiBjYWxjdWxhdGUgdGhlIHRvdGFsIGR1cmF0aW9uIGZvciBsaXZlIHNvdXJjZXMgYW5kIG90aGVyCgkgIGlucHV0IHdoZXJlIHdlIGNhbid0IHF1ZXJ5IHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBzdGFydCBvciB3aGVyZQoJICB0aGVyZSdzIG5vIGNvbnN0YW50IGZyYW1lcmF0ZSBmcm9tIHdoaWNoIHdlIGNhbiBkZWR1Y2UgdGhlCgkgIGR1cmF0aW9uOyBhbHNvIHVzZSBjYWxjdWxhdGVkL29ic2VydmVkIGR1cmF0aW9uIGlmIGl0IGlzIGJpZ2dlcgoJICB0aGFuIHRoZSBwcmV2aW91c2x5IHF1ZXJpZWQgZHVyYXRpb24uIEZ1cnRoZXJtb3JlLCB1c2UKCSAgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgYW5kIHRha2UgaW50byBhY2NvdW50IHRoYXQgaXQgbWF5CgkgIHJldHVybiBUUlVFIGJ1dCBzdGlsbCBhIGR1cmF0aW9uIG9mIENMT0NLX1RJTUVfTk9ORSwgd2hpY2ggZWFzaWx5CgkgIHNjcmV3cyB1cCBjb21wYXJpc29ucyB3aGVuIHVzaW5nIHVuc2lnbmVkIGludGVnZXJzLiBGaXhlcyAjNTA0MDgxLgoKMjAwOC0wMS0wOCAxNDo1ODoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgTWFrZSBlbGVtZW50cyBHU1RfQlVGRkVSX0ZMQUdfR0FQIGF3YXJlIGFuZCBjYWxsIGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfZ2FwX2F3YXJlIGZvciB0aGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIChnc3RfYXVkaW9fYW1wbGlmeV9jbGlwcGluZ19tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfaW5pdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpOgoJICBNYWtlIGVsZW1lbnRzIEdTVF9CVUZGRVJfRkxBR19HQVAgYXdhcmUgYW5kIGNhbGwKCSAgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9nYXBfYXdhcmUgZm9yIHRoaXMuCgkgIEJ1bXAgY29yZSByZXF1aXJlbWVudCB0byBDVlMuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3RyYW5zZm9ybV9pcCk6CgkgIEFsc28gc3luYyBHT2JqZWN0IHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaWYgb3BlcmF0aW5nCgkgIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA4LTAxLTA3IDE2OjQxOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCjIwMDgtMDEtMDUgMjE6MjA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAxLTA1ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF93aW5kb3dfaWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2RyYXdfYm9yZGVycyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91cgoJICBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2hhbmNlIHRvCgkgIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIHByZXBhcmUteHdpbmRvdy1pZCBidXMgbWVzc2FnZS4gRHJhdwoJICBibGFjayBib3JkZXJzIHdoZW4ga2VlcGluZyBhc3BlY3QgcmF0aW8uIEhhbmRsZSB0aGUgY2FzZSB3aGVyZQoJICBvdXIKCSAgcmVuZGVyaW5nIHdpbmRvdyBkaXNhcHBlYXJzIChjbG9zZWQgb3IgZXJyb3JzKSBsaWtlIG90aGVyIHNpbmtzCgkgIGRvLiBWYXJpb3VzIDgwIGNvbHVtbnMgZml4ZXMsIGltcHJvdmUgc3RhdGUgY2hhbmdlIG9yZGVyLiBUaGF0CgkgIGVsZW1lbnQgY291bGQgbmVlZCBzb21lIG1vcmUgbG92ZS4KCjIwMDgtMDEtMDQgMTg6MzA6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90YWdsaWIvOiBSZW1vdmUgdXNlbGVzcyB0eXBlZGVmcyB3aXRob3V0IG5ldyB0eXBlIG5hbWUuIEZpeGVzIGEgd2FybmluZyB3aXRoIGdjYyA0LjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgIFJlbW92ZSB1c2VsZXNzIHR5cGVkZWZzIHdpdGhvdXQgbmV3IHR5cGUgbmFtZS4gRml4ZXMgYSB3YXJuaW5nIHdpdGgKCSAgZ2NjIDQuMy4KCjIwMDgtMDEtMDMgMTI6MjY6MDMgKzAwMDAgIEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbkBnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEVtaXQgbWV0YWRhdGEgbWVzc2FnZXMgd2hlbiBhIFBJQ1RVUkUgYmxvY2sgaXMgZW5jb3VudGVyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9obiBNaWxsaWtpbiA8am1pbGxpa2luIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX25vcm1hbGl6ZV9waWN0dXJlX21pbWVfdHlwZSksCgkgIChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayk6CgkgIEVtaXQgbWV0YWRhdGEgbWVzc2FnZXMgd2hlbiBhIFBJQ1RVUkUgYmxvY2sgaXMgZW5jb3VudGVyZWQuCgkgIEZpeGVzICM1MDY3MTUuCgoyMDA4LTAxLTAyIDEzOjU0OjEwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmkuYzogaW5jcmVhc2UgcmFuayBiZWNhdXNlIG5vIGtub3duIGlzc3VlcyBhbnltb3JlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aS5jOgoJICBpbmNyZWFzZSByYW5rIGJlY2F1c2Ugbm8ga25vd24gaXNzdWVzIGFueW1vcmUgLi4uCgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBzZW5kIHN1YnRpdGxlIG5hbWUgdG8gdGhlIHNyY3BhZAoKMjAwNy0xMi0zMSAxMzoyNzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSW1wbGVtZW50IHJlZGlyZWN0IGZvciB0aGUgREVTQ1JJQkUgcmVwbHkuIEZpeGVzICM1MDYwMjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXBsZW1lbnQgcmVkaXJlY3QgZm9yIHRoZSBERVNDUklCRSByZXBseS4gRml4ZXMgIzUwNjAyNS4KCjIwMDctMTItMjkgMTY6NDg6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQKCSAgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggYW5kIGRvbid0CgkgIGFib3J0KCkgaW4gYW55IGNhc2UgYnV0IHByb3Blcmx5IHJlcG9ydCB0aGUgZXJyb3IuCgoyMDA3LTEyLTI4IDExOjQ0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NvdXAvOiBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24gaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChzb3VwX2dvdF9oZWFkZXJzKToKCSAgVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uCgkgIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoKMjAwNy0xMi0yNiAxNjowMzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCAoaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKToKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkCgkgIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IChpdCdzCgkgIG5vdCByZWFsbHkgbmljZSB0byBhYm9ydCBpbiBhbnkgY2FzZSkuIEZpeGVzICM1MDU3NDUuCgoyMDA3LTEyLTIwIDE3OjA3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3dpdGNoLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNy0xMi0xOCAyMzoxNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6IFNtYWxsIHVuaXQgdGVzdCBmaXggKGhhcyBubyBwcmFjdGljYWwgaW1wYWN0IGF0IHRoZSBtb21lbnQsIHNpbmNlIHdlJ3JlIG9ubHkgZmVlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOiAoY2hlY2tfY29ycmVjdF9idWZmZXIpOgoJICBTbWFsbCB1bml0IHRlc3QgZml4IChoYXMgbm8gcHJhY3RpY2FsIGltcGFjdCBhdCB0aGUgbW9tZW50LAoJICBzaW5jZSB3ZSdyZSBvbmx5IGZlZWRpbmcgdXRmOCBhbmQgaGVuY2UganVzdCBjcmVhdGUgYSBzdWItCgkgIGJ1ZmZlciBmb3IgdGhlIG91dHB1dCkuCgoyMDA3LTEyLTE4IDIxOjEzOjA1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIHNlZWtpbmcgc3VwcG9ydCBmb3IgYXZpIHN1YnRpdGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJICBBZGQgc2Vla2luZyBzdXBwb3J0IGZvciBhdmkgc3VidGl0bGUKCjIwMDctMTItMTggMTc6NDA6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IFJlbW92ZSBzb21lIHVudXNlZCB2YXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfcmVzZXRfZGVjb2RlcnMpLAoJICAoZ3N0X2ZsYWNfZGVjX3VwZGF0ZV9tZXRhZGF0YSksIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJzLgoJICBEbyBtb3JlIGNsZWFudXAgb2YgbGVmdG92ZXIgZXZlbnRzIGFuZCB0YWdzLgoJICBPdXRwdXQgdGFncyBhZnRlciB0aGUgc2VnbWVudCBldmVudC4gRml4ZXMgIzUwNDAxOC4KCjIwMDctMTItMTggMTQ6MzE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IERldGVjdCBvdGhlciBVVEYgYnl0ZSBvcmRlciBtYXJrZXJzIGFuZCBjb252ZXJ0IHRvIFVURi04IGFzIGFwcHJvcHJpYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IChJU19CT01fVVRGOCksIChJU19CT01fVVRGMTZfQkUpLAoJICAoSVNfQk9NX1VURjE2X0xFKSwgKElTX0JPTV9VVEYzMl9CRSksIChJU19CT01fVVRGMzJfTEUpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9leHRyYWN0X2ZpbGUpLCAoZ3N0X2F2aV9zdWJ0aXRsZV9wYXJzZV9nYWIyX2NodW5rKToKCSAgRGV0ZWN0IG90aGVyIFVURiBieXRlIG9yZGVyIG1hcmtlcnMgYW5kIGNvbnZlcnQgdG8gVVRGLTggYXMKCSAgYXBwcm9wcmlhdGUuCgoyMDA3LTEyLTE4IDEzOjMwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS4qOiBSZWZhY3RvciBhIGJpdDsgZml4IG5hbWUgZXh0cmFjdGlvbjsgZG9uJ3QgYXNzdW1lIGFsbCB0aGUgZGF0YSBpbiB0aGUgY2h1bmsgaXMgYWN0dWFsbHkgc3ViLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogKHNyY190ZW1wbGF0ZSksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2V4dHJhY3RfdXRmOF9maWxlKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfcGFyc2VfZ2FiMl9jaHVuayksIChnc3RfYXZpX3N1YnRpdGxlX2NoYWluKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfYmFzZV9pbml0KSwgKGdzdF9hdmlfc3VidGl0bGVfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2luaXQpLCAoZ3N0X2F2aV9zdWJ0aXRsZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDoKCSAgUmVmYWN0b3IgYSBiaXQ7IGZpeCBuYW1lIGV4dHJhY3Rpb247IGRvbid0IGFzc3VtZSBhbGwgdGhlIGRhdGEKCSAgaW4gdGhlIGNodW5rIGlzIGFjdHVhbGx5IHN1YnRpdGxlIGRhdGEsIHRoZXJlIG1heSBiZSBwYWRkaW5nIGF0CgkgIHRoZSBlbmQ7IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZTsgc3RvcmUgZXh0cmFjdGVkIHN1YnRpdGxlCgkgIGZpbGUgc28gaXQncyB0aGVyZSB0byBzZW5kIGFnYWluIGFmdGVyIGEgc2VlayAoZm9yIGZ1dHVyZSB1c2UpLgoKMjAwNy0xMi0xOCAwOToxMzoxMiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBhdmkgc3VidGl0bGUgZWxlbWVudCBmb3IgYnVnICM0NDIwMzQuIE5lZWQgc2Vla2luZyBzdXBwb3J0IGFuZCBtb3JlIHN1cHBvcnQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQWRkIGF2aSBzdWJ0aXRsZSBlbGVtZW50IGZvciBidWcgIzQ0MjAzNC4gTmVlZCBzZWVraW5nIHN1cHBvcnQKCSAgYW5kIG1vcmUgc3VwcG9ydCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24uCgoyMDA3LTEyLTE4IDA5OjA3OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0IGZpbGVzIChzZWUgIzM5MzYyNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdAoJICBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RwbmcuZHNwOgoJICBGaXggbGluZSBlbmRpbmdzIGFuZCBkbyBjdnMgYWRtaW4gLWtiLgoKMjAwNy0xMi0xNyAyMToxMjoyOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy4qOiBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQgYW4gRU9TIGluc3RlYWQgb2YgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQKCSAgYW4gRU9TIGluc3RlYWQgb2YgY2F1c2luZyBhbiBlcnJvci4KCjIwMDctMTItMTYgMjM6NDM6NDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFjdHVhbGx5IGRyb3AgdGhlIGJ1ZmZlcnMgd2hpY2ggYXJlIG91dHNpZGUgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIHNlZ21lbnQgaW5zdGVhZCBvZiBqdXN0IGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgQWN0dWFsbHkgZHJvcCB0aGUgYnVmZmVycyB3aGljaCBhcmUgb3V0c2lkZSB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQKCSAgc2VnbWVudCBpbnN0ZWFkIG9mIGp1c3QgZW1pdHRpbmcgYSBXQVJOSU5HLgoKMjAwNy0xMi0xNCAxODo0OTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogU2VuZCBzZWdtZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLiBGaXhlcyAjNTAyMTg3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFNlbmQgc2VnbWVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4gRml4ZXMgIzUwMjE4Ny4KCSAgRml4IHNlZ21lbnQgc2Vla2luZyBhbmQgYSBidW5jaCBvZiBvdGhlciBzZWVraW5nIGNhc2VzLgoKMjAwNy0xMi0xNCAxMDoxNzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBQYXJzZSBXT0FGIGZyYW1lcyBhbmQgcHV0IHRoZSByZXN1bHQgaW50byBHU1RfVEFHX0NPTlRBQ1QsIHdoaWNoIGlzIHdoZXJlIGl0IHdvdWxkIGVuZCB1cC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3VybF9saW5rX2ZyYW1lKToKCSAgUGFyc2UgV09BRiBmcmFtZXMgYW5kIHB1dCB0aGUgcmVzdWx0IGludG8gR1NUX1RBR19DT05UQUNULAoJICB3aGljaCBpcyB3aGVyZSBpdCB3b3VsZCBlbmQgdXAgaWYgdGhlIHNhbWUgaW5mb3JtYXRpb24gd2FzCgkgIHB1dCBpbiBhIHZvcmJpcyBjb21tZW50IChkb24ndCB0aGluayBpdCdzIHdvcnRoIGFkZGluZyBhCgkgIG5ldyBVUkkgdGFnIGZvciB0aGlzKS4gRml4ZXMgIzQ4ODExMi4KCjIwMDctMTItMTEgMjI6Mjk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFdlIG5lZWQgY29yZS9iYXNlIDAuMTAuMTUgb3IgbGF0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgbmVlZCBjb3JlL2Jhc2UgMC4xMC4xNSBvciBsYXRlci4KCjIwMDctMTItMTEgMTY6NDc6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggcmVncmVzc2lvbiBpbiBzdHJlYW0gbnVtYmVyaW5nLiBGaXhlcyAjNTAyNjU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpOgoJICBGaXggcmVncmVzc2lvbiBpbiBzdHJlYW0gbnVtYmVyaW5nLiBGaXhlcyAjNTAyNjU1LgoKMjAwNy0xMi0xMSAxNjozOTozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksICh1bmljb2RpZnkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwgKHNvdXBfZmluaXNoZWQpLAoJICAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksIChzb3VwX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBodHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBSZW9yZ2FuaXNlIGEgYnVuY2ggb2YgdGhpbmdzIGFuZCBjbGVhbnVwcy4KCSAgVXNlcyBHX0dVSU5UNjRfRk9STUFUIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgJWxsdS4KCSAgU2VlICM1MDIzMzUuCgoyMDA3LTEyLTExIDE2OjMxOjQ5ICswMDAwICBXYWktTWluZyBIbyA8d2VicmVnYm94QHlhaG9vLmNvLnVrPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IFVzZSBoaWdoZXIgcGVyZm9ybWFuY2Ugc3RhcnQtY29kZSBzZWFyY2hpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2FpLU1pbmcgSG8gPHdlYnJlZ2JveCBhdCB5YWhvbyBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwKCSAgKG5leHRfc3RhcnRfY29kZSksIChpc19uYWxfZXF1YWwpLCAoZ3N0X3J0cF9oMjY0X3BheV9kZWNvZGVfbmFsKSwKCSAgKGVuY29kZV9iYXNlNjQpLCAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIFVzZSBoaWdoZXIgcGVyZm9ybWFuY2Ugc3RhcnQtY29kZSBzZWFyY2hpbmcuCgkgIFBhcnNlIE5BTHMgYW5kIHN0b3JlIFNQUywgUFBTIGFuZCBwcm9maWxlIGluIHRoZSBjYXBzIHNvIHRoYXQgdGhleSBjYW4KCSAgYmUgdXNlZCBpbiB0aGUgU0RQLiBGaXhlcyAjNTAyODE0LgoKMjAwNy0xMi0xMSAxMTo1MDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyLzogSW5pdCBzb21lIHN0cnVjdHMgdG8gemVybyBiZWZvcmUgd2UgcGFzcyB0aGVtIHRvIGlvY3RsLCB3aGljaCBhdm9pZHMgdmFsZ3JpbmQgd2FybmluZ3MuICBBbHNvIGZpeCBhIHNtYWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KToKCSAgSW5pdCBzb21lIHN0cnVjdHMgdG8gemVybyBiZWZvcmUgd2UgcGFzcyB0aGVtIHRvIGlvY3RsLCB3aGljaAoJICBhdm9pZHMgdmFsZ3JpbmQgd2FybmluZ3MuICBBbHNvIGZpeCBhIHNtYWxsIG1lbW9yeSBsZWFrLgoKMjAwNy0xMi0xMSAxMTowNTo1NyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQ29weSB0aW1lc3RhbXAgZnJvbSBpbnB1dCB0byBvdXRwdXQuIE5vdCB2ZXJ5IHBlcmZlY3QgeWV0IGJ1dCBiZXR0ZXIgdGhhbiBub3RoaW5nLiBGaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICBDb3B5IHRpbWVzdGFtcCBmcm9tIGlucHV0IHRvIG91dHB1dC4gTm90IHZlcnkgcGVyZmVjdCB5ZXQgYnV0IGJldHRlcgoJICB0aGFuIG5vdGhpbmcuIEZpeGVzICM1MDMwMjMuCgoyMDA3LTEyLTA5IDE2OjQ5OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEFsc28gcHJpbnQgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSB3aXRoIHRoZSBvbGQgV2F2cGFjayBBUEkgaWYgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIEFsc28gcHJpbnQgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSB3aXRoIHRoZSBvbGQgV2F2cGFjayBBUEkKCSAgaWYgcG9zc2libGUuCgoyMDA3LTEyLTA5IDE2OjM0OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBNb3JlIGJ1aWxkIGZpeGVzIGZvciBvbGQgbGlid2F2cGFjayB2ZXJzaW9uczogaW5jbHVkZSBjb25maWcuaCBzbyB0aGF0IFdBVlBBQ0tfT0xEX0FQSSBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgTW9yZSBidWlsZCBmaXhlcyBmb3Igb2xkIGxpYndhdnBhY2sgdmVyc2lvbnM6IGluY2x1ZGUgY29uZmlnLmggc28KCSAgdGhhdCBXQVZQQUNLX09MRF9BUEkgaXMgYWN0dWFsbHkgZGVmaW5lZCBhcyBkZXRlY3RlZDsgb25seSB1c2UKCSAgV2F2cGFja0dldEVycm9yTWVzc2FnZSBpZiBpdCBpcyBhdmFpbGFibGUuIFRoaXMgZml4ZXMgdGhlIGJ1aWxkCgkgIG9uIGRlYmlhbiBzdGFibGUgZm9yIG1lLgoKMjAwNy0xMi0wOSAxNjoyMTowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBXb3JrYXJvdW5kIHRoZSBub24tZXhpc3RhbmNlIG9mIFdhdnBhY2tHZXRDaGFubmVsTWFzayBpbiBXYXZwYWNrIHZlcnNpb25zIGJlbG93IDQuNDAuMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgV29ya2Fyb3VuZCB0aGUgbm9uLWV4aXN0YW5jZSBvZiBXYXZwYWNrR2V0Q2hhbm5lbE1hc2sgaW4gV2F2cGFjawoJICB2ZXJzaW9ucyBiZWxvdyA0LjQwLjAuCgoyMDA3LTEyLTA5IDA1OjEzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFuZCBub3cgZG8gaXQgcmlnaHQgZm9yIHJlYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbmQgbm93IGRvIGl0IHJpZ2h0IGZvciByZWFsLi4uCgoyMDA3LTEyLTA5IDA1OjA5OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENvcnJlY3RseSByZXNldCAkTElCUyB0byBub3QgY29udGFpbiAtbG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29ycmVjdGx5IHJlc2V0ICRMSUJTIHRvIG5vdCBjb250YWluIC1sbS4KCjIwMDctMTItMDkgMDU6MDI6MTcgKzAwMDAgIEt3YW5nIFl1bCBTZW8gPGt3YW5neXVsLnNlb0BnbWFpbC5jb20+CgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDIGJ5IHVzaW5nIGdzdF91dGlsX2d1aW50NjRfdG9fZ2RvdWJsZSgpIGFuZCBjaGVja2luZyBmb3IgcmludCgpIGFuZCBpbXBsZW1lbnRpbmcgaXQgb3Vyc2VsZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IEt3YW5nIFl1bCBTZW8gPGt3YW5neXVsIGRvdCBzZW8gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgIChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3ByaW50X3NtcHRlX3RpbWUpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDIGJ5IHVzaW5nIGdzdF91dGlsX2d1aW50NjRfdG9fZ2RvdWJsZSgpCgkgIGFuZCBjaGVja2luZyBmb3IgcmludCgpIGFuZCBpbXBsZW1lbnRpbmcgaXQgb3Vyc2VsZiBpZiBpdCBkb2Vzbid0CgkgIGV4aXN0LgoKMjAwNy0xMi0wOSAwNDoyOTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoKMjAwNy0xMi0wOCAxNjo0NzozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOiBWZXJpZnkgdGhhdCB0aGUgZm9ybWF0IHJldHVybmVkIGFmdGVyIHRoZSBpb2N0bCBpcyB0aGUgb25lIHdlIHJlcXVlc3RlZC4gSXQgaXMgdmFsaWQgZm9yIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgVmVyaWZ5IHRoYXQgdGhlIGZvcm1hdCByZXR1cm5lZCBhZnRlciB0aGUgaW9jdGwgaXMgdGhlIG9uZQoJICB3ZSByZXF1ZXN0ZWQuIEl0IGlzIHZhbGlkIGZvciB0aGUgaW9jdGwgdG8gc3VjY2VlZCB3aGlsZQoJICBzdWJzdGl0dXRpbmcgYW4gYWx0ZXJuYXRlICdzdXBwb3J0ZWQnIHNhbXBsZSBmb3JtYXQuCgoyMDA3LTEyLTA3IDIwOjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IFBvc3QgZGVjZW50IChhbmQgdHJhbnNsYXRlZCkgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0IG9wZW4gdGhlIGF1ZGlvIGRldmljZSBmb3Igc29tZSByZWFzb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19vcGVuKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfb3Blbik6CgkgIFBvc3QgZGVjZW50IChhbmQgdHJhbnNsYXRlZCkgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0CgkgIG9wZW4gdGhlIGF1ZGlvIGRldmljZSBmb3Igc29tZSByZWFzb24uCgoyMDA3LTEyLTA3IDE5OjI5OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3MvOiBBbGxvdyB0aGUgQVVESU9ERVYgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcmVkaXJlY3QgdXMgdG8gYSBkaWZmZXJlbnQgZGVmYXVsdCBPU1MgZGV2aWNlLCBsaWtlIHN1bmF1ZGlvc2luay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBBbGxvdyB0aGUgQVVESU9ERVYgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcmVkaXJlY3QgdXMKCSAgdG8gYSBkaWZmZXJlbnQgZGVmYXVsdCBPU1MgZGV2aWNlLCBsaWtlIHN1bmF1ZGlvc2luayBkb2VzCgkgIG9uIFNvbGFyaXMgKG1ha2VzIGF1ZGlvIHBsYXkgYXV0b21hdGljYWxseSBvbiBTdW5SYXlzKS4KCjIwMDctMTItMDYgMTI6NDU6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMTItMDYgMTI6NDI6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjM3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28KCSAgdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVudCBpcyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjoyOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2ggbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoKMjAwNy0xMi0wNiAxMjoxMToyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBUaGUgdHJhbnNmb3JtX2lwKCkgbWV0aG9kcyBzaG91bGQgZG8gbm90aGluZyBpZiBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzogKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgIFRoZSB0cmFuc2Zvcm1faXAoKSBtZXRob2RzIHNob3VsZCBkbyBub3RoaW5nIGlmIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIEl0IG1pZ2h0IGdldCBub24td3JpdGFibGUgYnVmZmVycyBpbiB0aGF0IGNhc2UgYnV0IHRoZSBidWZmZXIgbWlnaHQKCSAgYXMgd2VsbCBiZSB3cml0YWJsZS4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgd29uJ3QgYmUgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgYW5kCgkgIG90aGVyd2lzZSB0aGUgYnVmZmVyIGlzIGFsd2F5cyB3cml0YWJsZSBzbyBkb24ndCBjaGVjayBoZXJlLgoKMjAwNy0xMi0wNiAxMTo0NjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggc2Vla2luZyBpbiAud2F2IGZpbGVzIGFnYWluICgjNTAxNzc1KS4gIFNvbWUgcGVvcGxlIHNlZW0gdG8gdGhpbmsgdGhleSBkb24ndCBuZWVkIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBGaXggc2Vla2luZyBpbiAud2F2IGZpbGVzIGFnYWluICgjNTAxNzc1KS4gIFNvbWUgcGVvcGxlIHNlZW0gdG8gdGhpbmsKCSAgdGhleSBkb24ndCBuZWVkIHRvIHRlc3QgdGhlaXIgY2hhbmdlcyB3aGVuIHRoZXkncmUganVzdCAncmVmbG93aW5nJwoJICBzb21lIGNvZGUuCgoyMDA3LTEyLTA1IDE2OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay4qOiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jcmVhdGVfZWxlbWVudF93aXRoX3ByZXR0eV9uYW1lKSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkgIEZpeCBkb2NzLgoJICBVc2Ugc2FtZSBlcnJvciByZXBvcnRpbmcgY29kZSBhcyBhdXRvYXVkaW9zaW5rLgoJICBBZGQgcHJvcGVydHkgdG8gZmlsdGVyIHNpbmtzIGJhc2VkIG9uIGNhcHMuIE9ubHkgc2VsZWN0IHJhdyB2aWRlbyBzaW5rcwoJICBieSBkZWZhdWx0IGZvciBiYWNrd2FyZHMgY29tcGF0LgoJICBBUEk6IEdzdEF1dG9WaWRlb1Npbms6OmZpbHRlci1jYXBzCgoyMDA3LTEyLTA1IDE2OjAyOjE1ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay4qOiBBZGQgcHJvcGVydHkgdG8gZmlsdGVyIHNpbmtzIGJhc2VkIG9uIGNhcHMuIE9ubHkgc2VsZWN0IHJhdyBhdWRpbyBzaW5rcyBieSBkZWZhdWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJICBBZGQgcHJvcGVydHkgdG8gZmlsdGVyIHNpbmtzIGJhc2VkIG9uIGNhcHMuIE9ubHkgc2VsZWN0IHJhdyBhdWRpbyBzaW5rcwoJICBieSBkZWZhdWx0IGZvciBiYWNrd2FyZHMgY29tcGF0LiAgRml4ZXMgIzQxNzQyMC4KCSAgQVBJOiBHc3RBdXRvQXVkaW9TaW5rOjpmaWx0ZXItY2FwcwoKMjAwNy0xMS0yOSAxMTo0MDoxNSArMDAwMCAgQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBJbml0aWFsaXNlIGxpYm9pbCBpbiBwbHVnaW5faW5pdCgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKHBsdWdpbl9pbml0KToKCSAgSW5pdGlhbGlzZSBsaWJvaWwgaW4gcGx1Z2luX2luaXQoKQoKMjAwNy0xMS0yOSAxMDo0OToxOCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQKCSAgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbmQgaXQgaGFzIHNvbWUgbGVha3MuCgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLAoJICAoc291cF9maW5pc2hlZCksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHVubG9jaygpLgoJICBQaWNrcyB1cCB0aGUgc2l6ZSBmcm9tIHRoZSBDb250ZW50LUxlbmd0aCBoZWFkZXIgYW5kIGVtaXQgYSBkdXJhdGlvbgoJICBtZXNzYWdlLgoJICBEb24ndCBsZWFrIHRoZSBHTWFpbkNvbnRleHQgb2JqZWN0LgoJICBGaXhlcyAjNTAwMDk5LgoKMjAwNy0xMS0yOSAxMDozNDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFBvc3QgZXJyb3IgYmVmb3JlIHNlbmRpbmcgRU9TLiBGaXhlcyAjNDk5MTc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKToKCSAgUG9zdCBlcnJvciBiZWZvcmUgc2VuZGluZyBFT1MuIEZpeGVzICM0OTkxNzguCgoyMDA3LTExLTI4IDIxOjU0OjUwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi92czYvOiBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIGxpYmdzdHBuZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdHBuZy5kc3A6CgkgIEFkZCBhIHByb2plY3QgZmlsZSBmb3IgbGliZ3N0cG5nCgoyMDA3LTExLTI4IDE3OjQ4OjQ1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogQ29kZSBiZWF1dGlmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgQ29kZSBiZWF1dGlmaWNhdGlvbi4KCSAgQWRkZWQgZGVidWcgc3RhdGVtZW50cy4KCSAgRG9uJ3QgYml0LXNoaWZ0IGV2ZXJ5dGhpbmcsIGp1c3QgZG8gb3BlcmF0aW9ucyBvbiBsYXN0L2ZpcnN0IGJ5dGUKCSAgaW5zdGVhZC4KCjIwMDctMTEtMjcgMTE6MTE6MDggKzAwMDAgIEpheWFyYW1hIFMuIFNhbnRhbmEgPHN1bmRhcnNhbnRhbmFAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogRml4IHdyb25nIGNvbXBhcmlzb24gaW4gb3ZlcnJ1biBjaGVjay4gRml4ZXMgIzQ5OTIzOSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmF5YXJhbWEgUy4gU2FudGFuYSA8c3VuZGFyc2FudGFuYSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCB3cm9uZyBjb21wYXJpc29uIGluIG92ZXJydW4gY2hlY2suIEZpeGVzICM0OTkyMzkgc29tZSBtb3JlLgoKMjAwNy0xMS0yNyAwMDowMTo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lio6IEZpeCBoMjYzIGRlcGF5bG9hZGVyIHNvIHRoYXQgQU5ZIGgyNjMgZGVjb2RlciBjYW4gaGFuZGxlIHRoZSBvdXRnb2luZyBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgRml4IGgyNjMgZGVwYXlsb2FkZXIgc28gdGhhdCBBTlkgaDI2MyBkZWNvZGVyIGNhbiBoYW5kbGUgdGhlIG91dGdvaW5nCgkgIHN0cmVhbS4KCjIwMDctMTEtMjYgMTk6MTc6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS4qOiBGaXggZGVwYXlsb2FkaW5nIHdoZW4gbXVsdGlwbGUgZnJhbWVzIGFyZSBpbnNpZGUgb25lIFJUUCBwYWNrZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBQYXRoIGJ5OiBKYXlhcmFtYSBTLiBTYW50YW5hIDxzdW5kYXJzYW50YW5hIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBGaXggZGVwYXlsb2FkaW5nIHdoZW4gbXVsdGlwbGUgZnJhbWVzIGFyZSBpbnNpZGUgb25lIFJUUCBwYWNrZXQuCgkgIEZpeGVzICM0OTkyMzkuCgoyMDA3LTExLTI2IDEyOjI2OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogQWRkIEdBUC1mbGFnIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBBZGQgR0FQLWZsYWcgc3VwcG9ydC4KCjIwMDctMTEtMjYgMTI6MDE6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiBSZWFkIHRoZSBJIGZsYWcgZm9yIE1vZGUgQSBoMjYzIHJ0cCBzdHJlYW0gYW5kIHNldCB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgUmVhZCB0aGUgSSBmbGFnIGZvciBNb2RlIEEgaDI2MyBydHAgc3RyZWFtIGFuZCBzZXQgdGhlCgkgIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIGFjY29yZGluZ2x5LgoJICBGaXhlcyAjNDk5MzgzCgoyMDA3LTExLTI2IDEwOjA4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCjIwMDctMTEtMjYgMTA6MDQ6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBSZW1vdmUgc29tZSBkZWFkIGNvZGUgYW5kIGRvIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIGFuZCBkbyBjbGVhbnVwcy4KCjIwMDctMTEtMjYgMDk6MTM6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IEltcHJvdmUgdGhlIHRlc3RzIGJ5IGFsbG93aW5nIHRvIHNldCBhIHRhcmdldCBzdGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdHMgYnkgYWxsb3dpbmcgdG8gc2V0IGEgdGFyZ2V0IHN0YXRlLgoKMjAwNy0xMS0yNiAwOTowNDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiBEb24ndCBjaGVjayB0aGUgY2FwcyBvZiB0aGUgb3V0cHV0IGJ1ZmZlciBpZiB0aGV5J3JlIGVxdWFsIHNvbWUgb3RoZXIgY2Fwcy4gVGhlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgY2hlY2sgdGhlIGNhcHMgb2YgdGhlIG91dHB1dCBidWZmZXIgaWYgdGhleSdyZSBlcXVhbCBzb21lCgkgIG90aGVyIGNhcHMuIFRoZSBjYXBzIGNhbiBjaGFuZ2UgaW4gYSBiYWNrd2FyZCBjb21wYXRpYmxlIHdheQoJICBhbmQgZGlkIGF0IHRoaXMgcG9pbnQuCgoyMDA3LTExLTI0IDE0OjU1OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0pLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9zZWVrX3RvX3ByZXZpb3VzX2tleWZyYW1lKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKTogSW1wbGVtZW50CgkgIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCjIwMDctMTEtMjEgMDk6NTY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCjIwMDctMTEtMjEgMDg6MjE6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZCBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQKCSAgaW4gLWdvb2QuCgoyMDA3LTExLTIwIDEzOjE0OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IEFsc28gc2V0IHRoZSBjaGFubmVsIGxheW91dCBvbiB0aGUgV2F2cGFjayBjYXBzIGlmIHdlJ3JlIGhhdmluZyBhIG1vbm8gbGF5b3V0LiBPZiBjb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiAoZ3N0X3dhdnBhY2tfc2V0X2NoYW5uZWxfbGF5b3V0KToKCSAgQWxzbyBzZXQgdGhlIGNoYW5uZWwgbGF5b3V0IG9uIHRoZSBXYXZwYWNrIGNhcHMgaWYgd2UncmUgaGF2aW5nCgkgIGEgbW9ubyBsYXlvdXQuIE9mIGNvdXJzZSBvbmx5IGRvIGl0IGZvciAiYXVkaW8veC13YXZwYWNrIi4KCjIwMDctMTEtMjAgMTM6MDg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogQWRkIHN1cHBvcnQgZm9yIGVuY29kaW5nLCBwYXJzaW5nIGFuZCBkZWNvZGluZyBtdWx0aWNoYW5uZWwgZmlsZXMgd2l0aCB1cCB0byA4IGNoYW5uZWxzLiBUaGlzIGFsc28gaW1wci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgIChnc3Rfd2F2cGFja19nZXRfZGVmYXVsdF9jaGFubmVsX21hc2spLAoJICAoZ3N0X3dhdnBhY2tfc2V0X2NoYW5uZWxfbGF5b3V0KSwKCSAgKGdzdF93YXZwYWNrX2dldF9kZWZhdWx0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF93YXZwYWNrX2dldF9jaGFubmVsX21hc2tfZnJvbV9wb3NpdGlvbnMpLAoJICAoZ3N0X3dhdnBhY2tfc2V0X2NoYW5uZWxfbWFwcGluZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2ZpeF9jaGFubmVsX29yZGVyKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGVuY29kaW5nLCBwYXJzaW5nIGFuZCBkZWNvZGluZyBtdWx0aWNoYW5uZWwKCSAgZmlsZXMgd2l0aCB1cCB0byA4IGNoYW5uZWxzLiBUaGlzIGFsc28gaW1wcm92ZXMgdGhlIHJvYnVzdG5lc3MKCSAgb2YgcGFyc2luZyBxdWl0ZSBhIGJpdC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3JlYWRfYnl0ZXMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9nZXRfcG9zKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19hYnMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX3JlbCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3B1c2hfYmFja19ieXRlKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfZ2V0X2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX2Nhbl9zZWVrKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfd3JpdGVfYnl0ZXMpOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDctMTEtMjAgMTI6MjA6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IERvbid0IHJlbGVhc2UgdGhlIHBuZy1tZW1vcnkgZnJvbSB3aXRoaW4gdGhlIGNhbGxiYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIERvbid0IHJlbGVhc2UgdGhlIHBuZy1tZW1vcnkgZnJvbSB3aXRoaW4gdGhlIGNhbGxiYWNrLgoKMjAwNy0xMS0yMCAxMjoxMToxMyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IERvbid0IGxlYWsgYnVmZmVyIGRhdGEgbWVtb3J5LiBGaXhlcyAjNDk4Mzk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIERvbid0IGxlYWsgYnVmZmVyIGRhdGEgbWVtb3J5LiBGaXhlcyAjNDk4Mzk1LgoKMjAwNy0xMS0yMCAxMTo0NjoyOCArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IFRlc3RzIGZvciAjNDk4Mzk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFRlc3RzIGZvciAjNDk4Mzk1LgoKMjAwNy0xMS0yMCAxMTo0MToxMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYnVpbGQgb24gTWFjIE9TIFggMTAuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IChnc3RfdGFnX2xpYl9tdXhfcmVuZGVyX3RhZyksCgkgIChnc3RfdGFnX2xpYl9tdXhfYWRqdXN0X2V2ZW50X29mZnNldHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdGhlb3JhX2V4dGVuc2lvbik6CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOiBGaXggYnVpbGQgb24gTWFjIE9TIFggMTAuNQoKMjAwNy0xMS0xOSAyMDozMDoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgoyMDA3LTExLTE2IDA1OjUyOjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBDaGFuZ2Ugc3RyY2FzZWNtcCgpIHRvIGdfc3RyY2FzZWNtcCgpLiAgRml4ZXMgIzQ5NzI5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIENoYW5nZSBzdHJjYXNlY21wKCkgdG8gZ19zdHJjYXNlY21wKCkuICBGaXhlcyAjNDk3MjkyLgoKMjAwNy0xMS0xNSAxODoxOToxOSArMDAwMCAgSm9yZGkgSmFlbiBQYWxsYXJlcyA8am9yZGlqcEBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuKjogRmlsbCB0aGUgTVRVIHdpdGggYXMgbWFueSBwYWNrZXRzIGFzIHBvc3NpYmxlLiBGaXhlcyAjNDkxMzIzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvcmRpIEphZW4gUGFsbGFyZXMgPGpvcmRpanAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzogKGdzdF9ydHBfbXAydF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDJ0X3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wMnRfcGF5X2ZsdXNoKSwgKGdzdF9ydHBfbXAydF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkgIEZpbGwgdGhlIE1UVSB3aXRoIGFzIG1hbnkgcGFja2V0cyBhcyBwb3NzaWJsZS4gRml4ZXMgIzQ5MTMyMy4KCjIwMDctMTEtMTUgMTc6NDc6NDMgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBzb21lIG1vcmUgbGVha3MuIEZpeGVzICM0OTcwMDcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgRml4IHNvbWUgbW9yZSBsZWFrcy4gRml4ZXMgIzQ5NzAwNy4KCjIwMDctMTEtMTUgMTc6MzU6MTggKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCAzIHBhZCBsZWFrcy4gRml4ZXMgIzQ5Njk4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKToKCSAgRml4IDMgcGFkIGxlYWtzLiBGaXhlcyAjNDk2OTgzLgoKMjAwNy0xMS0xNSAxNzoyNjoyNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgoyMDA3LTExLTE1IDE3OjAxOjMyICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogRml4IHNtYWxsIGxlYWsuIEZpeGVzICM0OTcwMTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpOgoJICBGaXggc21hbGwgbGVhay4gRml4ZXMgIzQ5NzAxNy4KCjIwMDctMTEtMTUgMTY6MzE6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEFkZCBzdXBwcG9ydCBmb3IgdGhlb3JhIGluIHF1aWNrdGltZSBhY2NvcmRpbmcgdG8gWGlwaFFULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKHF0ZGVtdXhfcGFyc2VfdGhlb3JhX2V4dGVuc2lvbiksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBzdXBwcG9ydCBmb3IgdGhlb3JhIGluIHF1aWNrdGltZSBhY2NvcmRpbmcgdG8gWGlwaFFULgoKMjAwNy0xMS0xNSAxMjoyMjoxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBBbHdheXMgY29weSBidWZmZXJzIGJ5IGRlZmF1bHQgKGhhbmRsZSBzYWZlciB3aXRoIGJ1Z2dlZCBkcml2ZXJzKSBhbmQgYWRkZWQgYSBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBtbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsd2F5cyBjb3B5IGJ1ZmZlcnMgYnkgZGVmYXVsdCAoaGFuZGxlIHNhZmVyIHdpdGggYnVnZ2VkIGRyaXZlcnMpIGFuZCBhZGRlZCBhIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIG1tYXAgZWZmZWN0aXZlbHkgKG5vIGNvcHkgaWYgcG9zc2libGUpIHdoZW4gYXBwbGljYXRpb24gd2FudHMgdG8uIEZpeGVzOiAjNDgwNTU3LgoKMjAwNy0xMS0xNCAyMTozOTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IFdlIGRvbid0IHdhbnQgdGhlIHNhbWUgc3RyaW5nIG11bHRpcGxlIHRpbWVzIGluIGEgdGFnIGxpc3QgZm9yIHRoZSBzYW1lIHRhZyBldmVyLCBmb3IgYW55IHRhZywgbm90IGp1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIFdlIGRvbid0IHdhbnQgdGhlIHNhbWUgc3RyaW5nIG11bHRpcGxlIHRpbWVzIGluIGEgdGFnIGxpc3QgZm9yIHRoZQoJICBzYW1lIHRhZyBldmVyLCBmb3IgYW55IHRhZywgbm90IGp1c3QgZm9yIEdTVF9UQUdfR0VOUkUsIHNvIG1ha2Ugc3VyZQoJICB0aGlzIGRvZXNuJ3QgaGFwcGVuIGFuZCByZW1vdmUgc3BlY2lhbC1jYXNlIGNvZGUgZm9yIEdTVF9UQUdfR0VOUkUuCgoyMDA3LTExLTE0IDIxOjA0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogV3JpdGUgR1NUX1RBR19NVVNJQ0JSQUlOWl9ESVNDSUQgYW5kIEdTVF9UQUdfQ0REQV9DRERCX0RJU0NJRCBpbnRvIElEM3YyIFRYWFggZnJhbWVzIChmaXhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IChhZGRfbXVzaWNicmFpbnpfdGFnKSwgKGFkZF9mdW5jcyk6CgkgIFdyaXRlIEdTVF9UQUdfTVVTSUNCUkFJTlpfRElTQ0lEIGFuZCBHU1RfVEFHX0NEREFfQ0REQl9ESVNDSUQKCSAgaW50byBJRDN2MiBUWFhYIGZyYW1lcyAoZml4ZXMgIzM0Nzg0OCkuCgoyMDA3LTExLTE0IDIwOjM0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBsZWFrIHNkcCBtZXNzYWdlIGNvbnRlbnRzIChmaXhlcyAjNDk2NzczKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIERvbid0IGxlYWsgc2RwIG1lc3NhZ2UgY29udGVudHMgKGZpeGVzICM0OTY3NzMpLgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfZmluYWxpemUpOgoJICBEb24ndCBsZWFrIFVSSSBzdHJpbmcuCgoyMDA3LTExLTE0IDE5OjEwOjM3ICswMDAwICBKdWxpZW4gUHV5ZHQgPGp1bGllbi5wdXlkdEBsYXBvc3RlLm5ldD4KCgkgIGV4dC9yYXcxMzk0LzogSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIGFuZCBhZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwgc28gYXBwbGljYXRpb25zIGNhbiB1c2UgdGhpcyB0byBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEp1bGllbiBQdXlkdCA8anVsaWVuIGRvdCBwdXlkdCBhdCBsYXBvc3RlIG5ldD4KCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzogKGdzdF8xMzk0X2dldF9ndWlkX2FycmF5KSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX2dldF9wcm9wZXJ0aWVzKSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX3Byb2JlX3Byb3BlcnR5KSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX2dldF92YWx1ZXMpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0XzEzOTRfdHlwZV9hZGRfcHJvcGVydHlfcHJvYmVfaW50ZXJmYWNlKToKCSAgKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuaDogKEdTVF8xMzk0X1BST0JFX0gpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoX2RvX2luaXQpLCAoZ3N0X2R2MTM5NHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9kdjEzOTRzcmNfaW5pdCksIChnc3RfZHYxMzk0c3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2R2MTM5NHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2R2MTM5NHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSksIChnc3RfZHYxMzk0c3JjX3F1ZXJ5KSwKCSAgKGdzdF9kdjEzOTRzcmNfdXBkYXRlX2RldmljZV9uYW1lKToKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIGFuZCBhZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwKCSAgc28gYXBwbGljYXRpb25zIGNhbiB1c2UgdGhpcyB0byBwcm9iZSBmb3IgYXZhaWxhYmxlIGRldmljZXMgaW4gdGhlCgkgIHNhbWUgd2F5IHRoZXkgY2FuIGFscmVhZHkgd2l0aCB2NGxzcmMgYW5kIHY0bDJzcmMgKGhvd2V2ZXIgaG9ycmlibGUKCSAgdGhpcyBwcm9wZXJ0eSBwcm9iZSBpbnRlcmZhY2UgbWF5IGJlKS4gRml4ZXMgIzM1ODg0MS4KCjIwMDctMTEtMTQgMTc6MDM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoKMjAwNy0xMS0xNCAxNToyOTowNSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgbGVhayBldmVudCwgZG9uJ3QgbGVhayByYW5nZSAoZml4ZXMgIzQ5Njc1MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKToKCSAgRG9uJ3QgbGVhayBldmVudCwgZG9uJ3QgbGVhayByYW5nZSAoZml4ZXMgIzQ5Njc1MikuCgoyMDA3LTExLTE0IDEwOjIyOjQxICswMDAwICBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogRGV0ZWN0IFJHQkEvQkdSQSBjb3JyZWN0bHkgb24gbGl0dGxlIGVuZGlhbiBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2Fwcyk6CgkgIERldGVjdCBSR0JBL0JHUkEgY29ycmVjdGx5IG9uIGxpdHRsZSBlbmRpYW4gc3lzdGVtcy4KCjIwMDctMTEtMTMgMTc6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGJ1dCB0aGUgY29ycmVzcG9uZGluZyBpb2N0bCgpIGNhbGwgZmFpbHMgZXZlbiB0aG91Z2ggdGhlIGRyaXZlciBjbGFpbXMgdG8gc3VwcG9ydCB0aGlzIGZvcm0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgSWYgVklESU9DX0VOVU1fRlJBTUVTSVpFUyBpcyBkZWZpbmVkICg9IHJlY2VudCBrZXJuZWwpLCBidXQgdGhlCgkgIGNvcnJlc3BvbmRpbmcgaW9jdGwoKSBjYWxsIGZhaWxzIGV2ZW4gdGhvdWdoIHRoZSBkcml2ZXIgY2xhaW1zIHRvCgkgIHN1cHBvcnQgdGhpcyBmb3JtYXQsIGp1c3QgZmFsbCBiYWNrIHRvIHRoZSBwcmUtMi42LjE5IGtlcm5lbAoJICByb3V0aW5lIHRoYXQgY3JlYXRlcyBjYXBzIHdpdGggc3VpdGFibGUgaGVpZ2h0IGFuZCB3aWR0aCByYW5nZXMKCSAgKHNlZSAjNDQ4Mjc4KS4KCjIwMDctMTEtMTMgMTc6MDE6MDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvOiBFeHRyYWN0IHBhbGV0dGUgZGF0YSBmb3IgZHZkIHN1YnBpY3R1cmUgc3RyZWFtcyBhbmQgc2VuZCBpdCBkb3duc3RyZWFtIGFzIGN1c3RvbSBnc3RyZWFtZXIgZHZkIGV2ZW50ICguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZHZkX2NsdXRfY2hhbmdlX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEV4dHJhY3QgcGFsZXR0ZSBkYXRhIGZvciBkdmQgc3VicGljdHVyZSBzdHJlYW1zIGFuZCBzZW5kIGl0CgkgIGRvd25zdHJlYW0gYXMgY3VzdG9tIGdzdHJlYW1lciBkdmQgZXZlbnQgKGZpeGVzICM0NTM0MTcpLgoKMjAwNy0xMS0xMyAxNDo1MTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBJbXBsZW1lbnQgbWluaW1hbCBwYXJzaW5nIG9mIHRoZSBwYXNzZWQgcGFuZ28gZm9udCBkZXNjcmlwdGlvbiBzdHJpbmcsIHNvIHBhc3NpbmcgYSBmb250IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfZm9udF9pbml0KToKCSAgSW1wbGVtZW50IG1pbmltYWwgcGFyc2luZyBvZiB0aGUgcGFzc2VkIHBhbmdvIGZvbnQgZGVzY3JpcHRpb24KCSAgc3RyaW5nLCBzbyBwYXNzaW5nIGEgZm9udCBzaXplIHdvcmtzIHRoZSBzYW1lIGFzIHdpdGggdGhlCgkgIHBhbmdvIHRleHRvdmVybGF5IHBsdWdpbjsgZml4ZXMgIzQ1NTA4Ni4KCSAgKE1heWJlIHdlIGNvdWxkIGp1c3QgdXNlIHBhbmdvY2Fpcm8gaGVyZSBhdCBzb21lIHBvaW50KS4KCjIwMDctMTEtMTMgMDY6NTU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IFJldHVybiB0aGUgcmVzdWx0IGluIF9hY3RpdmF0ZV9wdWxsKCkuIERvbid0IHJlZiBlbGVtZW50IHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IGluIF9hY3RpdmF0ZV9wdWxsKCkuIERvbid0IHJlZiBlbGVtZW50IHRoZXJlLgoKMjAwNy0xMS0xMyAwNjoyMzo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJlZiB0aGUgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBub3QgbmVlZGVkLiBSZWZsb3cgdGhlIGV2ZW50X2hhbmRsaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBSZWYgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm90IG5lZWRlZC4gUmVmbG93CgkgIHRoZSBldmVudF9oYW5kbGluZyB0byBub3QgbGVhayB0aGUgZXZlbnQuCgoyMDA3LTExLTEyIDIxOjA3OjMxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpOgoJICBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIFNwb3R0ZWQgYnkgR2FicmllbCBCb3V2aWduZS4gRml4ZXMgIzQ5NDQ5OS4KCjIwMDctMTEtMTIgMTc6NTk6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFByb3Blcmx5IGZyZWUgUVREZW11eFNhbXBsZXMgYXJyYXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpOgoJICBQcm9wZXJseSBmcmVlIFFURGVtdXhTYW1wbGVzIGFycmF5LgoJICBQcm90ZWN0IHRhYmxlIHdyaXRlIHdpdGggYSBzZW5zaWJsZSBjaGVjaywgc29tZSBmaWxlcyBhcHBhcmVudGx5IERPIGNvbnRhaW4KCSAgc3R0cyB2YWx1ZXMgc3RhcnRpbmcgd2l0aCAwIDooCgoyMDA3LTExLTEyIDE3OjIxOjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBEcm9wIEVPUyBpbiBfaGFuZGxlX3NyY19ldmVudCgpLiBGaXggdGhlIHJlZmNvdW50IGluIHF0ZGVtdXggdGhhdCBwcmV2aW91cyBjb21taXQgbWVzc2VkIHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBEcm9wIEVPUyBpbiBfaGFuZGxlX3NyY19ldmVudCgpLiBGaXggdGhlIHJlZmNvdW50IGluIHF0ZGVtdXggdGhhdAoJICBwcmV2aW91cyBjb21taXQgbWVzc2VkIHVwLgoKMjAwNy0xMS0xMiAxNzowNjozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogU3luYyBfaGFuZGxlX3NyY19ldmVudCgpIHdpdGggb2dnZGVtdXguIEluIGF2aWRlbXV4IGFsc28gcmVmIHRoZSBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFN5bmMgX2hhbmRsZV9zcmNfZXZlbnQoKSB3aXRoIG9nZ2RlbXV4LiBJbiBhdmlkZW11eCBhbHNvIHJlZiB0aGUKCSAgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBub3QgbmVlZGVkLgoKMjAwNy0xMS0xMSAyMToxMjoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0LzogQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBHc3RNZXNzYWdlcyBieSBzcGVjdHJ1bSB0byBkZWNpYmVsIGluc3RlYWQgb2YKCSAgZGVjaWJlbCt0aHJlc2hvbGQuCgoyMDA3LTExLTExIDEzOjU1OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZSBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZQoJICBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgoyMDA3LTExLTExIDEyOjU0OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoKMjAwNy0xMS0wOSAxNzoyNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5CgkgIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA3LTExLTA4IDE1OjU2OjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2RlbW8uYzogTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0byB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6CgkgIE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8KCSAgdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iZXJzIGFuZCBlbmFibGUgZmlsbC4KCjIwMDctMTEtMDggMTU6MDA6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBSZXR1cm4gRkFMU0UgaWYgd2UgY2FuJ3QgaGFuZGxlIGEgcXVlcnkgaW5zdGVhZCBvZiBjaGFuZ2luZyB0aGUgZm9ybWF0LiBJZ25vcmUgZmFjdCB3aGVuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmV0dXJuIEZBTFNFIGlmIHdlIGNhbid0IGhhbmRsZSBhIHF1ZXJ5IGluc3RlYWQgb2YgY2hhbmdpbmcgdGhlCgkgIGZvcm1hdC4gSWdub3JlIGZhY3Qgd2hlbiBkZWFsaW5nIHdpdGggbXBlZyBhdWRpby4KCjIwMDctMTEtMDYgMTI6MjM6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgIFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IHRoZSBtYWduaXR1ZGUgY2FsY3VsYXRpb24uCgoyMDA3LTExLTAzIDE5OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG1haW4pOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoc2V0dXBfZmlsdGVyKToKCSAgQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBBbHNvIGhhbmRsZSBhIGJhbmR3aWR0aCBvZiByYXRlLzIgcHJvcGVybHkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19jbGFzc19pbml0KToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBnZW5lcmF0ZSBhIE4tYmFuZCBlcXVhbGl6ZXIgd2l0aCAxIGJhbmRzLiBUaGUKCSAgcHJldmlvdXMgbGltaXQgb2YgMiB3YXMgY2F1c2VkIGJ5IGEgbm93YWRheXMgcmVwbGFjZWQgY2FsY3VsYXRpb24KCSAgZG9pbmcgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIG51bWJlciBvZiBiYW5kcyB3YXMgMS4KCjIwMDctMTEtMDIgMjE6MTY6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBGaXggaW5jbHVkZXMgZm9yIE1TVkMgYW5kIEdMaWItMi4xNC4wICgjNDkyMzg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICBGaXggaW5jbHVkZXMgZm9yIE1TVkMgYW5kIEdMaWItMi4xNC4wICgjNDkyMzg4KS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIE5vIG1vcmUgcGlwZSBkZWZpbmUgc2luY2UgR0xpYi0yLjE0LjAsIG5lZWQgdG8gdXNlIF9waXBlKCkgZGlyZWN0bHkuCgoyMDA3LTExLTAyIDE3OjIzOjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xhdy9tdWxhdy1kZWNvZGUuKjogQ2FsY3VsYXRlIG91dGdvaW5nIGJ1ZmZlciBkdXJhdGlvbiBpZiBpbmNvbWluZyBidWZmZXIgZGlkbid0IGhhdmUgYSB2YWxpZCBkdXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXVsYXdkZWNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgIENhbGN1bGF0ZSBvdXRnb2luZyBidWZmZXIgZHVyYXRpb24gaWYgaW5jb21pbmcgYnVmZmVyIGRpZG4ndCBoYXZlIGEKCSAgdmFsaWQgZHVyYXRpb24uCgoyMDA3LTEwLTMwIDIxOjM3OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKG9uX2NvbmZpZ3VyZV9ldmVudCksCgkgIChvbl9nYWluX2NoYW5nZWQpLCAob25fYmFuZHdpZHRoX2NoYW5nZWQpLCAob25fZnJlcV9jaGFuZ2VkKSwKCSAgKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMKCSAgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdXNoZXMgaXQgdGhyb3VnaCBhbiBlcXVhbGl6ZXIgYW5kCgkgIHBhaW50cyB0aGUgc3BlY3RydW0uIEZvciBldmVyeSBlcXVhbGl6ZXIgYmFuZCBpdCdzIHBvc3NpYmxlIHRvIHNldAoJICBnYWluLCBiYW5kd2lkdGggYW5kIGZyZXF1ZW5jeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoc2V0dXBfZmlsdGVyKToKCSAgQWRkIHNvbWUgZ3VhcmRpbmcgYWdhaW5zdCB0b28gbGFyZ2Ugb3IgdG9vIHNtYWxsIGZyZXF1ZW5jaWVzIGFuZAoJICBiYW5kd2lkdGhzLiBBbHNvIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0xMC0zMCAyMToxODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseSBmaW5kIGRvY3VtZW50YXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseQoJICBmaW5kIGRvY3VtZW50YXRpb24sIHdoaWNoIGRvbid0IGNoYW5nZSBhbnl0aGluZyBvbiB6ZXJvIGdhaW4sIGV0Yy4KCSAgTWFrZSB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IG9mIHRoZSBiYW5kcyB3cml0YWJsZSwgcmVuYW1lIHRoZQoJICBiYW5kLXdpZHRoIHByb3BlcnR5IHRvIGJhbmR3aWR0aCBhbmQgY2hhbmdlIHRoZQltZWFuaW5nIHRvIHRoZQoJICBmcmVxdWVuY3kgZGlmZmVyZW5jZSBiZXR3ZWVuIGJhbmRlZGdlcywgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZQoJICBnYWluIHByb3BlcnR5IHRvIGRCIGluc3RlYWQgb2YgYSB3ZWlyZCBzY2FsZSBiZXR3ZWVuIC0xCWFuZCAxIHRoYXQKCSAgaGFzIG5vIHJlYWwgbWVhbmluZy4KCjIwMDctMTAtMzAgMTI6Mjk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNtYXJ0ZXIgY29tYmluZV9mbG93IGNvZGUgdGhhdCBhbHNvIGRlYWxzIHdpdGggZG93bnN0cmVhbSBlbGVtZW50cyByZXR1cm5pbmcgVU5FWFBFQ1RFRCB3aGVuIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBTbWFydGVyIGNvbWJpbmVfZmxvdyBjb2RlIHRoYXQgYWxzbyBkZWFscyB3aXRoIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgcmV0dXJuaW5nIFVORVhQRUNURUQgd2hlbiB0aGV5IHJlY2VpdmUgZGF0YSBvdXQgb2YgdGhlIHNlZ21lbnQKCSAgYm91bmRhcmllcy4gRml4ZXMgIzQ5MTMwNS4KCjIwMDctMTAtMjcgMTY6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbCBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKToKCSAgTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsCgkgIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIHRvIGJlIG1vcmUgdGhhbiBvbmUgcGFkLiBGaXhlcyAjNDkwNjgyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgYWJvdmUuCgoyMDA3LTEwLTI2IDE1OjAzOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXggJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IG9sZGVyIGtlcm5lbCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIGFnYWluc3QKCSAgb2xkZXIga2VybmVsIGhlYWRlcnMuCgoyMDA3LTEwLTI2IDEyOjEwOjQzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDctMTAtMjUgMjM6NDI6NTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luayBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rCgkgIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoKMjAwNy0xMC0yNSAxNTowMDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2MgKGFkZF9mdW5jcyk6IE1hcCBuZXcgU09SVE5BTUUgdGFncyB0byBJRDN2MiBUU09QLCBUU09BIGFuZCBUU09UIGZyYW1lcyAoIzQxNDUzOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2MgKGFkZF9mdW5jcyk6CgkgIE1hcCBuZXcgU09SVE5BTUUgdGFncyB0byBJRDN2MiBUU09QLCBUU09BIGFuZCBUU09UIGZyYW1lcyAoIzQxNDUzOSkuCgoyMDA3LTEwLTI0IDA3OjAxOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiBJbXByb3ZlIHRoZSB0ZXN0cyBhIGxpdHRsZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0cyBhIGxpdHRsZSBtb3JlLgoKMjAwNy0xMC0yMyAwODozODo1MCArMDAwMCAgWXVuIFpoZW5nIEh1IDx5dW56aGVuZy5odUBnbWFpbC5jb20+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzogVXNlIGRlZmF1bHQgaW5wdXQgZGV2aWNlIGluc3RlYWQgb2YgZGVmYXVsdCBvdXRwdXQgZGV2aWNlIGFuZCBvbmx5IG1lbWNweSBhY3R1YWwgYXZhaWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBZdW4gWmhlbmcgSHUKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgVXNlIGRlZmF1bHQgaW5wdXQgZGV2aWNlIGluc3RlYWQgb2YgZGVmYXVsdCBvdXRwdXQgZGV2aWNlIGFuZAoJICBvbmx5IG1lbWNweSBhY3R1YWwgYXZhaWxhYmxlIGJ5dGVzLgoKMjAwNy0xMC0yMiAxOToxNDowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXhlcyAidjRsMnNyYyAhIHF1ZXVlICEgeHZpbWFnZXNpbmsiLiBUaGUgcXVldWUgYXNrIGZvciBidWZmZXIgdG9vIGVhcmx5LiBJdCBpcyB0ZW1wb3JhcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBGaXhlcyAidjRsMnNyYyAhIHF1ZXVlICEgeHZpbWFnZXNpbmsiLiBUaGUgcXVldWUgYXNrIGZvciBidWZmZXIgdG9vCgkgIGVhcmx5LiBJdCBpcyB0ZW1wb3JhcnkgdW50aWwgd2UgZmluZCBzb21ldGhpbmcgYmV0dGVyLgoKMjAwNy0xMC0yMiAxNjo0NDo0OCArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IHJhY2Ugd2hlbiBwYXVzaW5nIGEgUlRTUCBzdHJlYW0gaW4gaW50ZXJsZWF2ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKToKCSAgRml4IHJhY2Ugd2hlbiBwYXVzaW5nIGEgUlRTUCBzdHJlYW0gaW4gaW50ZXJsZWF2ZWQuCgkgIEZpeGVzICM0NzU3ODQuCgoyMDA3LTEwLTIyIDA5OjUzOjE2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBVc2UgY29ycmVjdCB1bnJlZiBmdW5jdGlvbiBmb3IgYnVmZmVycy4gIzQ4ODg0NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZmluYWxpemUpOgoJICBVc2UgY29ycmVjdCB1bnJlZiBmdW5jdGlvbiBmb3IgYnVmZmVycy4gIzQ4ODg0NC4KCjIwMDctMTAtMTkgMTk6MzM6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzb21lIGRlYnVnIGFuZCBzeW5jIHRlc3RzIHdpdGggdGhlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgQWRkIHNvbWUgZGVidWcgYW5kIHN5bmMgdGVzdHMgd2l0aCB0aGUgZml4LgoKMjAwNy0xMC0xOCAxNzowNDoxNCArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogV2hlbiB0aGUgc29ja2V0IGlzIHVzZWQgYnkgdGhlIGFwcCBmb3Igb3RoZXIgcHVycG9zZXMsIGRvbid0IGdlbmVyYXRlIGFuIGVycm9yIGlmIHRoZXJlIGlzIGFjdGl2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTGF1cmVudCBHbGF5YWwgIDxzcGdsZWdsZSB5YWhvbyBmcj4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBXaGVuIHRoZSBzb2NrZXQgaXMgdXNlZCBieSB0aGUgYXBwIGZvciBvdGhlciBwdXJwb3NlcywgZG9uJ3QgZ2VuZXJhdGUgYW4KCSAgZXJyb3IgaWYgdGhlcmUgaXMgYWN0aXZhdHkgb24gdGhlIHNvY2tldCB0aGF0IGlzIG5vdCBkYXRhIHJlbGF0ZWQuCgkgIEZpeGVzICM0ODc0ODguCgoyMDA3LTEwLTE4IDE0OjU1OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uIEdlbmVyYXRlIGFuIGVycm9yIHdoZW4gd2UgcnVuIG91dCBvZiBidWZmZXJzIGZvciBzb21lIHJlYXNvbi4gU2VlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBHZW5lcmF0ZSBhbiBlcnJvciB3aGVuIHdlIHJ1biBvdXQgb2YgYnVmZmVycwoJICBmb3Igc29tZSByZWFzb24uIFNlZSAjNDgwNTU3LgoKMjAwNy0xMC0xOCAwODoyNzo1NiArMDAwMCAgQW5kZXJzIFNrYXJncmVuIDxhbmRlcnMuc2thcmdyZW5AYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogU2V0IG1hcmtlciBiaXQgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZGVycyBTa2FyZ3JlbiA8YW5kZXJzIGRvdCBza2FyZ3JlbiBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBTZXQgbWFya2VyIGJpdCBjb3JyZWN0bHkuCgoyMDA3LTEwLTE4IDA2OjIwOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBBZGQgYSBtaXNzaW5nIGJyZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpOgoJICBBZGQgYSBtaXNzaW5nIGJyZWFrLgoKMjAwNy0xMC0xOCAwNjoxNDo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuKjogTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgoyMDA3LTEwLTE3IDE1OjA4OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgYWxsb3dlZCBuYW1lIGZvciB0aGUgR3N0U3RydWN0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgVXNlIGFsbG93ZWQgbmFtZSBmb3IgdGhlIEdzdFN0cnVjdHVyZS4KCjIwMDctMTAtMTcgMTE6NDc6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IGdzdF9idXNfcG9wX2ZpbHRlcmVkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICBVc2UgbmV3IGdzdF9idXNfcG9wX2ZpbHRlcmVkKCkuCgoyMDA3LTEwLTEzIDEyOjAzOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvOiBXaGVuIHByb2JpbmcgdGhlIGZvcm1hdHMgYW5kIHNpemVzIGEgY2FtZXJhIHN1cHBvcnRzLCBtYWtlIHN1cmUgdGhlIGJlc3Qgb25lcyAoaGlnaGVzdCByZXNvbHV0aW9uLCBwcmVmZXJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFdoZW4gcHJvYmluZyB0aGUgZm9ybWF0cyBhbmQgc2l6ZXMgYSBjYW1lcmEgc3VwcG9ydHMsIG1ha2UKCSAgc3VyZSB0aGUgYmVzdCBvbmVzIChoaWdoZXN0IHJlc29sdXRpb24sIHByZWZlcmVkIGZvcm1hdCkKCSAgZW5kIHVwIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHByb2JlZCBjYXBzIGFuZCB0aGUgbGVzcwoJICBkZXNpcmFibGUgb25lcyBhdCB0aGUgZW5kLiAgVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSB0aGUKCSAgb3JkZXIgd2l0aGluIHRoZSBjYXBzIG1hdHRlcnMgZm9yIHRoaW5ncyBsaWtlIGZpeGF0aW9uIGFuZAoJICBuZWdvdGlhdGlvbiwgaWUuIHdoYXQgZm9ybWF0IGlzIGNob3NlbiBpbiB0aGUgZW5kLgoJICBXaXRoIHJlY2VudCBrZXJuZWxzLCB0aGUgY3VycmVudCBwcm9iaW5nIGNvZGUgd2lsbCBlbmQgdXAKCSAgcXVlcnlpbmcgdGhlIHN1cHBvcnRlZCBzaXplcyBmcm9tIGxvd2VzdCByZXNvbHV0aW9uIHRvCgkgIGhpZ2hlc3QgcmVzb2x1dGlvbiwgYWRkaW5nIHRoZW0gdG8gdGhlIHByb2JlZCBjYXBzIGluIHRoYXQKCSAgb3JkZXIsIHJlc3VsdGluZyB0byB2NGwyc3JjIGZpeGF0aW5nIHRvIHRoZSBsb3dlc3QgcG9zc2libGUKCSAgcmVzb2x1dGlvbiBpZiBkb3duc3RyZWFtIGRvZXMgbm90IGV4cHJlc3MgYSBzaXplIHByZWZlcmVuY2UuCgkgIEFsc28gbWFrZSB1cCBhIHNvbWV3aGF0IHJhbmRvbSByYW5raW5nIG9mIHByZWZlcmVkIG91dHB1dAoJICBmb3JtYXRzIGZvciB0aGUgc2FtZSByZWFzb24uIEZpeGVzICM0ODU4MjguCgoyMDA3LTEwLTExIDE3OjU1OjI5ICswMDAwICBKYXNvbiBLaXZsaWdobiA8amtpdmxpZ2huQGdtYWlsLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBFeHRyYWN0IGxpY2Vuc2UvY29weXJpZ2h0IFVSSXMgZnJvbSBJRDN2MiBXQ09QIGZyYW1lcyAoRml4ZXMgIzQ0NzAwMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogSmFzb24gS2l2bGlnaG4gIDxqa2l2bGlnaG4gZ21haWwgY29tPgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBFeHRyYWN0IGxpY2Vuc2UvY29weXJpZ2h0IFVSSXMgZnJvbSBJRDN2MiBXQ09QIGZyYW1lcwoJICAoRml4ZXMgIzQ0NzAwMCkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9maWxlcy9pZDMtNDQ3MDAwLXdjb3AudGFnOgoJICBBZGQgc2ltcGxlIHVuaXQgdGVzdC4KCjIwMDctMTAtMTEgMTY6NDE6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBBZGQgc3VwcG9ydCBmb3IgbGljZW5zZS9jb3B5cmlnaHQgVVJJIHRhZ3MgKElEM3YyIFdDT1AgZnJhbWUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBBZGQgc3VwcG9ydCBmb3IgbGljZW5zZS9jb3B5cmlnaHQgVVJJIHRhZ3MgKElEM3YyIFdDT1AgZnJhbWUpLgoJICBQcmVyZXF1aXNpdGUgZm9yICM0NDcwMDAuCgoyMDA3LTEwLTA4IDE3OjQ0OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgdXNpbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBpbml0aWFsaXNlIGEgR3N0Q2xvY2tUaW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IHVzaW5nIEdTVF9DTE9DS19USU1FX05PTkUgdG8gaW5pdGlhbGlzZQoJICBhIEdzdENsb2NrVGltZS4KCjIwMDctMTAtMDggMTE6NTg6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE1vcmUgc2Vla2luZyBmaXhlcywgbW9zdGx5IHBhc3NpbmcgYXJvdW5kIHRoZSBuZXcgcGxheWJhY2sgc2VnbWVudCBpbiBvcmRlciB0byBjb25maWd1cmUgaXQgcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpLAoJICAoZ3N0X3J0c3BzcmNfZG9fc2VlayksIChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLCAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIE1vcmUgc2Vla2luZyBmaXhlcywgbW9zdGx5IHBhc3NpbmcgYXJvdW5kIHRoZSBuZXcgcGxheWJhY2sgc2VnbWVudCBpbgoJICBvcmRlciB0byBjb25maWd1cmUgaXQgcHJvcGVybHkuCgkgIEFsc28gcmVzZXQgYmFzZV90aW1lIG9mIHVkcCBzb3VyY2VzIHdoZW4gc2V0dGluZyB0aGVtIGJhY2sgdG8gUExBWUlORyBhcwoJICBhIHRlbXBvcmFyeSBoYWNrIHVudGlsIGNvcmUgc3VwcG9ydHMgc2VlayBpbiBsaXZlIHNvdXJjZXMgcHJvcGVybHkuCgoyMDA3LTEwLTA4IDEwOjM0OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogRml4IGNhcHMgYXMgdG8gbm90IGNvbmZ1c2UgYXV0b3BsdWdnZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBGaXggY2FwcyBhcyB0byBub3QgY29uZnVzZSBhdXRvcGx1Z2dlcnMuCgoyMDA3LTEwLTA2IDE2OjEzOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogUG9ydCBJRDMgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlIChub3cgd291bGQgYmUgYSBnb29kIHRpbWUgdG8gdGVzdCByZS1pbXBvcnRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgUG9ydCBJRDMgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlCgkgIChub3cgd291bGQgYmUgYSBnb29kIHRpbWUgdG8gdGVzdCByZS1pbXBvcnRpbmcgeW91ciBtdXNpYwoJICBjb2xsZWN0aW9uKS4KCjIwMDctMTAtMDYgMTU6MTM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnLzogUG9ydCBBUEUgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguaDoKCSAgUG9ydCBBUEUgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlLgoKMjAwNy0xMC0wNSAxMzoxODoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW1wcm92ZSBmbHVzaGluZyBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKSwKCSAgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9pbnRlcm5hbF9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksIChuZXdfc2Vzc2lvbl9wYWQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCk6CgkgIEltcHJvdmUgZmx1c2hpbmcgYmVoYXZpb3VyLgoJICBTZXQgc3RhdGUgb2YgdGhlIHVkcCBzb3VyY2VzIHRvIFBBVVNFL1BMQVlJTkcgY29ycmVjdGx5LgoJICBIYW5kbGUgZXZlbnRzIGFuZCBxdWVyaWVzIGZvciBVRFAgYW5kIFRDUCB0cmFuc3BvcnQgbm93LgoKMjAwNy0xMC0wNCAwNzoyOTo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC86IEFkZCBsb2cgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBBZGQgbG9nIGNhdGVnb3J5LgoKMjAwNy0xMC0wNCAwNzoyNDowMiArMDAwMCAgVGltbyBIb3R0aSA8VGltby5Ib3R0aUBzeXNvcGVuZGlnaWEuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGltbyBIb3R0aSA8VGltby5Ib3R0aUBzeXNvcGVuZGlnaWEuY29tPgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycy4KCjIwMDctMTAtMDIgMTA6NDk6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IEFsc28gc2F2ZSBjb2RlYyBkYXRhIGZvciBhdWRpbyBzdHJlYW1zLiBGaXhlcyAjNDgyNDk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIEFsc28gc2F2ZSBjb2RlYyBkYXRhIGZvciBhdWRpbyBzdHJlYW1zLiBGaXhlcyAjNDgyNDk1LgoKMjAwNy0xMC0wMiAxMDoyMzowNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4ICJJbmRleCBlbnRyeSBoYXMgaW52YWxpZCBzdHJlYW0gbnIgMSIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEZpeCAiSW5kZXggZW50cnkgaGFzIGludmFsaWQgc3RyZWFtIG5yIDEiLgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIGFhYyAtIHdvcmsgaW4gcHJvZ3Jlc3MgKHNlZSAjNDgyNDk1KS4KCjIwMDctMTAtMDEgMTY6MzQ6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFBhcnNlIGJhbmR3aWR0aCBtb2RpZmllcnMsIHRoZXkgYXJlIG5vdCB5ZXQgY29uZmlndXJlZCBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIGJlY2F1c2Ugd2UgZG9uJ3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZ2V0X2JhbmR3aWR0aCksCgkgIChnc3RfcnRzcHNyY19jb2xsZWN0X2JhbmR3aWR0aCksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBQYXJzZSBiYW5kd2lkdGggbW9kaWZpZXJzLCB0aGV5IGFyZSBub3QgeWV0IGNvbmZpZ3VyZWQgaW4gdGhlIHNlc3Npb24KCSAgbWFuYWdlciBiZWNhdXNlIHdlIGRvbid0IGhhdmUgYW4gQVBJIGZvciB0aGF0IHlldC4KCjIwMDctMTAtMDEgMTM6NTc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBzaGlueSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpOgoJICBVc2Ugc2hpbnkgbmV3IGZ1bmN0aW9uIGluIC1iYXNlIHRvIGdldCB0aGUgZGVmYXVsdCBjbG9jay1yYXRlLgoJICBVcGRhdGUgc29tZSBkb2NzLgoKMjAwNy0wOS0yOSAxMjo1MDozNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBmaWxlcyB0byB3aW4zMiBtYW5pZmVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBmaWxlcyB0byB3aW4zMiBtYW5pZmVzdC4KCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTA5LTI4IDE0OjU2OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBJbiBUQ1AgbW9kZSwgb25seSB0aW1lc3RhbXAgdGhlIGZpcnN0IGJ1ZmZlci4gVENQIGlzIG5vdCByZWFsIHRpbWUgYW5kIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbiBUQ1AgbW9kZSwgb25seSB0aW1lc3RhbXAgdGhlIGZpcnN0IGJ1ZmZlci4gVENQIGlzIG5vdCByZWFsIHRpbWUgYW5kCgkgIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gdHJ5IHRvIHNrZXcgY29tcGVuc2F0ZSwgYWxzbyBzb21lIHNlcnZlcnMgc2VuZAoJICB0aGUgZmlyc3QgYmF0Y2ggb2YgZGF0YSBpbiBhIGJ1cnN0LgoKMjAwNy0wOS0yNyAxNTowMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggc2V0dGluZyB0aGUgZGlzY29udCBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIgcHVzaGVkIGRvd25zdHJlYW0gZm9yIGZvcm1hdHMgd2l0aCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgRml4IHNldHRpbmcgdGhlIGRpc2NvbnQgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyCgkgIHB1c2hlZCBkb3duc3RyZWFtIGZvciBmb3JtYXRzIHdpdGggcHJpdmF0ZSBjb2RlYwoJICBkYXRhIHRoYXQgbmVlZHMgdG8gYmUgZGVzZXJpYWxpc2VkIGludG8gYnVmZmVycwoJICAoc3VjaCBhcyB2b3JiaXMgYW5kIEZMQUMgd2hlbiBpbiBhIG1hdHJvc2thIGNvbnRhaW5lcikuCgoyMDA3LTA5LTI3IDExOjEwOjEyICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lio6IEZyZWUgdGhlIGNvbmZpZyBzdHJpbmcuIEZpeGVzICM0ODA3MDcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNHZfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIEZyZWUgdGhlIGNvbmZpZyBzdHJpbmcuIEZpeGVzICM0ODA3MDcuCgkgIENsZWFuIHVwIHRoZSB0aW1lc3RhbXAgY29kZSBhIGxpdHRsZS4KCjIwMDctMDktMjYgMjA6MTI6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFNldCB0aW1lc3RhbXBzIG9uIFJUUCBidWZmZXJzIGluIGludGVybGVhdmVkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFNldCB0aW1lc3RhbXBzIG9uIFJUUCBidWZmZXJzIGluIGludGVybGVhdmVkIG1vZGUuCgkgIE1hcmsgZmlyc3QgYnVmZmVycyB3aXRoIGEgRElTQ09OVC4KCSAgUmVtb3ZlIGZsdXNoIGhhY2sgbm93IHRoYXQgc3luYyBmb3IgbGl2ZSBzb3VyY2VzIGhhcyBiZWVuIGZpZ3VyZWQgb3V0LgoKMjAwNy0wOS0yNiAxNDoyODoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCjIwMDctMDktMjYgMTQ6MjY6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS4qOiBGYWlsIGlmIHdlIGRvbid0IGtub3cgdGhlIHF1aWNrdGltZSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgRmFpbCBpZiB3ZSBkb24ndCBrbm93IHRoZSBxdWlja3RpbWUgZm9ybWF0LgoKMjAwNy0wOS0yNiAxMzoxOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuKjogU2F2ZSB0aGUgZmxvdyByZXR1cm4gZnJvbSB0aGUgbGFzdCBnc3RfcGFkX3B1c2goKSBhbmQgbWFrZSBzdXJlIHdlIHBhc3MgdGhlIHJpZ2h0IGZsb3cgcmV0dXJuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBTYXZlIHRoZSBmbG93IHJldHVybiBmcm9tIHRoZSBsYXN0IGdzdF9wYWRfcHVzaCgpIGFuZAoJICBtYWtlIHN1cmUgd2UgcGFzcyB0aGUgcmlnaHQgZmxvdyByZXR1cm4gdmFsdWUgdXBzdHJlYW0KCSAgaW4gdGhlIGNhc2Ugb2YgZmFpbHVyZTsgbWlub3IgY2xlYW4tdXBzLgoKMjAwNy0wOS0yNSAxOTowOTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IEdTVF9UQUdfQ09NUE9TRVIgKCM0NTk4MDkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBHU1RfVEFHX0NPTVBPU0VSICgjNDU5ODA5KS4KCjIwMDctMDktMjUgMTc6MTg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbGF3LzogQ29tcHVsc2l2ZSBjbGVhbi11cHM6IHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGFkZCBkZWJ1ZyBjYXRlZ29yaWVzLCBmaXggdXAgdGhpbmdzIHRvIGNvbmZvcm0gdG8gc3ltYm9sIG5vbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy5jOgoJICAqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5oOgoJICBDb21wdWxzaXZlIGNsZWFuLXVwczogdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgYWRkIGRlYnVnCgkgIGNhdGVnb3JpZXMsIGZpeCB1cCB0aGluZ3MgdG8gY29uZm9ybSB0byBzeW1ib2wgbm9tZW5rbGF0dXJhLAoJICBldGMuCgoyMDA3LTA5LTI1IDE2OjA1OjI5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvbGF3LzogVXNlIHN0YXRpYyB0YWJsZXMgZm9yIEEtTGF3IGRlY29kaW5nIGFuZCBlbmNvZGluZzsgdGhpcyBtYWtlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsICA8c3BnbGVnbGUgeWFob28gZnI+CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSAgVXNlIHN0YXRpYyB0YWJsZXMgZm9yIEEtTGF3IGRlY29kaW5nIGFuZCBlbmNvZGluZzsgdGhpcyBtYWtlcwoJICBBLUxhdyBkZWNvZGluZyBhbmQgZW5jb2RpbmcgbGVzcyBDUFUtaW50ZW5zaXZlLCBidXQgaW5jcmVhc2VzCgkgIHRoZSBiaW5hcnkgc2l6ZSBhIGJpdC4gTGVhdmluZyBvbGQgY29kZSBhcm91bmQgZm9yIG5vdywKCSAgc2VsZWN0YWJsZSBieSBhIGRlZmluZSBpbiB0aGUgY29kZS4gRml4ZXMgIzQzNTQzNS4KCjIwMDctMDktMjUgMDg6NTE6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFHX0dTVF9BUkdfV0lUSF9QTFVHSU5TLCBBR19HU1RfQVJHX0VOQUJMRV9FWFRFUk5BTCBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUdfR1NUX0FSR19XSVRIX1BMVUdJTlMsIEFHX0dTVF9BUkdfRU5BQkxFX0VYVEVSTkFMIGFuZAoJICBBR19HU1RfQVJHX0VOQUJMRV9FWFBFUklNRU5UQUwgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aG9zZSBtYWNyb3MKCSAgaW4gY29uZmlndXJlLmFjLgoKMjAwNy0wOS0yNSAwNTowMzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgZm91cmNjcyBmb3IgTVBFRzIgSERWIHN0cmVhbXMuIEZpeGVzICM0Nzk5NjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBmb3VyY2NzIGZvciBNUEVHMiBIRFYgc3RyZWFtcy4gRml4ZXMgIzQ3OTk2MC4KCjIwMDctMDktMjQgMTA6NTM6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoKMjAwNy0wOS0yMyAxODo1NzoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzogVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgYSBnX2NyaXRpY2FsLiBUaGlzIHNpdHVhdGlvbiBpcyBub3QgY2F1c2VkIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgYSBnX2NyaXRpY2FsLiBUaGlzIHNpdHVhdGlvbiBpcyBub3QgY2F1c2VkCgkgIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCjIwMDctMDktMjIgMTg6MTU6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9ubC5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA5LTIyIDE4OjEzOjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2V1LnBvOiBBZGRlZCBCYXNxdWUgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBNaWtlbCBPbGFzYWdhc3RpIDxoZXlfbmVrZW5AbXVuZHVyYXQubmV0PgoJICAqIHBvL2V1LnBvOgoJICBBZGRlZCBCYXNxdWUgdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjEzOjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgQ2hpbmVzZSAodHJhZGl0aW9uYWwgYW5kIEhvbmcgS29uZykgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBBYmVsIENoZXVuZyA8YWJlbGNoZXVuZ0BnbWFpbC5jb20+CgkgICogcG8vemhfSEsucG86CgkgICogcG8vemhfVFcucG86CgkgIEFkZGVkIENoaW5lc2UgKHRyYWRpdGlvbmFsIGFuZCBIb25nIEtvbmcpIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoxMDo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9wbC5wbzogQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4KCSAgKiBwby9wbC5wbzoKCSAgQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowOTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9maS5wbzogQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IElsa2thIFR1b2hlbGEgPGhpbGVAaWtpLmZpPgoJICAqIHBvL2ZpLnBvOgoJICBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowOTowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9lcy5wbzogQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpvcmdlIEdvbnrDoWxleiBHb256w6FsZXogPGFsb3JpZWxAZ21haWwuY29tPgoJICAqIHBvL2VzLnBvOgoJICBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowODoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9kYS5wbzogQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogTW9nZW5zIEphZWdlciA8bW9nZW5zQGphZWdlci50Zj4KCSAgKiBwby9kYS5wbzoKCSAgQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowNjo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby96aF9DTi5wbzogQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBGdW5kYSBXYW5nIDxmdW5kYXdhbmdAbGludXgubmV0LmNuPgoJICAqIHBvL3poX0NOLnBvOgoJICBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDU6MzcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vYmcucG86IEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBjb250YWN0LmJnPgoJICAqIHBvL2JnLnBvOgoJICBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDA4OjEyOjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgZml4IGhlYWRlciBhbmQgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgoyMDA3LTA5LTIxIDExOjM0OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBTZXQgb3V0Z29pbmcgcGFja2V0IGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuLiBGaXhlcyAjNDc4MjQ0IHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgIFNldCBvdXRnb2luZyBwYWNrZXQgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4uIEZpeGVzICM0NzgyNDQgc29tZSBtb3JlLgoKMjAwNy0wOS0yMCAxMzozNTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEFkZCBpbmZvIGFib3V0IHN0YXRpYyBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgQWRkIGluZm8gYWJvdXQgc3RhdGljIGxlYWsuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgSW1wcm92ZWQgc3RhdGUgY2hhbmdlIHVuaXQgdGVzdC4KCjIwMDctMDktMTkgMTg6MTk6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgoyMDA3LTA5LTE5IDE2OjI0OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogUmVtb3ZlZCBzb21lIHVudXNlZCBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBSZW1vdmVkIHNvbWUgdW51c2VkIGNvZGUuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOiAoZ3N0X3J0cF9tcDJ0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9mbHVzaF9wYWNrZXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0KToKCSAgVHJ5IHRvIHByZXNlcnZlIHRoZSBpbmNvbW1pbmcgYnVmZmVyIGR1cmF0aW9uIG9uIHRoZSBvdXRnb2luZwoJICBwYWNrZXRzLiBGaXhlcyAjNDc4MjQ0LgoKMjAwNy0wOS0xOSAxMDoyMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBXb3JrIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGcrKy00LjIgd2hlbiBhc3NpZ25pbmcgYSBzdHJpbmcgY29uc3RhbnQgdG8gYSBnY2hhciAqIChwYXJ0aWFsbHkgZml4ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIFdvcmsgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZysrLTQuMiB3aGVuIGFzc2lnbmluZyBhCgkgIHN0cmluZyBjb25zdGFudCB0byBhIGdjaGFyICogKHBhcnRpYWxseSBmaXhlcyAjNDc4MDkyKS4KCjIwMDctMDktMTggMTY6NDQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFdlIHJlcXVpcmUgY29yZSBDVlMgbm93IGZvciBnc3RfYmFzZV9zcmNfc2V0X2RvX3RpbWVzdGFtcCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIHJlcXVpcmUgY29yZSBDVlMgbm93IGZvciBnc3RfYmFzZV9zcmNfc2V0X2RvX3RpbWVzdGFtcCgpLgoKMjAwNy0wOS0xOCAxMzo1NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgoyMDA3LTA5LTE4IDExOjQ1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzCgkgIGFuZCBzdGFydC9zdG9wLiBSZXBvcnQgbWVzc2FnZSB0aW1lc3RhbXAgYXMgc3RyZWFtIHRpbWUsIHdoaWNoIGlzIHdoYXQKCSAgYW4gYXBwbGljYXRpb24gY2FuIHVuZGVyc3RhbmQuIChZZXMgdGhlc2UgYXJlIGFkYXB0ZWQgZnJvbSB3aW0gcmVjZW50CgkgIGxldmVsIGVsZW1lbnQgY2hhbmdlcykKCjIwMDctMDktMTcgMTc6MzU6MTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIHdpdGggRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLCAoZ3N0X3J0c3BzcmNfZG9fc3RyZWFtX2VvcyksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gd2l0aCBGb3J0ZS4KCjIwMDctMDktMTcgMDI6MDU6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEdpdmUgbWVhbmluZ2Z1bGwgZXJyb3Igd2hlbiBhbGwgc3RyZWFtcyBmYWlsZWQgdG8gY29uZmlndXJlIGZvciBzb21lIHJlYXNvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19kdXBfcHJpbnRmKToKCSAgR2l2ZSBtZWFuaW5nZnVsbCBlcnJvciB3aGVuIGFsbCBzdHJlYW1zIGZhaWxlZCB0byBjb25maWd1cmUgZm9yIHNvbWUKCSAgcmVhc29uLgoKMjAwNy0wOS0xNiAxOToxMzo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBVcGRhdGUgUkVBRE1FIHdpdGggdGhlIGRlc2lnbiBmb3Igc3luY2hyb25pc2F0aW9uIHJ1bGVzIG9mIFJUUCBvbiBzZW5kZXIgYW5kIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRSB3aXRoIHRoZSBkZXNpZ24gZm9yIHN5bmNocm9uaXNhdGlvbiBydWxlcyBvZiBSVFAgb24KCSAgc2VuZGVyIGFuZCByZWNlaXZlci4KCjIwMDctMDktMTQgMDk6NDA6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBEb24ndCBwdXNoIEVPUyBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiwgdGhlIGVsZW1lbnQgZHJpdmluZyB0aGUgcGlwZWxpbmUgaXMgcmVzcG9uc2libGUgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgIERvbid0IHB1c2ggRU9TIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uLCB0aGUgZWxlbWVudAoJICBkcml2aW5nIHRoZSBwaXBlbGluZSBpcyByZXNwb25zaWJsZSBmb3IgdGhpcy4gVGhlIGJ1ZwoJICB0aGlzIHdhcyBtZWFudCB0byBmaXggc2VlbXMgdG8gYmUgcXVldWUgbm90IGZvcndhcmRpbmcKCSAgRU9TIGluIGFsbCBjYXNlcyAoc2VlICM0NzY1MTQpLgoKMjAwNy0wOS0xMyAxNzozMToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBVc2UgYmFzZXRyYW5zZm9ybSBzZWdtZW50IHNvIHRoYXQgaXQgaXMgY29ycmVjdGx5IG1hbmFnZWQgb24gZmx1c2hlcyBhbmQgc3RhcnQvc3RvcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksIChnc3RfbGV2ZWxfc3RhcnQpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzIGFuZAoJICBzdGFydC9zdG9wLgoJICBSZXBvcnQgbWVzc2FnZSB0aW1lc3RhbXAgYXMgc3RyZWFtIHRpbWUsIHdoaWNoIGlzIHdoYXQgYW4gYXBwbGljYXRpb24KCSAgY2FuIHVuZGVyc3RhbmQuCgoyMDA3LTA5LTEzIDE1OjA0OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgbXkgbWFpbCBhZGRyZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkgIFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MuCgoyMDA3LTA5LTEzIDEyOjM3OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWRkIEVPUyBsb2dpYyBmb3IgdGhlIHB1c2gtYmFzZWQgbW9kZSB0b28uIEZpeGVzICM0NzY1MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fZW9zKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgIEFkZCBFT1MgbG9naWMgZm9yIHRoZSBwdXNoLWJhc2VkIG1vZGUgdG9vLiBGaXhlcyAjNDc2NTE0LgoKMjAwNy0wOS0xMiAyMjowMTo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBGaXggbGF3IGVuY29kZXIgdGltZXN0YW1wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfaW5pdCksIChnc3RfYWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfaW5pdCksCgkgIChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgIEZpeCBsYXcgZW5jb2RlciB0aW1lc3RhbXBzLgoKMjAwNy0wOS0xMiAwOToxMzozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IEZpeCB3YXJuaW5nIHdoZW4gYnVpbGRpbmcgd2l0aG91dCBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkgIEZpeCB3YXJuaW5nIHdoZW4gYnVpbGRpbmcgd2l0aG91dCBkZWJ1Zy4KCSAgKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSAgVXNlIGNvbnN0IGxpa2UgaW4gYWxzYW1peGVydHJhY2suYyAoZml4ZXMgd2FybmluZ3MpLgoKMjAwNy0wOS0xMiAwODozODoyMSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCjIwMDctMDktMTEgMTU6Mzc6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uIGNvZGUgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBGaXggZnJhbWVyYXRlIGRldGVjdGlvbiBjb2RlIHNvbWUgbW9yZS4KCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGlzIGEgd2VpcmQgc3RlcCBpbiB0aGUgc3RlcHdpc2UgZnJhbWVyYXRlcy4KCSAgRG9uJ3Qgb3ZlcndyaXRlIHRoZSBtaW4gaW50ZXJ2YWwgd2l0aCB0aGUgZnJhbWVyYXRlLCB1c2UgYSB0ZW1wIHZhcmlhYmxlCgkgIGluc3RlYWQuCgkgIFVzZSBtYXggaW4gdGhlIENvbnRpbnVvdXMgZnJhbWVyYXRlIGludGVydmFscyBpbnN0ZWFkIG9mIHN0ZXAsIHdoaWNoIGlzCgkgIDEgYWNjb3JkaW5nIHRvIHRoZSBkb2NzLiBGaXhlcyAjNDc1NDI0LgoKMjAwNy0wOS0xMCAxOTo1MzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IE1ha2UgdWRwc3JjIHRpbWVzdGFtcCBvdXRnb2luZyBidWZmZXJzIGJhc2VkIG9uIHdoZW4gdGhleSB3ZXJlIHJlY2VpdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19pbml0KSwgKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgTWFrZSB1ZHBzcmMgdGltZXN0YW1wIG91dGdvaW5nIGJ1ZmZlcnMgYmFzZWQgb24gd2hlbiB0aGV5IHdlcmUgcmVjZWl2ZWQuCgkgIEFsc28gbWFrZSBpdCBvdXRwdXQgYSBzZWdtZW50IGluIHRpbWUuCgoyMDA3LTA5LTEwIDA2OjQ5OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFBsdWcgYSBsaXR0bGUgbGVhay4gTGl0dGxlIGNvZGUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUGx1ZyBhIGxpdHRsZSBsZWFrLiBMaXR0bGUgY29kZSBjbGVhbnVwcy4KCjIwMDctMDktMDkgMTg6MDg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gdG8gY2hlY2sgZm9yIG9sZCBmbGFjIHZlcnNpb25zLCAncyBnb29kIGZvciBjcm9zcy1jb21waWxhdGlvbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIHRvIGNoZWNrIGZvciBvbGQKCSAgZmxhYyB2ZXJzaW9ucywgJ3MgZ29vZCBmb3IgY3Jvc3MtY29tcGlsYXRpb24ga2FybWEuCgoyMDA3LTA5LTA3IDE4OjA0OjQxICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOiBGaXggdXAgaGVhZGVyIHN0cnVjdHVyZSBzbyB0aGF0IGNvbXBpbGVycyBkb24ndCBhZGQgcGFkZGluZyBiZXR3ZWVuIHRoZSBzdHJ1Y3R1cmUgZmllbGRzLCBzaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgRml4IHVwIGhlYWRlciBzdHJ1Y3R1cmUgc28gdGhhdCBjb21waWxlcnMgZG9uJ3QgYWRkIHBhZGRpbmcKCSAgYmV0d2VlbiB0aGUgc3RydWN0dXJlIGZpZWxkcywgc2luY2UgdGhhdCB3b3VsZCBsZWFkIHRvIHVzCgkgIHNlbmRpbmcgUlRQIHBhY2tldHMgd2l0aCBicm9rZW4gaGVhZGVycyAoYXMgaXMgY3VycmVudGx5IHRoZQoJICBjYXNlIHdoZW4gY29tcGlsaW5nIHdpdGggTVNWQykuIEFsc28gc2VlIHNpbWlsYXIgZml4ZXMgaW4KCSAgbGliZ3N0cnRwIGluIGdzdC1wbHVnaW5zLWJhc2UuICgjNDc0NjE2OyAjNDcxMTk0KQoKMjAwNy0wOS0wNyAxNjowNDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRG9uJ3Qgb3ZlcndyaXRlIG91ciBHVmFsdWUgd2l0aCAwIGJ1dCBpbnN0ZWFkIHVzZSB0aGUgcHJldmlvdXNseSBjb21wdXRlZCB2YWx1ZS4gRml4ZXMgIzQ3MS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBEb24ndCBvdmVyd3JpdGUgb3VyIEdWYWx1ZSB3aXRoIDAgYnV0IGluc3RlYWQgdXNlIHRoZSBwcmV2aW91c2x5CgkgIGNvbXB1dGVkIHZhbHVlLiBGaXhlcyAjNDcxODIzIHNvbWUgbW9yZS4KCjIwMDctMDktMDcgMTU6NTQ6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgVGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlciBmb3Igbm90aWNpbmcuCgoyMDA3LTA5LTA2IDEyOjAwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6IE5vIHRhYnMgaW4gdGhpcyBmaWxlIHBsZWFzZSwgb3IgZ3RrLWRvYyB3aWxsIGVuZCB1cCBkb2N1bWVudGluZyByYXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBObyB0YWJzIGluIHRoaXMgZmlsZSBwbGVhc2UsIG9yIGd0ay1kb2Mgd2lsbCBlbmQgdXAgZG9jdW1lbnRpbmcKCSAgcmF0aGVyIGFic3VyZCBjbGFzcyBoaWVyYXJjaGllcy4KCjIwMDctMDktMDYgMTA6NDg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBJZiB0aGUgbmV3IGtpZCBlbGVtZW50IGZhaWxzIHRvIGNoYW5nZSBzdGF0ZSBmb3Igc29tZSByZWFzb24gZm9yd2FyZCB0aGUgZXJyb3IgbWVzc2FnZSBpdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgSWYgdGhlIG5ldyBraWQgZWxlbWVudCBmYWlscyB0byBjaGFuZ2Ugc3RhdGUgZm9yIHNvbWUgcmVhc29uCgkgIChlLmcuIGVzZHNpbmsgbm90IGJlaW5nIGFibGUgdG8gY29ubmVjdCB0byB0aGUgc291bmQgc2VydmVyKSwKCSAgZm9yd2FyZCB0aGUgZXJyb3IgbWVzc2FnZSBpdCBwb3N0ZWQgb24gdGhlIGJ1cyBpbnN0ZWFkIG9mIGp1c3QKCSAgcG9zdGluZyBhIGdlbmVyaWMgJ0ludGVybmFsIHN0YXRlIGNoYW5nZSBlcnJvcjogcGxlYXNlIGZpbGUgYQoJICBidWcnIGVycm9yIG1lc3NhZ2UuIEZpeGVzICM0NzEzNjQuCgoyMDA3LTA5LTA2IDA3OjIxOjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0IGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksIChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXR1cCksIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQKCSAgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZSBjb250ZW50cywKCSAgYXZlcmFnZSBhbGwgRkZUcyBkb25lIGluIG9uZSBpbnRlcnZhbCBmb3IgYmV0dGVyIHJlc3VsdHMsIHVzZQoJICBhIGJldHRlciB3aW5kb3dpbmcgZnVuY3Rpb24sIGFsbG93IHBvc3RpbmcgdGhlIHBoYXNlIGluIHRoZSBtZXNzYWdlCgkgIGFuZCBhY3R1YWxseSBkbyBhbiBGRlQgd2l0aCB0aGUgcmVxdWVzdGVkIG51bWJlciBvZiBiYW5kcyBpbnN0ZWFkCgkgIG9mIGludGVycG9sYXRpbmcuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNwZWN0cnVtX3N1aXRlKToKCSAgSW1wcm92ZSB0aGUgdW5pdHMgdGVzdHMgYnkgY2hlY2tpbmcgZm9yIGEgMTEwMjVIeiBzaW5lIHdhdmUKCSAgYW5kIGFkZCB1bml0IHRlc3RzIGZvciBhbGwgNCBzdXBwb3J0ZWQgc2FtcGxlIHR5cGVzLgoKMjAwNy0wOS0wNSAxNjoyMzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogRG9uJ3QgYXNzdW1lIHRhZ3MgYXJlIGVuY29kZWQgYXMgVVRGLTggKCM0NzM2NzApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIERvbid0IGFzc3VtZSB0YWdzIGFyZSBlbmNvZGVkIGFzIFVURi04ICgjNDczNjcwKS4KCjIwMDctMDktMDUgMTQ6NDM6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi86IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJpZXMgaW4gdGhlIGNydWRlc3Qgd2F5IHBvc3NpYmxlIHNvIEkgZG9uJ3QgaGF2ZSB0byB1c2Ugc3luYz1mYWxzZSBhbnkgbG9uZ2VyIHdoZW4gdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEltcGxlbWVudCBMQVRFTkNZIHF1ZXJpZXMgaW4gdGhlIGNydWRlc3Qgd2F5IHBvc3NpYmxlIHNvIEkgZG9uJ3QKCSAgaGF2ZSB0byB1c2Ugc3luYz1mYWxzZSBhbnkgbG9uZ2VyIHdoZW4gdGVzdGluZyB3aXRoIHZpZGVvc2lua3MuCgoyMDA3LTA5LTA1IDA5OjI1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGJ1aWxkLgoKMjAwNy0wOS0wNSAwMDoxMjo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW4gdGhlIGZyYW1lcmF0ZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW4gdGhlIGZyYW1lcmF0ZSBmdW5jdGlvbi4KCSAgSXRlcmF0ZSBzdGVwd2lzZSBmcmFtZXJhdGUgdXAgdG8gYW5kIF9pbmNsdWRpbmdfIHRoZSBtYXggYW5kIGlmIG5vdGhpbmcKCSAgd2FzIGFkZGVkIHRvIHRoZSBsaXN0LCBhZGQgYSBkdW1teSAwLzEgdG8gMTAwLzEgZnJhbWVyYXRlIHNvIHRoYXQgd2UKCSAgZG9uJ3QgZW5kIHVwIHdpdGggYW4gZW1wdHkgbGlzdC4KCjIwMDctMDktMDQgMjI6NDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBBZGQgcHJvcGVydHkgZG8gY29uZmlndXJlIGRlc3RpbmF0aW9uIGFkZHJlc3MvcG9ydCBwYWlycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X2NsaWVudHNfc3RyaW5nKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X2NsaWVudHNfc3RyaW5nKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXJfaW50ZXJuYWwpLAoJICAoZ3N0X211bHRpdWRwc2lua19jbGVhcik6CgkgIEFkZCBwcm9wZXJ0eSBkbyBjb25maWd1cmUgZGVzdGluYXRpb24gYWRkcmVzcy9wb3J0IHBhaXJzCgkgIEFQSTpHc3RNdWx0aVVEUFNpbms6OmNsaWVudHMKCjIwMDctMDktMDQgMTg6MzA6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy86IEFkZGVkIHNvbWUgUlRQIGV4YW1wbGUgc2NyaXB0cyBmb3Igc2VuZGluZyBhbmQgcmVjZWl2aW5nIFJUUCBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBBZGRlZCBzb21lIFJUUCBleGFtcGxlIHNjcmlwdHMgZm9yIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBSVFAgc3RyZWFtcy4KCjIwMDctMDktMDQgMTY6NDA6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFJlc3RydWN0dXJlIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGFsc28gY29tcHV0ZSB0aGUgZXhwZWN0ZWQgR1N0cmVhbWVyIG91dHB1dCBzaXouLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwcyksIChnc3RfdjRsMnNyY19nZXRfbW1hcCk6CgkgIFJlc3RydWN0dXJlIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGFsc28gY29tcHV0ZSB0aGUKCSAgZXhwZWN0ZWQgR1N0cmVhbWVyIG91dHB1dCBzaXplIG9mIHRoZSB2aWRlbyBmcmFtZXMuCgkgIFNldCBmcmFtZV9ieXRlX3NpemUgY29ycmVjdGx5IHNvIHRoYXQgcmVhZC1iYXNlZCBkZXZpY2VzIGhhdmUgYSBjaGFuY2UKCSAgb2Ygd29ya2luZyBjb3JyZWN0bHkuCgkgIFdoZW4gZ3JhYmJpbmcgYSBmcmFtZSwgZGlzY2FyZCBmcmFtZXMgdGhhdCBhcmUgbm90IG9mIHRoZSBleHBlY3RlZCBzaXplLgoJICBTb21lIGNhbWVyYXMgZG9uJ3Qgb3V0cHV0IHRoZSByaWdodCBmcmFtZXNpemUgZm9yIHRoZSBmaXJzdCBidWZmZXIuCgkgIFRyeSBvbmx5IGEgY291cGxlIG9mIHRpbWVzIHRvIGdldCBhIHZhbGlkIGZyYW1lLCBlbHNlIGVycm9yIG91dC4KCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfZ2V0X2lucHV0KToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIHdoZW4gc2Nhbm5pbmcgdGhlIGRldmljZS4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfbmV3KSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldyksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9hY3RpdmF0ZSksCgkgIChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIHdoZW4gZGVxdWVpbmcgYSBmcmFtZS4KCjIwMDctMDktMDQgMTQ6Mzc6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBNb3JlIGNvZGUgY2xlYW51cHMuIEFkZCBzb21lIG1vcmUgY29tbWVudCBhbmQgaW1wcm92ZSBkZWJ1Z3MgbG9ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIE1vcmUgY29kZSBjbGVhbnVwcy4gQWRkIHNvbWUgbW9yZSBjb21tZW50IGFuZCBpbXByb3ZlIGRlYnVncyBsb2dzLgoKMjAwNy0wOS0wNCAwNzo1ODozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEltcGxlbWVudCBzZWVrLXF1ZXJ5LiBSZWZhY3RvciBkdXJhdGlvbiBjYWxjdWxhdGlvbnMuIEFwcHJvcHJpYXRlIHVzZSBvZiB1aW50NjRfc2NhbGVfaW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBJbXBsZW1lbnQgc2Vlay1xdWVyeS4gUmVmYWN0b3IgZHVyYXRpb24gY2FsY3VsYXRpb25zLiBBcHByb3ByaWF0ZSB1c2UKCSAgb2YgdWludDY0X3NjYWxlX2ludCBhbmQgdWludDY0X3NjYWxlLiBNb3ZlIHJlcGVhZGVkbHkgY2FsY3VsYXRlZCBzdHVmZgoJICBvdXQgb2YgbG9vcHMuCgoyMDA3LTA5LTAzIDA3OjQ0OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEltcGxlbWVudCBzZWVrLXF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEltcGxlbWVudCBzZWVrLXF1ZXJ5LgoKMjAwNy0wOC0yOSAyMTo0MzowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIG5ldyBiYXNlc2luayBhc3luYyBwcm9wZXJ0eSB0byBtYWtlIHNwYXJzZSBSVENQIHBhY2tldCBub3Qgd2FpdCBmb3IgcHJlcm9sbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19kdXBfcHJpbnRmKToKCSAgVXNlIG5ldyBiYXNlc2luayBhc3luYyBwcm9wZXJ0eSB0byBtYWtlIHNwYXJzZSBSVENQIHBhY2tldCBub3Qgd2FpdCBmb3IKCSAgcHJlcm9sbC4KCjIwMDctMDgtMjcgMTQ6NDQ6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06IERpc3QgdGhlIHJpZ2h0IGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICBEaXN0IHRoZSByaWdodCBmaWxlLgoKMjAwNy0wOC0yMyAxNjoyNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTWFrZSBzdXJlIHdlIGdlbmVyYXRlIGFuZCBwYXJzZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMgaW4gdGhlIFBPU0lYIGxvY2FsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kdXBfcHJpbnRmKSwKCSAgKGdzdF9ydHNwc3JjX2dldF9mbG9hdCksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgTWFrZSBzdXJlIHdlIGdlbmVyYXRlIGFuZCBwYXJzZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMgaW4gdGhlIFBPU0lYCgkgIGxvY2FsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGxvY2FsZS4KCjIwMDctMDgtMjIgMTU6MDE6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZpeCBtZXRob2QgZGV0ZWN0aW9uIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kb19zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCBtZXRob2QgZGV0ZWN0aW9uIGFnYWluLgoJICBLZWVwIHRyYWNrIG9mIHdoZW4gd2UgbXVzdCBzZW5kIGEgUmFuZ2UgaGVhZGVyLgoJICBVc2Ugc2VnbWVudCB2YWx1ZXMgZm9yIFJhbmdlLCBTcGVlZCBhbmQgU2NhbGUgaGVhZGVycy4KCSAgUGFyc2UgU3BlZWQgYW5kIFNjYWxlIGhlYWRlcnMgdG8gdXBkYXRlIHRoZSBzZWdtZW50IHZhbHVlcy4KCjIwMDctMDgtMjIgMDg6MjI6NTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEhhbmRsZSBvcHRpb25hbCB2NGwyIGlvY3RscyBncmFjZWZ1bGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBIYW5kbGUgb3B0aW9uYWwgdjRsMiBpb2N0bHMgZ3JhY2VmdWxseS4KCjIwMDctMDgtMjAgMTY6NTI6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgYW4gSDI2MyBkZXBheWxvYWRlci4gRml4ZXMgIzM2OTM5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2M19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIEFkZGVkIGFuIEgyNjMgZGVwYXlsb2FkZXIuIEZpeGVzICMzNjkzOTIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfZnJhZ21lbnRhdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpOgoJICBNYWtlIHRoZSBIMjYzKyBwYXkvZGVwYXlsb2FkZXIgc3VwcG9ydCBIMjYzLTE5OTggYW5kIEgyNjMtMjAwMAoJICBwYXlsb2Fkcy4KCSAgQWxzbyBhbG93IHBsYWluIEgyNjMgb24gdGhlIGgyNjNwIHBheWxvYWRlcnMuIEZpeGVzICM0NjUwNDAuCgoyMDA3LTA4LTE5IDE5OjE2OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoKMjAwNy0wOC0xOSAxOToxMTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgd2luZG93ZWQgc2luYyBmaWx0ZXJzIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIHdpbmRvd2VkIHNpbmMgZmlsdGVycyBpbiB0aGUgZG9jcy4KCjIwMDctMDgtMTkgMTk6MDE6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGJwd3NpbmNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGxwd3NpbmNfc3VpdGUpOgoJICBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCjIwMDctMDgtMTkgMTg6NDc6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWxzbyB0ZXN0IDMyIGJpdCBmbG9hdCBtb2RlIGFuZCB0aGUgdHlwZSAyIHZhcmlhbnRzIG9mIHRoZSBmaWx0ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2NoZWJ5c2hldmZyZXFiYW5kX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9jaGVieXNoZXZmcmVxbGltaXRfc3VpdGUpOgoJICBBbHNvIHRlc3QgMzIgYml0IGZsb2F0IG1vZGUgYW5kIHRoZSB0eXBlIDIgdmFyaWFudHMgb2YgdGhlIGZpbHRlcnMuCgoyMDA3LTA4LTE4IDE5OjQ0OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWZhY3RvciB0aGUgdWRwIGFuZCBpbnRlcmxlYXZlZCBsb29wIGZ1bmN0aW9uIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCk6CgkgIFJlZmFjdG9yIHRoZSB1ZHAgYW5kIGludGVybGVhdmVkIGxvb3AgZnVuY3Rpb24gYSBiaXQuCgoyMDA3LTA4LTE3IDE3OjA4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQcm90ZWN0IGNvbm5lY3Rpb24gYWN0aXZpdHkgd2l0aCBhIG5ldyBsb2NrLCBhdm9pZHMgZGVhZGxvY2tzIHdoZW4gZ29pbmcgdG8gUEFVU0VELiBGaXhlcyAjNDU1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFByb3RlY3QgY29ubmVjdGlvbiBhY3Rpdml0eSB3aXRoIGEgbmV3IGxvY2ssIGF2b2lkcyBkZWFkbG9ja3Mgd2hlbiBnb2luZwoJICB0byBQQVVTRUQuIEZpeGVzICM0NTU4MDguCgoyMDA3LTA4LTE3IDE1OjMwOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogRml4IGRlYnVnIHN0YXRlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogKGdzdF9ybmRfYnVmZmVyX3NpemVfbG9vcCk6CgkgIEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA3LTA4LTE3IDE1OjI4OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggc3RyYXkgJXUgaW4gZGVidWcgbGluZSBhcyBzcG90dGVkIGJ5IFNhdXIgb24gSVJDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kb19zdHJlYW1fZW9zKToKCSAgRml4IHN0cmF5ICV1IGluIGRlYnVnIGxpbmUgYXMgc3BvdHRlZCBieSBTYXVyIG9uIElSQy4KCjIwMDctMDgtMTcgMTU6MDU6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKCSAgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYmplY3QgcHJvcGVydGllcwoJICBzbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBVSXMgY2FuIHVzZSBzbGlkZXJzIGFuZCBjaGFuZ2UgZnJlcXVlbmN5CgkgIHByb3BlcnRpZXMgdG8gZmxvYXRzIHRvIHNhdmUgYSBiaXQgb2YgbWVtb3J5LCBldmVuIGludHMgd291bGQgaW4KCSAgdGhlb3J5IGJlIGVub3VnaC4gQWxzbyByZW5hbWUgZnJlcXVlbmN5IHRvIGN1dG9mZiBmb3IgY29uc2lzdGVuY3kKCSAgcmVhc29ucy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgIFJlZ2VuZXJhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4KCjIwMDctMDgtMTcgMTQ6NDM6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2NsYXNzX2luaXQpOgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50CgkgIHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMKCSAgc28gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgVUlzIGNhbiB1c2Ugc2xpZGVycyBhbmQgYWRkIGEgbm90ZSBhYm91dAoJICB0aGUgbnVtYmVyIG9mIHBvbGVzIGFzIGEgdG9vIGhpZ2ggbnVtYmVyIG9mIHBvbGVzIGNvbWJpbmVkIHdpdGgKCSAgdmVyeSBsb3cgb3IgdmVyeSBoaWdoIGZyZXF1ZW5jaWVzIHdpbGwgcHJvZHVjZSBvbmx5IG5vaXNlLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgUmVnZW5lcmF0ZWQgZm9yIHRoZSBwcm9wZXJ0eSBjaGFuZ2VzLgoKMjAwNy0wOC0xNyAxNDoxNToxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSW1wcm92ZSB0aW1lb3V0IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfZmx1c2gpLCAoZ3N0X3J0c3BzcmNfc2lua19jaGFpbiksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcHJvdmUgdGltZW91dCBoYW5kbGluZy4KCSAgVXNlIHRoZSBzYW1lIHNvY2tldCBmb3Igc2VuZGluZyBhbmQgcmVjZWl2aW5nIFJUQ1AgcGFja2V0cyBzbyB0aGF0IHNvbWUKCSAgc2VydmVycyBjYW4gdHJhY2sgY2xpZW50cyBiZXR0ZXIuCgkgIEltcHJvdmUgY29ubmVjdGlvbiBjbG9zZWQgaGFuZGxpbmcuIFRyeSB0byByZWNvbm5lY3QuCgkgIERvbid0IG92ZXJ3cml0ZSBvdXIgY29udGVudCBiYXNlIHdpdGggTlVMTC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIEltcHJvdmUgcmFuZ2UgcGFyc2luZyBhbmQgaGFuZGxpbmcuCgkgIFJlbW92ZSBmbHVzaGluZyBoYWNrIG5vdyB0aGF0IGNvcmUgZG9lcyB0aGUgcmlnaHQgdGhpbmcuCgoyMDA3LTA4LTE3IDEzOjU5OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIHNvY2tldCB0byB1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfY2xvc2UpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBzb2NrZXQgdG8gdXNlLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgdGhlIGN1cnJlbnRseSB1c2VkIHNvY2tldC4KCjIwMDctMDgtMTYgMTk6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zdGFydCksIChicHdzaW5jX3F1ZXJ5KSwKCSAgKGJwd3NpbmNfcXVlcnlfdHlwZSksIChicHdzaW5jX2V2ZW50KSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIFJlc2V0IHJlc2lkdWUgbGVuZ3RoIG9ubHkgd2hlbiBhY3R1YWxseSBjcmVhdGluZyBhIHJlc2lkdWUuCgoyMDA3LTA4LTE2IDE3OjAyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBDaGVieXNoZXYgbG93cGFzcy9oaWdocGFzcyBhbmQgYmFuZHBhc3MvYmFuZHJlamVjdCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9pbml0KSwKCSAgKGdlbmVyYXRlX2JpcXVhZF9jb2VmZmljaWVudHMpLCAoY2FsY3VsYXRlX2dhaW4pLAoJICAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfc2V0dXApLCAocHJvY2VzcyksIChwcm9jZXNzXzY0KSwKCSAgKHByb2Nlc3NfMzIpLCAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3N0YXJ0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2luaXQpLAoJICAoZ2VuZXJhdGVfYmlxdWFkX2NvZWZmaWNpZW50cyksIChjYWxjdWxhdGVfZ2FpbiksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9zZXR1cCksIChwcm9jZXNzKSwgKHByb2Nlc3NfNjQpLAoJICAocHJvY2Vzc18zMiksIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9zdGFydCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBDaGVieXNoZXYgbG93cGFzcy9oaWdocGFzcyBhbmQgYmFuZHBhc3MvYmFuZHJlamVjdCBlbGVtZW50cy4KCSAgRml4ZXMgIzQ2NDgwMC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKHNldHVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQpLCAoY2xlYW51cF9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmRfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKHNldHVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0KSwgKGNsZWFudXBfYXVkaW9jaGVieXNoZXZmcmVxbGltaXQpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9jaGVieXNoZXZmcmVxbGltaXRfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgY2hlYnlzaGV2IGZpbHRlcnMuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICBBbmQgYWRkIGRvY3MgZm9yIHRoZSBjaGVieXNoZXYgZmlsdGVycy4gV2hpbGUgZG9pbmcKCSAgdGhhdCBhbHNvIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgoyMDA3LTA4LTE2IDEyOjE1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlIHJvIG1lbW9yeSB0byBzaGFyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIE1ha2Ugcm8gbWVtb3J5IHRvIHNoYXJlLgoKMjAwNy0wOC0xNiAxMTo0OTowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEltcHJvdmUgVURQIHBlcmZvcm1hbmNlIGJ5IGF2b2lkaW5nIGEgc2VsZWN0KCkgd2hlbiB3ZSBoYXZlIGRhdGEgYXZhaWxhYmxlIGltbWVkaWF0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEltcHJvdmUgVURQIHBlcmZvcm1hbmNlIGJ5IGF2b2lkaW5nIGEgc2VsZWN0KCkgd2hlbiB3ZSBoYXZlIGRhdGEKCSAgYXZhaWxhYmxlIGltbWVkaWF0bHkuCgoyMDA3LTA4LTE2IDExOjQ3OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IEFkZCAoZHVtbXkpIFNTUkMgbWFuYWdlbWVudCBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX21hcnNoYWxfVk9JRF9fVUlOVF9VSU5UKSwKCSAgKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBBZGQgKGR1bW15KSBTU1JDIG1hbmFnZW1lbnQgc2lnbmFscy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZmluZF9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChuZXdfc2Vzc2lvbl9wYWQpLAoJICAocmVxdWVzdF9wdF9tYXApLCAoZ3N0X3J0c3BzcmNfZG9fc3RyZWFtX2VvcyksIChvbl9ieWVfc3NyYyksCgkgIChvbl90aW1lb3V0KSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fcHVzaF9ldmVudCksIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkuCgkgIEFkZCBmaW5kX3N0cmVhbSBoZWxwZXIgZnVuY3Rpb25zLgoJICBIYW5kbGUgc3RyZWFtIEVPUyBiYXNlZCBvbiBCWUUgbWVzc2FnZXMgb3IgU1NSQyB0aW1lb3V0LgoJICBSZXR1cm5zIFNVQ0NFU1MgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFzIHdlIGhpZGUgb3VyIGFzeW5jCgkgIGVsZW1lbnRzIGZyb20gdGhlIHBhcmVudC4KCjIwMDctMDgtMTYgMDk6NDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAobHB3c2luY190cmFuc2Zvcm0pLCAobHB3c2luY19zdGFydCksIChscHdzaW5jX3F1ZXJ5KSwKCSAgKGxwd3NpbmNfcXVlcnlfdHlwZSksIChscHdzaW5jX2V2ZW50KSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgoyMDA3LTA4LTE2IDA3OjQwOjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBGaXggZGEgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSAgRml4IGRhIGxlYWsuCgoyMDA3LTA4LTE0IDEzOjUwOjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvOiBBZGQgbmV3IHRlc3QgZWxlbWVudCBhbmQgY2xlYW4tdXAgdGhlIG90aGVycyBhIGxpdHRsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgQWRkIG5ldyB0ZXN0IGVsZW1lbnQgYW5kIGNsZWFuLXVwIHRoZSBvdGhlcnMgYSBsaXR0bGUuCgoyMDA3LTA4LTEzIDEzOjUwOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0gaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlIGFsbCBvdGhlciBkb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0KCSAgaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlCgkgIGFsbCBvdGhlciBkb2NzIHZpYSBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgoyMDA3LTA4LTEyIDIwOjU1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgoyMDA3LTA4LTEyIDIwOjUzOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoc2V0dXBfYnB3c2luYyksCgkgIChjbGVhbnVwX2Jwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYnB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCjIwMDctMDgtMTIgMjA6MTk6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChzZXR1cF9scHdzaW5jKSwKCSAgKGNsZWFudXBfbHB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChscHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoKMjAwNy0wOC0xMiAxNTo0MTo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTA4LTEyIDE0OjM1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBtcDRhIHZlcnNpb24gMCBhdG9tcy4gRml4ZXMgIzQ2NTc3NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9ub2RlKToKCSAgRml4IHBhcnNpbmcgb2YgbXA0YSB2ZXJzaW9uIDAgYXRvbXMuIEZpeGVzICM0NjU3NzQuCgoyMDA3LTA4LTEyIDEyOjQ2OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZSBvbiBzdHJlYW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGJwd3NpbmNfc3RhcnQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChscHdzaW5jX3N0YXJ0KToKCSAgUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZQoJICBvbiBzdHJlYW0gY2hhbmdlcy4KCjIwMDctMDgtMTEgMTU6NTg6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyIGtlcm5lbCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyCgkgIGtlcm5lbCBzaXplLgoKMjAwNy0wOC0xMCAxNzowODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogSW5jbHVkZSBzdGRsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgIEluY2x1ZGUgc3RkbGliLgoKMjAwNy0wOC0xMCAxNjoxMDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogU2V0IHRoZSBtcGVndmVyc2lvbiBpbiB0aGUgY2FwcyBzbyB0aGF0IGF1dG9wbHVnZ2luZyBkb2VzIG5vdCBnZXQgY29uZnVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgU2V0IHRoZSBtcGVndmVyc2lvbiBpbiB0aGUgY2FwcyBzbyB0aGF0IGF1dG9wbHVnZ2luZyBkb2VzIG5vdCBnZXQKCSAgY29uZnVzZWQuCgoyMDA3LTA4LTEwIDA1OjUxOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkCgkgIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgYnVmZmVyLgoKMjAwNy0wOC0xMCAwNTozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93IGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYnB3c2luY193aW5kb3dfZ2V0X3R5cGUpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cKCSAgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQW5kIGFub3RoZXIgc21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA1OjIwOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX2dldF91bml0X3NpemUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIC0gU3VwcG9ydCBkb3VibGUgaW5wdXQKCSAgLSBGaXggcHJvY2Vzc2luZyBmb3IgaW5wdXQgd2l0aCA+MSBjaGFubmVscwoJICAtIFNwZWNpZnkgZnJlcXVlbmN5IGluIEh6CgkgIC0gU3BlY2lmeSBhY3R1YWwgZmlsdGVyIGtlcm5lbCBsZW5ndGgKCSAgLSBVc2UgdHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwIGFzIHdlJ3JlIHdvcmtpbmcKCSAgb3V0IG9mIHBsYWNlIGFueXdheQoJICAtIEZhY3RvciBvdXQgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIGFuZCB1cGRhdGUgdGhlIGZpbHRlcgoJICBrZXJuZWwgd2hlbiB0aGUgcHJvcGVydGllcyBhcmUgc2V0CgkgIEZpeCBiYW5kcGFzcyBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gdG8gYWN0dWFsbHkgZ2VuZXJhdGUKCSAgYSBiYW5kcGFzcyBmaWx0ZXIgYnkgY3JlYXRpbmcgYSBoaWdocGFzcyBpbnN0ZWFkIG9mIGEgc2Vjb25kCgkgIGxvd3Bhc3MuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgU21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA0OjQ0OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkCgkgIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8gdGhlIG5leHQgb2RkIG51bWJlci4KCSAgQWxzbyByZW1vdmUgbm93IG9ic29sZXRlIEZJWE1Fcy4KCjIwMDctMDgtMTAgMDQ6MzI6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuCgkgIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdG9wYmFuZCBhdHRlbnVhdGlvbiBidXQgYSBiaXQgc2xvd2VyCgkgIHJvbGxvZmYuCgoyMDA3LTA4LTEwIDA0OjIxOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGEgaGlnaHBhc3MgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGEgaGlnaHBhc3MgbW9kZS4KCjIwMDctMDgtMTAgMDQ6MDY6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCjIwMDctMDgtMDkgMTk6MjM6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgQWRkIFRPRE9zIGFuZCBGSVhNRXMgYW5kIHJlbW92ZSB0d28gd3JvbmcgRklYTUVzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgRklYTUVzIGFuZCBhIG5ldyBUT0RPLgoKMjAwNy0wOC0wOSAxODowODowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lciBpcyBhIEMrKyBrZXl3b3JkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLAoJICAocHJvY2Vzc182NCksIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldHVwKSwKCSAgKGxwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksIChscHdzaW5jX3RyYW5zZm9ybSksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lcgoJICBpcyBhIEMrKyBrZXl3b3JkLgoJICBJbXBsZW1lbnQgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBpbiBIeiBpbnN0ZWFkIG9mIGZyYWN0aW9uCgkgIG9mIHNhbXBsaW5nIGZyZXF1ZW5jeS4KCSAgUmVtb3ZlIHNvbWUgdW5lY2Vzc2FyeSBGSVhNRXMgYW5kIGFkZCBzb21lIFRPRE9zLCBhZGQgc29tZQoJICByZXF1aXJlZCBsb2NraW5nIGFuZCByZWZhY3RvciB0aGUga2VybmVsIGdlbmVyYXRpb24gaW50byBhCgkgIHNlcGFyYXRlIGZ1bmN0aW9uIHRoYXQgaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgcHJvcGVydGllcwoJICBjaGFuZ2Ugbm93LgoJICBBbmQgdXNlIEJhc2VUcmFuc2Zvcm06OnRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcAoJICBhcyB0aGUgY29udm9sdXRpb24gaXMgZG9uZSBvdXQgb2YgcGxhY2UgYW55d2F5LiBTaG91bGQKCSAgYmUgZG9uZSBpbiBwbGFjZSBsYXRlci4KCjIwMDctMDgtMDkgMTA6NTQ6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vaHUucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOC0wOCAyMDo0NzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkKCSAgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgoyMDA3LTA4LTA4IDE3OjQ3OjA1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogUmVuZGVyIHJpZ2h0IGJvcmRlciBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2F5dXZfaTQyMCk6CgkgIFJlbmRlciByaWdodCBib3JkZXIgaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24uCgoyMDA3LTA4LTA4IDEwOjU0OjUwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IE1ha2UgbW9kZSBwcm9wZXJ0eSBhIHN0cmluZy4gRml4ZXMgIzQ2NDQ3NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgIE1ha2UgbW9kZSBwcm9wZXJ0eSBhIHN0cmluZy4gRml4ZXMgIzQ2NDQ3NS4KCjIwMDctMDgtMDUgMTQ6NTg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogV2lkZW4gY2FwcyB0byBtYXRjaCBkZWNvZGVyIGEgYml0IGFuZCBhZGQgbW9yZSBGSVhNRXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgV2lkZW4gY2FwcyB0byBtYXRjaCBkZWNvZGVyIGEgYml0IGFuZCBhZGQgbW9yZSBGSVhNRXMuCgoyMDA3LTA4LTA1IDE0OjUzOjM2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4IE9ETUwgaW5kZXggdGFnIG51bWJlcmluZy4gRml4ZXMgIzQ2MzYyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEZpeCBPRE1MIGluZGV4IHRhZyBudW1iZXJpbmcuIEZpeGVzICM0NjM2MjQuCgoyMDA3LTA4LTAzIDE2OjA4OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggZGVmYXVsdCBjbG9jay1yYXRlIGZvciByZWFsbWVkaWEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdldF9kZWZhdWx0X3JhdGVfZm9yX3B0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICBGaXggZGVmYXVsdCBjbG9jay1yYXRlIGZvciByZWFsbWVkaWEuCgkgIEZpeCBwYXJzaW5nIG9mIHRyYW5zcG9ydC4KCSAgRG9uJ3QgdHJ5IHRvIGxpbmsgTlVMTCBwYWRzLgoKMjAwNy0wNy0zMCAxNzoxNzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLnNraXA6IEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZSBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUKCSAgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWJsZSBzdHJpbmdzLiBTaG91bGQgaG9wZWZ1bGx5IHBhY2lmeQoJICBicm9rZW4gdG9vbHMgYW5kIG1ha2UgaXQgY2xlYXJlciB0aGF0IHRoZXNlIGZpbGVzIGFyZSBsZWZ0IG91dAoJICBpbnRlbnRpb25hbGx5ICgjNDYxNjAwKS4KCjIwMDctMDctMzAgMTI6NDE6NTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IElmIHRoZSBidWZmZXIgd2FzIGVudGlyZWx5IGNsaXBwZWQgLi4uIGRvbid0IHRyeSBzZW5kaW5nIGl0IDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBJZiB0aGUgYnVmZmVyIHdhcyBlbnRpcmVseSBjbGlwcGVkIC4uLiBkb24ndCB0cnkgc2VuZGluZyBpdCA6KQoKMjAwNy0wNy0yNyAxNjo1Njo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWYgd2UgZG9uJ3QgaGF2IGEgc2Vzc2lvbiBtYW5hZ2VyLCBzZXQgdGhlIGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycyBvdXJzZWx2ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wcmVwYXJlX3RyYW5zcG9ydHMpOgoJICBJZiB3ZSBkb24ndCBoYXYgYSBzZXNzaW9uIG1hbmFnZXIsIHNldCB0aGUgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzCgkgIG91cnNlbHZlcy4KCSAgRm9yY2UgUEFVU0UvUExBWSBtZXRob2RzIGZvciBub3cgdW50aWwgdGhlIGV4dGVuc2lvbnMgY2FuIG92ZXJ3cml0ZS4KCSAgQXBwZW5kIGZpbmFsIGJpdCBvZiB0aGUgdHJhbnNwb3J0IHN0cmluZyBldmVuIHdoZW4gaXQgZG9lcyBub3QgY29udGFpbiBhCgkgIHBsYWNlaG9sZGVyLgoKMjAwNy0wNy0yNyAxMToyMToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQ2xlYW4gdXAgdGhlIGludGVyZmFjZSBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6IChnc3RfcnRzcF9leHRfbGlzdF9mcmVlKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2Nvbm5lY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX3NlbmRfY2IpOgoJICBDbGVhbiB1cCB0aGUgaW50ZXJmYWNlIGxpc3QuCgkgIEFsbG93IGNvbm5lY3RpbmcgdG8gaW50ZXJmYWNlIHNpZ25hbHMgZm9yIHRoZSBleHRlbnNpb25zLgoJICBSZW1vdmUgb2xkIGV4dGVuc2lvbiBjb2RlLgoJICBGcmVlIGxpc3Qgb24gY2xlYW51cC4KCSAgQWxsb3cgZXh0ZW5zaW9ucyB0byBzZW5kIGFkZGl0aW9uYWwgUlRTUCBtZXNzYWdlcy4KCjIwMDctMDctMjcgMTA6Mzg6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2djb25mLmM6IEhhbmRsZSBhIE5VTEwgZ2NvbmYga2V5IGdyYWNlZnVsbHkgYnkgcmVuZGVyaW5nIHRoZSBkZWZhdWx0IGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgSGFuZGxlIGEgTlVMTCBnY29uZiBrZXkgZ3JhY2VmdWxseSBieSByZW5kZXJpbmcgdGhlIGRlZmF1bHQgZWxlbWVudC4KCjIwMDctMDctMjcgMTA6MTE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6IEZpeCBpbmNsdWRlIHBhdGggZm9yIGV4dGVuc2lvbiBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgRml4IGluY2x1ZGUgcGF0aCBmb3IgZXh0ZW5zaW9uIGludGVyZmFjZS4KCjIwMDctMDctMjYgMTk6NDU6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOiBBbHNvIHJlbW92ZSBhIG5vdyB1bmVjZXNzYXJ5IHZhcmlhYmxlIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJICBBbHNvIHJlbW92ZSBhIG5vdyB1bmVjZXNzYXJ5IHZhcmlhYmxlIGhlcmUuCgoyMDA3LTA3LTI2IDE5OjQxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IERvbid0IHNhdmUgZm9ybWF0IGluZm9ybWF0aW9uIG91cnNlbHZlcywgdGhpcyBpcyBhbHJlYWR5IHNhdmVkIGluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXR1cCksIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfaW5pdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY19zZXR1cCksIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9zZXR1cCksIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuaDoKCSAgRG9uJ3Qgc2F2ZSBmb3JtYXQgaW5mb3JtYXRpb24gb3Vyc2VsdmVzLCB0aGlzIGlzIGFscmVhZHkgc2F2ZWQgaW4KCSAgR3N0QXVkaW9GaWx0ZXIuCgoyMDA3LTA3LTI2IDE1OjQ4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBVc2UgcmFuayB0byBmaWx0ZXIgb3V0IGV4dGVuc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzogKGdzdF9ydHNwX2V4dF9saXN0X2ZpbHRlciksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9zdHJlYW1fc2VsZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIFVzZSByYW5rIHRvIGZpbHRlciBvdXQgZXh0ZW5zaW9ucy4KCSAgQWRkIHVybCB0byBzdHJlYW1fc2VsZWN0IGludGVyZmFjZSBjYWxsLgoKMjAwNy0wNy0yNSAxODo1MDowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogVXNlIHNoaW55IG5ldyBSVFNQIGFuZCBTRFAgbGlicmFyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvYmFzZTY0LmM6CgkgICogZ3N0L3J0c3AvYmFzZTY0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOiAoZ3N0X3J0c3BfZXh0X2xpc3RfZmlsdGVyKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2luaXQpLCAoZ3N0X3J0c3BfZXh0X2xpc3RfZ2V0KSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2RldGVjdF9zZXJ2ZXIpLCAoZ3N0X3J0c3BfZXh0X2xpc3RfYmVmb3JlX3NlbmQpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfYWZ0ZXJfc2VuZCksIChnc3RfcnRzcF9leHRfbGlzdF9wYXJzZV9zZHApLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3Rfc2V0dXBfbWVkaWEpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfY29uZmlndXJlX3N0cmVhbSksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9nZXRfdHJhbnNwb3J0cyksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9zdHJlYW1fc2VsZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfbG93ZXJfdHJhbnNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfZmx1c2gpLCAoZ3N0X3J0c3BzcmNfZG9fc2VlayksCgkgIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksIChnc3RfcnRzcF9hdXRoX21ldGhvZF90b19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3ByZXBhcmVfdHJhbnNwb3J0cyksIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLAoJICAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmM6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmg6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICAqIGdzdC9ydHNwL3NkcC5oOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvdGVzdC5jOgoJICBVc2Ugc2hpbnkgbmV3IFJUU1AgYW5kIFNEUCBsaWJyYXJ5LgoJICBJbXBsZW1lbnQgUlRTUCBleHRlbnNpb25zIHVzaW5nIHRoZSBuZXcgaW50ZXJmYWNlLgoJICBSZW1vdmUgYSBsb3Qgb2Ygb2xkIGNvZGUuCgoyMDA3LTA3LTI0IDE0OjMxOjU2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgY29kZWMgbWFwcGluZyBmb3IgJzJ2dXknIChSYXcgWVVWIHByb2R1Y2VkIGJ5IEZDUCkgYW5kICdkaXZ4Jy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIGNvZGVjIG1hcHBpbmcgZm9yICcydnV5JyAoUmF3IFlVViBwcm9kdWNlZCBieSBGQ1ApIGFuZCAnZGl2eCcuCgoyMDA3LTA3LTI0IDA1OjA3OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IERvbid0IHVucmVmIHRoZSBvdXRnb2luZyBidWZmZXIgdHdpY2Ugd2hlbiBkcm9wcGluZyBpdCBiZWNhdXNlIGl0J3Mgb3V0c2lkZSBvZiB0aGUgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRG9uJ3QgdW5yZWYgdGhlIG91dGdvaW5nIGJ1ZmZlciB0d2ljZSB3aGVuIGRyb3BwaW5nIGl0IGJlY2F1c2UgaXQncwoJICBvdXRzaWRlIG9mIHRoZSBzZWdtZW50LgoKMjAwNy0wNy0yNCAwNDo1NzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpOgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZAoJICByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRm9yIGZyYW1lZCBXYXZwYWNrIGJ1ZmZlcnMgd2UgcmVxdWlyZSBhIHZhbGlkIHRpbWVzdGFtcC4KCjIwMDctMDctMjMgMTg6MDM6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsaXAgcmF3IGF1ZGlvIGFuZCB2aWRlbyB3aGVuIHdlIGNhbiwga2VlcCB0cmFjayBvZiBjdXJyZW50IG91dHB1dCBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NsaXBfYnVmZmVyKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBDbGlwIHJhdyBhdWRpbyBhbmQgdmlkZW8gd2hlbiB3ZSBjYW4sIGtlZXAgdHJhY2sgb2YgY3VycmVudCBvdXRwdXQKCSAgc2VnbWVudC4KCSAgRG9uJ3QgbGVhayBidWZmZXJzIGFuZCBldmVudHMgd2hlbiB0aGVyZSBpcyBubyBvdXRwdXQgcGFkLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBoZXJlIGFuZCB0aGVyZS4KCjIwMDctMDctMjMgMDk6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgoyMDA3LTA3LTIwIDExOjM3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbSBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20KCSAgaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvcmsgdGhlIGdhaW4gbWFwcGluZy4KCjIwMDctMDctMjAgMDc6NDE6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOiBGaXggQ0ZMQUdTL0xJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICBGaXggQ0ZMQUdTL0xJQlMuCgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKToKCSAgSW5jbHVkZSBzdGRsaWIKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJICBVc2UgJChMSUJNKSBpbnN0ZWFkIG9mIC1sbQoKMjAwNy0wNy0xOCAxMTo1NToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgYW5vdGhlciBleGFtcGxlIHBpcGVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZCBhbm90aGVyIGV4YW1wbGUgcGlwZWxpbmUuCgoyMDA3LTA3LTE4IDExOjQyOjMzICswMDAwICBBbGV4YW5kZXIgRWljaG5lciA8YWxleGVpY2hpQHlhaG9vLmRlPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBVc2UgZGVmaW5lIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxleGFuZGVyIEVpY2huZXIgPGFsZXhlaWNoaUB5YWhvby5kZT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgVXNlIGRlZmluZSBoZXJlLgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2ZyZXF1ZW5jeV9hbmRfbm90aWZ5KToKCSAgRG9uJ3QgdG91Y2ggdGhlIHByb3BlcnR5IC0gaXRzIHN0aWxsIGRpc2FibGVkLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBJbXByb3ZlIGZhbGxiYWNrIGZvcm1hdCBuZWdvdGlvbmF0aW9uLiBGaXhlcyAjNDUxMzg4CgoyMDA3LTA3LTE4IDEwOjMzOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogRml4IHRoZSB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IHRoZSB0ZXN0LgoKMjAwNy0wNy0xOCAwOToyMToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBkb2NzLiBNb3JlIGxvZ3MgaW4gcG5nZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKSwKCSAgKGdzdF9wbmdkZWNfc2lua19zZXRjYXBzKToKCSAgTW9yZSBkb2NzLiBNb3JlIGxvZ3MgaW4gcG5nZGVjLgoKMjAwNy0wNy0xOCAwNzo1MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgoyMDA3LTA3LTE4IDA3OjM1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoKMjAwNy0wNy0xNyAxMTozNToyOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbml0aWFsaXplIG51bV9idWZmZXJzIHdpdGggbWluaW11bSB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgIEluaXRpYWxpemUgbnVtX2J1ZmZlcnMgd2l0aCBtaW5pbXVtIHZhbHVlLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBIYW5kbGUgZnJhbWUtc2l6ZSBxdWVyeSBmYWlsdXJlIGdyYWNlZnVsbHkuCgoyMDA3LTA3LTE2IDEyOjExOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBlc2RzIGF0b21zIGluc2lkZSBtcDRhIGF0b21zIHNvIHRoYXQgd2UgY2FuIHNldCBjb3JyZWN0IGNvZGVjX2luZm8gZm9yIEFBQyBhdWRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfbm9kZSk6CgkgIEZpeCBwYXJzaW5nIG9mIGVzZHMgYXRvbXMgaW5zaWRlIG1wNGEgYXRvbXMgc28gdGhhdCB3ZSBjYW4gc2V0IGNvcnJlY3QKCSAgY29kZWNfaW5mbyBmb3IgQUFDIGF1ZGlvLiBGaXhlcyAjNDU3MDk3IGFsb25nIHdpdGggYSB3aG9sZSBvdGhlciBidW5jaAoJICBvZiBxdC9hYWMgZmlsZXMuCgoyMDA3LTA3LTE2IDA5OjE2OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKToKCSAgRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNy0wNy0xMyAxNjozMToyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IKCSAgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLAoJICBhbmQgd2Ugd2VyZW4ndCBhY3R1YWxseSBfdXNpbmdfIHRoZSBpbmZvcm1hdGlvbiBmb3IgbGliY2hlY2sKCSAgb3Vyc2VsdmVzIGFueXdheS4KCjIwMDctMDctMTIgMTE6MjE6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCjIwMDctMDctMTEgMjM6NDM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKHZtbmNfbWFrZV9idWZmZXIpOgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCjIwMDctMDctMTEgMjI6MzE6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3RyYW5zZm9ybSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZ3N0X25hdmlnYXRpb250ZXN0X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzogKGdzdF9hZ2luZ3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOiAoZ3N0X2RpY2V0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzogKGdzdF9lZGdldHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzogKGdzdF9yZXZ0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzogKGdzdF9zaGFnYWRlbGljdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6IChnc3RfdmVydGlnb3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOiAoZ3N0X3dhcnB0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9fZmxpcF90cmFuc2Zvcm0pOgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCjIwMDctMDctMTAgMTA6MTY6MzggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gcHVzaGluZyBhbiBldmVudCByZXR1cm5zIEZBTFNFLiBXZSBkb24ndCBoYXZlIGVub3VnaCBncmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBwdXNoaW5nIGFuIGV2ZW50IHJldHVybnMgRkFMU0UuIFdlCgkgIGRvbid0IGhhdmUgZW5vdWdoIGdyYW51bGFyaXR5IHRvIGNvbnZlcnQgdGhhdCBib29sZWFuIGludG8gYQoJICBHc3RGbG93UmV0dXJuLgoKMjAwNy0wNy0wNiAxNTowMDo0NyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xhdy86IEZpeCBjYXBzbmVnbyBib2dvc2l0eSBpbiAqbGF3IGRlY29kZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChhbGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfYWxhd2RlY19jbGFzc19pbml0KSwgKGdzdF9hbGF3ZGVjX2luaXQpLCAoZ3N0X2FsYXdkZWNfY2hhaW4pLAoJICAoZ3N0X2FsYXdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXVsYXdkZWNfY2xhc3NfaW5pdCksIChnc3RfbXVsYXdkZWNfaW5pdCksCgkgIChnc3RfbXVsYXdkZWNfY2hhaW4pLCAoZ3N0X211bGF3ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgRml4IGNhcHNuZWdvIGJvZ29zaXR5IGluICpsYXcgZGVjb2RlcnMuCgoyMDA3LTA3LTA2IDE0OjM1OjU5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy4qOiBSZW1vdmUgc3R1cGlkaXR5IGluIGdldC9zZXQgY2FwcyBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfaW5pdCksCgkgIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksIChnc3Rfc21va2VlbmNfY2hhaW4pLAoJICAoZ3N0X3Ntb2tlZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgUmVtb3ZlIHN0dXBpZGl0eSBpbiBnZXQvc2V0IGNhcHMgZnVuY3Rpb25zLgoJICBGaXggc29tZSByZWZjb3VudGluZyBwcm9ibGVtcy4KCjIwMDctMDctMDYgMTE6NDI6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogUmVtb3ZlIGVuZGlhbm5lc3MtZmxpcHBpbmcgaGFjayB0aGF0IHNlZW1zIHRvIGhhdmUgYmVlbiByZXF1aXJlZCBvbmx5IGJlY2F1c2Ugb2YgYSBidWcgaW4gZmZtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICBSZW1vdmUgZW5kaWFubmVzcy1mbGlwcGluZyBoYWNrIHRoYXQgc2VlbXMgdG8gaGF2ZSBiZWVuIHJlcXVpcmVkCgkgIG9ubHkgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBmZm1wZWdjb2xvcnNwYWNlLgoJICBQYXJ0aWFsbHkgRml4ZXM6ICM0NTE5MDgKCjIwMDctMDctMDUgMDg6NDQ6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCjIwMDctMDctMDMgMDk6NTk6NDYgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogU2V0IHRoZSBlbmNvZGluZy1uYW1lIGluIHRoZSBydHAgY2FwcyB0byBhbGwgdXBwZXJjYXNlLCBhcyByZXF1aXJlZCBieSB0aGUgY2FwcyBzcGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgU2V0IHRoZSBlbmNvZGluZy1uYW1lIGluIHRoZSBydHAgY2FwcyB0byBhbGwgdXBwZXJjYXNlLCBhcyByZXF1aXJlZCBieQoJICB0aGUgY2FwcyBzcGVjLgoJICBTb21lIHNtYWxsIGNsZWFudXBzIGluIHRoZSBlcnJvciBwYXRocy4gRml4ZXMgIzQ1MzAzNy4KCjIwMDctMDctMDMgMDg6MDE6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvOiBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCjIwMDctMDctMDMgMDc6MTY6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6IEZpeCBHT2JqZWN0IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNy0wNi0yOCAxOTowMDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLio6IFVzZSBhIEdTTGlzdCBmb3IgdGhlIEdBcnJheSB0aGF0IGlzIHVzZWQgbGlrZSBhIGxpc3QgYW55d2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9sYXN0X2VudHJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFVzZSBhIEdTTGlzdCBmb3IgdGhlIEdBcnJheSB0aGF0IGlzIHVzZWQgbGlrZSBhIGxpc3QgYW55d2F5LgoKMjAwNy0wNi0yOCAxMzoyNTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBBZGQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZXJlIHdlIHNldCAwLzEgYXMgZGVmYXVsdCBmcmFtZXJhdGUgaW4gY2FzZSBvdXIgc2V0Y2FwcyBmdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZXZlbnQpLCAoZ3N0X2dka19waXhidWZfY2hhbmdlX3N0YXRlKToKCSAgQWRkIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVyZSB3ZSBzZXQgMC8xIGFzIGRlZmF1bHQgZnJhbWVyYXRlIGluCgkgIGNhc2Ugb3VyIHNldGNhcHMgZnVuY3Rpb24gaXNuJ3QgY2FsbGVkLCBsaWtlIGl0IG1pZ2h0IG5vdCBpbiBhCgkgIGZpbGVzcmMgISBnZGtwaXhidWZkZWMgc2NlbmFyaW8uIEZpeGVzIGFzc2VydGlvbiB0cmlnZ2VyZWQgYnkKCSAgZ2RrcGl4YnVmZGVjIHRyeWluZyB0byBjcmVhdGUgY2FwcyB3aXRoIGEgMC8wIGZyYW1lcmF0ZS4KCSAgQWxzbyBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBnc3RfcGFkX3B1c2goKSBmYWlscyB3aGVuCgkgIGNhbGxlZCBmcm9tIG91ciBzaW5rIGV2ZW50IGhhbmRsZXIgKCsxIGZvciBmbG93IHJldHVybnMgZm9yIGV2ZW50CgkgIGZ1bmN0aW9ucyBpbiAwLjExKSBpbnN0ZWFkIG9mIGZhaWxpbmcgc2lsZW50bHkuCgoyMDA3LTA2LTI3IDExOjM2OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDYXN0IHN0YWNrIGFyZ3MgdG8gdGhlIHByb3BlciB0eXBlcy4gRml4ZXMgIzQ1MTI0OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpOgoJICBDYXN0IHN0YWNrIGFyZ3MgdG8gdGhlIHByb3BlciB0eXBlcy4gRml4ZXMgIzQ1MTI0OS4KCjIwMDctMDYtMjcgMTE6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZvciBjb250YWluZXIgZm9ybWF0cyB3ZSBvbmx5IG5lZWQgdG8gYWN0aXZhdGUgb25lIG9mIHRoZSBzdHJlYW1zIHNvIHRoYXQgd2UgY29ycmVjdGx5IHNpZ25hbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGb3IgY29udGFpbmVyIGZvcm1hdHMgd2Ugb25seSBuZWVkIHRvIGFjdGl2YXRlIG9uZSBvZiB0aGUgc3RyZWFtcyBzbwoJICB0aGF0IHdlIGNvcnJlY3RseSBzaWduYWwgbm8tbW9yZS1wYWRzLiBGaXhlcyAjNDUxMDE1LgoKMjAwNy0wNi0yNSAxMjo0NjowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCjIwMDctMDYtMjUgMTI6MTM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogQWRkIG1vcmUgZmlsZXMgd2l0aCB0cmFuc2xhdGFibGUgc3RyaW5ncyAoIzQ1MDg3OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0YWJsZSBzdHJpbmdzICgjNDUwODc4KS4KCjIwMDctMDYtMjIgMjA6MjM6MTggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC86IEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIEZpeGVzICM0NTAxODUuCgoyMDA3LTA2LTIyIDE0OjI2OjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1BSU5UQUlORVJTOiBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1BSU5UQUlORVJTOgoJICBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgoyMDA3LTA2LTIyIDEwOjEyOjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgRml4IG1lbW9yeSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX2luaXQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZGVpbnRlcmxlYXZlX3NpbmtfbGluayk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOiAoZ3N0X21lZGlhbl9pbml0KToKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aWZpbGVzcmNfaW5pdCk6CgkgIEZpeCBtZW1vcnkgbGVha3MuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzogKHBhZF9hZGRlZF9jYik6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA3LTA2LTIxIDEwOjQ4OjEwICswMDAwICBEYW1pZW4gQ2FyYmVyeSA8ZGFtaWVuLmNhcmJlcnlAc3VuLmNvbT4KCgkgIGV4dC9nY29uZi9nY29uZi5oOiBNYWtlIHRoZSBwcm90b3R5cGUgb2YgZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZSBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICBNYWtlIHRoZSBwcm90b3R5cGUgb2YgZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZQoJICBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24uCgkgIFBhdGNoIGJ5OiBEYW1pZW4gQ2FyYmVyeSA8ZGFtaWVuIGRvdCBjYXJiZXJ5IGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzQ0OTc0NwoKMjAwNy0wNi0yMCAxMjo1NjoxMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBkZXBheS5jOiBGaXggZGVzY3JpcHRpb24gLSBydHBkZXBheSBpcyBub3QgYSBwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgRml4IGRlc2NyaXB0aW9uIC0gcnRwZGVwYXkgaXMgbm90IGEgcGF5bG9hZGVyLgoKMjAwNy0wNi0yMCAxMDoxNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoKMjAwNy0wNi0yMCAwODo1NjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbGVha2luZyBidWZmZXJzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChzZXR1cF9zcGVjdHJ1bSksCgkgIChjbGVhbnVwX3NwZWN0cnVtKSwgKEdTVF9TVEFSVF9URVNUKSwgKHNwZWN0cnVtX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc2ltcGxlIHRlc3QgZm9yIHNwZWN0cnVtIGVsZW1lbnQuCgoyMDA3LTA2LTIwIDA4OjI2OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC86IEFkZCBNSlBHIHRvIHRoZSB2YXJpYW50cyBvZiBtb3Rpb24ganBlZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgQWRkIE1KUEcgdG8gdGhlIHZhcmlhbnRzIG9mIG1vdGlvbiBqcGVnLgoKMjAwNy0wNi0xOSAxNjo0MDo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIEdTVF9PUFRJT05fQ0ZMQUdTIHRvIENGTEFHUyB3aGVuIGJ1aWxkaW5nIHVuaXQgdGVzdHMsIHNvIHRoZSBlcnJvciBmbGFncyBhcmUgaW5jbHVkZWQgYW5kIGl0IGVycm9ycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCBHU1RfT1BUSU9OX0NGTEFHUyB0byBDRkxBR1Mgd2hlbiBidWlsZGluZyB1bml0IHRlc3RzLCBzbyB0aGUKCSAgZXJyb3IgZmxhZ3MgYXJlIGluY2x1ZGVkIGFuZCBpdCBlcnJvcnMgb3V0IG9uIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGZvciBDVlMgYnVpbGRzOyByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBpbiB2YXJpb3VzIHVuaXQgdGVzdHMuCgoyMDA3LTA2LTE5IDE0OjQ4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogVXNlIHRocmVhZHNhZmUgaW5ldF9udG9wIHRvIGNvbnZlcnQgYW4gaXAgbnVtYmVyIHRvIGEgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKSwgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgVXNlIHRocmVhZHNhZmUgaW5ldF9udG9wIHRvIGNvbnZlcnQgYW4gaXAgbnVtYmVyIHRvIGEgc3RyaW5nLgoJICBGaXhlcyAjNDQ3OTYxLgoJICBEb24ndCBsZWFrIGZkIChhbmQgaXApIHdoZW4gZnJlZWluZyBhIGNvbm5lY3Rpb24gd2l0aG91dCBmaXJzdCBjbG9zaW5nCgkgIGl0LgoKMjAwNy0wNi0xOSAxNDoxMTo0OSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0L3F0ZGVtdXgvTEVHQUw6CgkgIGFkZCAnTEVHQUwnIGZpbGUgZGVzY3JpYmluZyB3aHkgdGhpcyBpcyBpbiAtZ29vZCBhbmQgdW5kZXIgd2hhdCBjaXJjdW1zdGFuY2VzIGl0IG1pZ2h0IG5lZWQgdG8gbW92ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCAnTEVHQUwnIGZpbGUgZGVzY3JpYmluZyB3aHkgdGhpcyBpcyBpbiAtZ29vZCBhbmQgdW5kZXIgd2hhdAoJICBjaXJjdW1zdGFuY2VzIGl0IG1pZ2h0IG5lZWQgdG8gbW92ZS4KCjIwMDctMDYtMTkgMTA6NDE6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgMC4xMC42IHRvIHRoZSBkb2FwIGZpbGUuCgo9PT0gcmVsZWFzZSAwLjEwLjYgPT09CgoyMDA3LTA2LTE5IDEwOjI0OjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC42CgoyMDA3LTA2LTE4IDE3OjUzOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDctMDYtMTcgMTI6MzU6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0IGFnYWluLCBzaW5jZSB3ZSBhcmUgZnJvemVuIChzb3JyeSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIFJldmVydCBwcmV2aW91cyBjb21taXQgYWdhaW4sIHNpbmNlIHdlIGFyZSBmcm96ZW4gKHNvcnJ5KS4KCjIwMDctMDYtMTcgMTI6MjQ6NTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogaW5ldF9udG9hKCkgdXNlcyBhIHN0YXRpYyBidWZmZXIgaW50ZXJuYWxseSwgc28gd2UgbmVlZCB0byBjb3B5IHRoZSByZXR1cm5lZCBzdHJpbmcgaWYgd2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgaW5ldF9udG9hKCkgdXNlcyBhIHN0YXRpYyBidWZmZXIgaW50ZXJuYWxseSwgc28gd2UgbmVlZCB0byBjb3B5IHRoZQoJICByZXR1cm5lZCBzdHJpbmcgaWYgd2Ugd2FudCB0byBzdG9yZSBpdCBmb3IgbGF0ZXIgKCM0NDc5NjEpLgoKMjAwNy0wNi0xNSAwOToxMzo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi92czYvOiBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkgIE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUKCSAgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseSBvdGhlcndpc2UuCgoyMDA3LTA2LTE1IDA4OjMyOjUyICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogRml4IHRoZSBNaW5nVyBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpOgoJICBGaXggdGhlIE1pbmdXIGJ1aWxkLgoJICBQYXRjaCBCeTogVmluY2VudCBUb3JyaSA8dnRvcnJpIGF0IHVuaXYtZXZyeSBkb3QgZnI+CgkgIEZpeGVzOiAjNDQ2OTgxCgoyMDA3LTA2LTE0IDE0OjAzOjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzLzogSHVzaCB0aGUgYnVpbGRib3RzIHVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgSHVzaCB0aGUgYnVpbGRib3RzIHVwCgoyMDA3LTA2LTE0IDEyOjE0OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCjIwMDctMDYtMTQgMTA6MjM6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZvciBBTVItTkIgc3RyZWFtcywgZXhwb3J0IHRoZSBBTVJTcGVjaWZpY0JveCBhcyBjb2RlY19kYXRhIG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGb3IgQU1SLU5CIHN0cmVhbXMsIGV4cG9ydCB0aGUgQU1SU3BlY2lmaWNCb3ggYXMgY29kZWNfZGF0YSBvbiB0aGUKCSAgY2Fwcy4KCSAgRml4ZXMgIzQ0NzQ1OAoKMjAwNy0wNi0xMyAxNzoxMToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IE1ha2Ugc3VyZSB3ZSBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IGZvciB0aGUgY29kZWNfZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKToKCSAgTWFrZSBzdXJlIHdlIGFsbG9jYXRlIGVub3VnaCBtZW1vcnkgZm9yIHRoZSBjb2RlY19kYXRhLgoJICBGaXhlcyAjNDQ3MjEwLgoKMjAwNy0wNi0xMiAyMTowNToyMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCB2aWRlb2Nyb3AgcHJvamVjdCBmaWxlIHRvIHRoZSB3aW4zMiBtYW5pZmVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCB2aWRlb2Nyb3AgcHJvamVjdCBmaWxlIHRvIHRoZSB3aW4zMiBtYW5pZmVzdC4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgIEFkZCBxdGRlbXV4LHZpZGVvY3JvcCBhbmQgd2F2ZWZvcm0gcHJvamVjdHMgdG8gdGhlIHdvcmtzcGFjZS4KCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIEFkZCB6bGliIHRvIHRoZSBsaW5rIGxpc3Qgb2YgcXRkZW11eC4KCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9jcm9wLmRzcDoKCSAgQWRkIGEgcHJvamVjdCBmaWxlIGZvciB2aWRlb2Nyb3AuCgoyMDA3LTA2LTEyIDIwOjIyOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvL1BPVEZJTEVTLmluOiBBZGQgcXRkZW11eCBmb3IgdHJhbnNsYXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCBxdGRlbXV4IGZvciB0cmFuc2xhdGlvbgoKMjAwNy0wNi0xMiAyMDoxNToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIGZyb20gLWJhZC4KCjIwMDctMDYtMTIgMTk6MzU6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBxdGRlbXV4IGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBNb3ZlIHF0ZGVtdXggZnJvbSAtYmFkLgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byByZWZsZWN0IG1vdmluZyBvZiBxdGRlbXV4IGFuZCB3YXZwYWNrCgoyMDA3LTA2LTEyIDE5OjAxOjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCB0eXBvIGluIHRoZSBjaGFuZ2Vsb2cgYW5kIGNvbW1pdCB0aGUgbWFuaWZlc3QgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdHlwbyBpbiB0aGUgY2hhbmdlbG9nIGFuZCBjb21taXQgdGhlIG1hbmlmZXN0IHRvbwoKMjAwNy0wNi0xMiAxODo1MjozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi9NQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVAoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICBNb3ZlIHRoZSB3YXZlZm9ybSBwbHVnaW4gZnJvbSAtYmFkIHRvby4gVXBkYXRlIHRoZSBpbnNwZWN0IHhtbAoJICBmaWxlcyB0byBtZW50aW9uIFBsdWdpbnMgR29vZCBpbnN0ZWFkIG9mIFBsdWdpbnMgQmFkLgoKMjAwNy0wNi0xMiAxMzozMzo1NiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFJldHVybiBhIGNvcHkgb2YgdGhlIHBvb2wgYnVmZmVyIGlmIGFsbCBtbWFwIGJ1ZmZlcnMgaGF2ZSBiZWVuIGRlcXVldWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOiBSZXR1cm4gYSBjb3B5IG9mIHRoZSBwb29sIGJ1ZmZlciBpZiBhbGwKCSAgbW1hcCBidWZmZXJzIGhhdmUgYmVlbiBkZXF1ZXVlZC4KCjIwMDctMDYtMTIgMTE6MjM6MDEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSAoZ3N0X3Y0bDJfYnVmZmVyX2NsYXNzX2luaXQsIGdzdF92NGwyX2J1ZmZlcl9nZXRfdHlwZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDYtMTIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpCgkgIChnc3RfdjRsMl9idWZmZXJfY2xhc3NfaW5pdCwgZ3N0X3Y0bDJfYnVmZmVyX2dldF90eXBlKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX25ldyk6IEJlaGF2ZSBtb3JlIGxpa2UgeGltYWdlc2luaydzIGJ1ZmZlcnMsIHdpdGgKCSAgZmluYWxpemF0aW9uIGFuZCByZXN1c2NpdGF0aW9uLiBObyBsb25nZXIgcHVibGljLgoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmluYWxpemUsIGdzdF92NGwyX2J1ZmZlcl9wb29sX2luaXQpCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9jbGFzc19pbml0LCBnc3RfdjRsMl9idWZmZXJfcG9vbF9nZXRfdHlwZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldywgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfYWN0aXZhdGUpCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9kZXN0cm95KTogTWFrZSB0aGUgcG9vbCBmb2xsb3cgY29tbW9uCgkgIG1pbmlvYmplY3Qgc2VtYW50aWNzLCBhbmQgYmUgdGhyZWFkc2FmZS4KCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKTogUmVtb3ZlIHRoaXMgZnVuY3Rpb24sIGFzIHdlIGp1c3QgY2FsbAoJICB0aGUgaW9jdGxzIGRpcmVjdGx5IGluIHRoZSB0d28gcGxhY2VzIHdoZXJlIHdlIHF1ZXVlIGJ1ZmZlcnMuCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKTogUmV0dXJuIGEgZmxvd3JldHVybiBhbmQgZmlsbCB0aGUgYnVmZmVyCgkgIGRpcmVjdGx5LgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KTogVXNlIHRoZSBuZXcgYnVmZmVyX3Bvb2xfbmV3IGZ1bmN0aW9uCgkgIHRvIGFsbG9jYXRlIHRoZSBwb29sLCB3aGljaCBhbHNvIHByZWFsbG9jYXRlcyB0aGUgR3N0QnVmZmVycy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpOiBDYWxsIGJ1ZmZlcl9wb29sX2FjdGl2YXRlIGluc3RlYWQgb2YKCSAgcXVldWVpbmcgdGhlIGZyYW1lcyBkaXJlY3RseS4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmggKHN0cnVjdCBfR3N0VjRsMkJ1ZmZlclBvb2wpOiBNYWtlIHRoaXMgYQoJICByZWFsIE1pbmlPYmplY3QgaW5zdGVhZCBvZiByb2xsaW5nIG91ciBvd24gcmVmY291bnRpbmcgYW5kCgkgIGZpbmFsaXppbmcuIEdpdmUgaXQgYSBsb2NrLgoJICAoc3RydWN0IF9Hc3RWNGwyQnVmZmVyKTogUmVtb3ZlIG9uZSBpbnRlcm1lZGlhcnkgb2JqZWN0LCBoYXZpbmcKCSAgdGhlIGJ1ZmZlcnMgaG9sZCB0aGUgc3RydWN0IHY0bDJfYnVmZmVyIGRpcmVjdGx5LgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpOiBQYXNzIHRoZSBjYXBzIHRvCgkgIGNhcHR1cmVfaW5pdCBzbyB0aGF0IGl0IGNhbiBzZXQgdGhlbSBvbiB0aGUgYnVmZmVycyB0aGF0IGl0IHdpbGwKCSAgY3JlYXRlLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpOiBGb3IgYmV0dGVyIG9yIGZvciB3b3JzZSwgaW5jbHVkZSB0aGUKCSAgdGltZXN0YW1waW5nIGFuZCBvZmZzZXR0aW5nIGNvZGUgaGVyZTsgcmVhbGx5IHdlIHNob3VsZCBiZSB1c2luZwoJICBidWZmZXJhbGxvYyB0aG91Z2guCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCk6IEp1c3QgbWFrZSBncmFiX2ZyYW1lIHJldHVybiBvbmUgb2Ygb3VyCgkgIHByZWFsbG9jYXRlZCwgbW1hcCdkIGJ1ZmZlcnMuCgoyMDA3LTA2LTExIDExOjQxOjU2ICswMDAwICBkYW5pZWwgZmlzY2hlciA8ZGFuQGYzYy5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBBY3R1YWxseSB1c2UgdGhlIGRpc3BsYXlfbmFtZSBwcm9wZXJ0eSBzbyB0aGF0IHdlIGNhbiBkdW1wIGFueSBhdmFpbGFibGUgWCBkaXNwbGF5LiBGaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBkYW5pZWwgZmlzY2hlciA8ZGFuIGF0IGYzYyBkb3QgY29tPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19zdGFydCksCgkgIChnc3RfeGltYWdlX3NyY19nZXRfY2Fwcyk6CgkgIEFjdHVhbGx5IHVzZSB0aGUgZGlzcGxheV9uYW1lIHByb3BlcnR5IHNvIHRoYXQgd2UgY2FuIGR1bXAgYW55CgkgIGF2YWlsYWJsZSBYIGRpc3BsYXkuIEZpeGVzICM0NDU5MDUuCgoyMDA3LTA2LTExIDEwOjIxOjEzICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBtaXNzaW5nIHJhdGUgZmllbGRzIHRvIGNhcHMuIEZpeGVzICM0NDExMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfc2V0Y2Fwcyk6CgkgIEFkZCBtaXNzaW5nIHJhdGUgZmllbGRzIHRvIGNhcHMuIEZpeGVzICM0NDExMTguCgoyMDA3LTA2LTEwIDIxOjE0OjExICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi86IEFkZCBEaXJlY3RTb3VuZCBhbmQgRGlyZWN0RHJhdyBzaW5rcyBwcm9qZWN0IGZpbGVzIHRvIHdvcmtzcGFjZSBhbmQgc29sdXRpb24gZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkgIEFkZCBEaXJlY3RTb3VuZCBhbmQgRGlyZWN0RHJhdyBzaW5rcyBwcm9qZWN0IGZpbGVzIHRvCgkgIHdvcmtzcGFjZSBhbmQgc29sdXRpb24gZmlsZXMuCgoyMDA3LTA2LTEwIDEwOjUzOjI2ICswMDAwICBKb3NoIENvYWxzb24gPHhmbGFjQHlhaG9vLmNvbT4KCgkgIEFkZCBzdXBwb3J0IGZvciBmbGFjID49IDEuMS4zIHdoaWNoIGNoYW5nZWQgdGhlIEFQSS4gRml4ZXMgYnVnICMzODU4ODcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zaCBDb2Fsc29uIDx4ZmxhYyBhdCB5YWhvbyBkb3QgY29tPiwKCSAgdXBkYXRlZCBieSBBbGV4aXMgQmFsbGllciA8YWJhbGxpZXIgYXQgZ2VudG9vIGRvdCBvcmc+OgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfcmVzZXRfZGVjb2RlcnMpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwgKGdzdF9mbGFjX2RlY19zZWVrKSwKCSAgKGdzdF9mbGFjX2RlY190ZWxsKSwgKGdzdF9mbGFjX2RlY19sZW5ndGgpLCAoZ3N0X2ZsYWNfZGVjX2VvZiksCgkgIChnc3RfZmxhY19kZWNfcmVhZF9zZWVrYWJsZSksIChnc3RfZmxhY19kZWNfcmVhZF9zdHJlYW0pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfaW5pdCksCgkgIChnc3RfZmxhY19lbmNfZmluYWxpemUpLCAoZ3N0X2ZsYWNfZW5jX3NldF9tZXRhZGF0YSksCgkgIChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9mbGFjX2VuY191cGRhdGVfcXVhbGl0eSksCgkgIChnc3RfZmxhY19lbmNfc2Vla19jYWxsYmFjayksIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZW5jX3RlbGxfY2FsbGJhY2spLCAoZ3N0X2ZsYWNfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYWluKSwgKGdzdF9mbGFjX2VuY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ZsYWNfZW5jX2dldF9wcm9wZXJ0eSksIChnc3RfZmxhY19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBmbGFjID49IDEuMS4zIHdoaWNoIGNoYW5nZWQgdGhlIEFQSS4gRml4ZXMgYnVnICMzODU4ODcuCgoyMDA3LTA2LTA5IDE1OjQxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0My4gVGhpcyBpcyBmaXhlZCBpbiBjb3JlIDAuMTAuMTMgYW5kIG5vdCBuZWNlc3NhcnkgYW55bW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpOgoJICBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDMuIFRoaXMgaXMgZml4ZWQgaW4gY29yZSAwLjEwLjEzIGFuZAoJICBub3QgbmVjZXNzYXJ5IGFueW1vcmUgYXMgd2UgbmVlZCBhdCBsZWFzdCB0aGF0IGNvcmUgdmVyc2lvbi4KCjIwMDctMDYtMDkgMTU6MzM6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogSW1wcm92ZSBkaXNjb250IGhhbmRsaW5nIGJ5IGNoZWNraW5nIGlmIHRoZSBuZXh0IFdhdnBhY2sgYmxvY2sgaGFzIHRoZSBleHBlY3RlZCwgZm9sbG93aW5nIGJsb2NrIGluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlcik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEltcHJvdmUgZGlzY29udCBoYW5kbGluZyBieSBjaGVja2luZyBpZiB0aGUgbmV4dCBXYXZwYWNrIGJsb2NrIGhhcwoJICB0aGUgZXhwZWN0ZWQsIGZvbGxvd2luZyBibG9jayBpbmRleC4KCjIwMDctMDYtMDggMjA6MjM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgbW9hcCBpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vYXAgaWdub3JlCgoyMDA3LTA2LTA4IDIwOjIwOjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jIChnc3RfcnRwX21wNHZwYXlfZGV0YWlscyk6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYyAoZ3N0X3J0cF9tcDR2cGF5X2RldGFpbHMpOgoJICBGaXggZWxlbWVudCBkZXNjcmlwdGlvbi4KCjIwMDctMDYtMDggMjA6MTk6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZSB3YXZwYWNrIHBsdWdpbi4gIFNlZSAjMzUyNjA1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtb3ZlIHdhdnBhY2sgcGx1Z2luLiAgU2VlICMzNTI2MDUuCgoyMDA3LTA2LTA4IDE5OjQ1OjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgdGhlIGFscGhhYmV0IHRyaXBwaW5nIHVwIHBlb3BsZSBzaW5jZSAxMDkyOUJDCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0aGUgYWxwaGFiZXQKCSAgdHJpcHBpbmcgdXAgcGVvcGxlIHNpbmNlIDEwOTI5QkMKCjIwMDctMDYtMDggMTc6Mzc6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIERpcmVjdERyYXcgJiBEaXJlY3RTb3VuZCBwbHVnaW5zIHRvIHRoZSBidWlsZCBhbmQgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMgdG8gdGhlIGJ1aWxkIGFuZCBkb2NzLgoKMjAwNy0wNi0wOCAxNjozMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2xhc3NfaW5pdCk6CgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UKCSAgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoKMjAwNy0wNi0wOCAxMDo0MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IFdoZW4gb3BlcmF0aW5nIGluIHB1bGwgbW9kZSwgZXJyb3Igb3V0IGNvcnJlY3Qgb24gbm90LWxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2xvb3ApOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX3Rhc2spOgoJICBXaGVuIG9wZXJhdGluZyBpbiBwdWxsIG1vZGUsIGVycm9yIG91dCBjb3JyZWN0IG9uIG5vdC1saW5rZWQuCgoyMDA3LTA2LTA4IDA4OjEyOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUKCSAgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgZG9uJ3QgaGFuZGxlIHRoZSB3YXkgd2UgdXNlIGl0IGluCgkgIHRoZSB3YXkgd2UgZXhwZWN0IGl0IHRvLgoKMjAwNy0wNi0wNiAxMDoxOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNi0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCkKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6IE9ubHkgcHJvYmUgZm9yCgkgIGZvcm1hdCBhbmQgc2l6ZSBpZiB0aGUgaW9jdGxzIGFyZSBkZWZpbmVkOyBzaG91bGQgZml4IGNvbXBpbGF0aW9uCgkgIG9uIExpbnV4IDwgMi4xNi4xOS4KCjIwMDctMDYtMDYgMDg6NTM6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogUHJpbnRmIGZpeGVzIGluIGRlYnVnIHN0YXRlbWVudHM7IHVzZSBMT0cgbGV2ZWwgZm9yIGRlYnVnIHN0YXRlbWVudHMgdGhhdCBhcmUgcHJpbnRlZCBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2F5dXZfaTQyMCk6CgkgIFByaW50ZiBmaXhlcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzOyB1c2UgTE9HIGxldmVsIGZvciBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIHRoYXQgYXJlIHByaW50ZWQgZm9yIGVhY2ggYW5kIGV2ZXJ5IGZyYW1lOyBjb252ZXJ0IGMrKyBjb21tZW50cyB0bwoJICBDLXN0eWxlIGNvbW1lbnRzOyBub3QgbXVjaCBwb2ludCB1c2luZyBnX3RyeV9tYWxsb2MoKSBpZiB3ZSB0aGVuIG5vdAoJICBldmVuIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUuCgoyMDA3LTA2LTA1IDE2OjMyOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyAoY29yZSBhbmQgYmFzZSAwLjEwLjEzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyAoY29yZSBhbmQgYmFzZSAwLjEwLjEzKS4KCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF91bmljb2RpZnkpOgoJICBVc2UgZ3N0X3RhZ191dGY4X2Zyb21fZnJlZWZvcm1fc3RyaW5nKCkgZnJvbSBsaWJnc3R0YWcgaW5zdGVhZCBvZgoJICBvd24gaW1wbGVtZW50YXRpb24uCgoyMDA3LTA2LTA1IDE0OjE3OjI1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX3N0YXJ0LCBnc3RfdjRsMnNyY19zdG9wKTogQWRkIHNvbWUgdXNlbGVzcyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDYtMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19zdGFydCwgZ3N0X3Y0bDJzcmNfc3RvcCk6IEFkZAoJICBzb21lIHVzZWxlc3MgY29tbWVudHMuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOiBEb24ndCBxdWV1ZQoJICBmcmFtZXMgYmVmb3JlIGNhbGxpbmcgU1RSRUFNT04sIHRoYXQgbWlnaHQgbGVhdmUgdGhlbSBpbiBhIHN0YXRlCgkgIHdoZXJlIHRoZXkgY2FuJ3QgYmUgZGVxdWV1ZWQgaWYgd2UgZ28gYmFjayB0byBOVUxMIHdpdGhvdXQgY2FsbGluZwoJICBTVFJFQU1PTiwgYWNjb3JkaW5nIHRvIHRoZSBkb2NzLgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCk6IEVucXVldWUgYnVmZmVycyBoZXJlIGluc3RlYWQsIHJpZ2h0CgkgIGJlZm9yZSB3ZSBjYWxsIFNUUkVBTU9OLgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOiBSZW1vdmUgY3JhY2sgdG8gd29yayBhcm91bmQgZGVxdWV1ZQoJICBmYWlsdXJlcy4gKEZvciBtZSB0aGlzIGNvZGUgaHVuZy4pIFRoZSBwb29sIHJlZmNvdW50aW5nIGlzIHN0aWxsCgkgIGNyYWNrOyBhZGRlZCBhIG5vdGUgdG8gdGhhdCBlZmZlY3QuCgoyMDA3LTA2LTA1IDA5OjExOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogQWRkIHN1cHBvcnQgZm9yIG1hcHBpbmcgZ3N0IHN0cnVjdHVyZSBuYW1lcyB0byB0aGUgTUlNRSB0eXBlIGVxdWl2YWxlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2dldF9taW1lKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEFkZCBzdXBwb3J0IGZvciBtYXBwaW5nIGdzdCBzdHJ1Y3R1cmUgbmFtZXMgdG8gdGhlIE1JTUUgdHlwZSBlcXVpdmFsZW50LgoJICBJbXBsZW1lbnRlZCBmb3IgYXVkaW8veC1tdWxhdy0+YXVkaW8vYmFzaWMuIEZpeGVzICM0NDI4NzQuCgoyMDA3LTA2LTAzIDExOjIxOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy4qOiBQcm9wZXJseSB3cml0ZSB3YXYgZmlsZXMgd2l0aCB3aWR0aCE9ZGVwdGggYnkgaGF2aW5nIHRoZSBkZXB0aCBtb3N0IHNpZ25pZmljYW50IGJ5dGVzIHNldCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2ZW5jX2NoYWluKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBQcm9wZXJseSB3cml0ZSB3YXYgZmlsZXMgd2l0aCB3aWR0aCE9ZGVwdGggYnkgaGF2aW5nIHRoZSBkZXB0aCBtb3N0CgkgIHNpZ25pZmljYW50IGJ5dGVzIHNldCBhbmQgYWxsIG90aGVycyB6ZXJvLiBGaXhlcyAjNDQyNTM1LgoKMjAwNy0wNi0wMSAxMzo1MjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEFkZCBpbmNsdWRlIHRvIG1ha2UgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgIEFkZCBpbmNsdWRlIHRvIG1ha2UgYnVpbGRib3QgaGFwcHkuCgoyMDA3LTA2LTAxIDEzOjA3OjExICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogSW1wcm92ZXMgdmVyc2lvbiBjaGVja2luZywgYWxsb3dpbmcgYW4gUlRTUCBzZXJ2ZXIgdG8gcmVwbHkgd2l0aCAiNTA1CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKGFkZF9kYXRlX2hlYWRlciksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChwYXJzZV9yZXNwb25zZV9zdGF0dXMpLAoJICAocGFyc2VfcmVxdWVzdF9saW5lKSwgKHBhcnNlX2xpbmUpLCAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3ZlcnNpb25fYXNfdGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAoa2V5X3ZhbHVlX2ZvcmVhY2gpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfcmVtb3ZlX2hlYWRlciksIChydHNwX21lc3NhZ2VfYXBwZW5kX2hlYWRlcnMpLAoJICAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIEltcHJvdmVzIHZlcnNpb24gY2hlY2tpbmcsIGFsbG93aW5nIGFuIFJUU1Agc2VydmVyIHRvIHJlcGx5IHdpdGggIjUwNQoJICBSVFNQIFZlcnNpb24gbm90IHN1cHBvcnRlZC4KCSAgQWRkcyBhIERhdGUgaGVhZGVyIHRvIGFsbCBtZXNzYWdlcy4KCSAgUmVwbGllcyB3aXRoIFJUU1BfRVBBUlNFIHJhdGhlciB0aGFuIFJUU1BfRUlOVkFMSUQgaW4gY2FzZXMgd2hlcmUgd2UKCSAgd2FudCB0byBiZSBhYmxlIHRvIHNlbmQgYSByZXNwb25zZSBldmVuIGlmIHNvbWV0aGluZyBpbiB0aGUgcmVxdWVzdCB3YXMKCSAgaW52YWxpZC4gRUlOVkFMIGlzIG9ubHkgdXNlZCB3aGVuIHBhc3Npbmcgd3JvbmcgYXJndW1lbnRzIHRvIGZ1bmN0aW9ucy4KCSAgRG8gbm90IGhhbmRsZSBhbiBpbnZhbGlkIG1ldGhvZCBpbiBwYXJzZV9yZXF1ZXN0X2xpbmUoKS4gRGVmZXIgdGhpcyB0bwoJICB0aGUgY2FsbGVyIHNvIGl0IGNhbiByZXNwb25kIHdpdGggIjQwNSBNZXRob2QgTm90IEFsbG93ZWQiLgoJICBJbXByb3ZlcyBwYXJzaW5nIG9mIHRoZSB0aW1lb3V0IHBhcmFtZXRlciB0byB0aGUgU2Vzc2lvbiBoZWFkZXIsCgkgIGFsbG93aW5nIHdoaXRlc3BhY2UgYWZ0ZXIgdGhlIHNlbWljb2xvbi4KCSAgQXZvaWRzIGEgY29tcGlsZXIgd2FybmluZyBkdWUgdG8gdmFyaWFibGVzIHNoYWRvd2luZyBhIGZ1bmN0aW9uIGFyZ3VtZW50LgoKMjAwNy0wNi0wMSAxMToxNjoxNyArMDAwMCAgRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzQHRpLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgc3VwcG9ydCBmb3IgQU1SLVdCLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gUGF0Y2ggYnk6IERhbmllbCBDaGFybGVzIDxkY2hhcmxlcyBhdCB0aSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYW1yX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgQU1SLVdCLgoJICBTbWFsbCBjbGVhbnVwcyBzdWNoIGFzIHVzaW5nIEJPSUxFUlBMQVRFLgoKMjAwNy0wNS0zMSAxNTo1NzowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogRml4IGNvbXBpbGUgd2FybmluZyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkIGFzIHNwb3R0ZWQgYnUgU2F1ciBvbiBJUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKToKCSAgRml4IGNvbXBpbGUgd2FybmluZyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkIGFzIHNwb3R0ZWQgYnUgU2F1ciBvbiBJUkMuCgoyMDA3LTA1LTMwIDE0OjU3OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lio6IFJldmVydCBzb21lIHVuaW50ZW5kZWQgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDUtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYyAoZ3N0X3Y0bDJfb2JqZWN0X25ldyk6IFJldmVydCBzb21lCgkgIHVuaW50ZW5kZWQgY2hhbmdlcy4KCjIwMDctMDUtMzAgMTQ6NDA6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuKjogU3RvcmUgdGhlIGZvcm1hdCBsaXN0IGluIHRoZSBvcmRlciB0aGF0IHRoZSBkcml2ZXIgZ2l2ZXMgaXQgdG8gdXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA1LTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpOiBTdG9yZQoJICB0aGUgZm9ybWF0IGxpc3QgaW4gdGhlIG9yZGVyIHRoYXQgdGhlIGRyaXZlciBnaXZlcyBpdCB0byB1cy4KCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSkKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6IE5ldyBmdW5jdGlvbnMsIGZpbGwgR3N0Q2FwcwoJICBiYXNlZCBvbiB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSBkZXZpY2UuCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgcmVuYW1pbmcuCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSk6IFVwZGF0ZSB0byBiZSBzdHJpY3QgaW4gaXRzIHBhcmFtZXRlcnMsCgkgIGFzIGluIHRoZSBzZXRfY2FwcyBiZWxvdy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIHJlbmFtaW5nLAoJICBhbmQgcmVmbG93LgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCwgZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKQoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSByZW5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3VwZGF0ZV9mcHMsIGdzdF92NGwyc3JjX3NldF9mcHMpCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKTogUmVtb3ZlOyB0aGVzZSBmdW5jdGlvbnMgZG9uJ3QgaGF2ZSBtdWNoCgkgIG1lYW5pbmcgb3V0c2lkZSBvZiBhbiBhdG9taWMgc2V0X2NhcHMgbWV0aG9kLgoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6IERvbid0IHNldCBidWZmZXIgZHVyYXRpb24sIGl0IGlzIG5vdAoJICBrbm93bi4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYyAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2NoYW5uZWwpOiBSZW1vdmUKCSAgY2FsbCB0byB1cGRhdGVfZnBzOyBub3Qgc3VyZSBhYm91dCB0aGlzIGNoYW5nZS4KCSAgKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtKTogV29yayBhcm91bmQgdGhlIGZhY3QgdGhhdCBmb3IgdGhlCgkgIG1vbWVudCB3ZSBkb24ndCBoYXZlIGFuIHVwZGF0ZV9mcHNfZnVuYy4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmggKHN0cnVjdCBfR3N0VjRsMlNyYyk6IERvbid0IHB1dCB2NGwyCgkgIHN0cnVjdHVyZXMgaW4gdGhlIG9iamVjdCwganVzdCBzdG9yZSB3aGF0IHdlIG5lZWQuIERvIHN0b3JlIHRoZQoJICBwcm9iZWQgY2FwcyBvZiB0aGUgZGV2aWNlLiBEb24ndCBzdG9yZSB0aGUgY3VycmVudCBmcmFtZSByYXRlLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfaW5pdCk6IFJlbW92ZSB0aGUKCSAgdXBkYXRlX2Zwc19mdW5jdGlvbiwgZm9yIG5vdy4gVXBkYXRlIGZvciBuZXcgb2JqZWN0IHZhcmlhYmxlCgkgIG5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSwgZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KTogVXBkYXRlIGZvcgoJICBuZXcgb2JqZWN0IHZhcmlhYmxlIG5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKTogUmVuYW1lIGZyb20gLi4uX3RvX2NhcHMuCgkgIChnc3RfdjRsMl9zdHJ1Y3R1cmVfdG9fdjRsMmZvdXJjYyk6IFJlbmFtZSBmcm9tIC4uLmNhcHNfdG9fLi4uLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOiBSZXdvcmsgdG8gcHJvYmUgdGhlIGRldmljZSBmb3Igc3VwcG9ydGVkCgkgIGZyYW1lIHNpemVzIGFuZCBmcmFtZSByYXRlcy4KCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKTogUmV3b3JrIHRvIGJlIHN0cmljdCBpbiB0aGUgZ2l2ZW4KCSAgcGFyYW1ldGVyczogaWYgc29tZW9uZSBhc2tzIHVzIHRvIGhhdmUgYSBjZXJ0YWluIHNpemUgYW5kIHJhdGUsCgkgIHRoYXQgaXMgd2hhdCB3ZSBjb25maWd1cmUuCgkgIChnc3RfdjRsMnNyY19nZXRfcmVhZCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIG5hbWluZy4gRG9uJ3QKCSAgbGVhayBidWZmZXJzIG9uIHNob3J0IHJlYWRzLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSBuYW1pbmcsIGFuZCBhZGQKCSAgY29tbWVudHMuCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSBuYW1pbmcuCgoyMDA3LTA1LTMwIDE0OjM4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBQYXJzZSBzdWJ0aXRsZSB0ZXh0IHN0cmVhbXMgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQgKCM0NDIwMzQpLiBTdGlsbCBuZWVkcyBhIHBhcnNlciBmb3IgdGhlIHN1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgUGFyc2Ugc3VidGl0bGUgdGV4dCBzdHJlYW1zIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0ICgjNDQyMDM0KS4gU3RpbGwKCSAgbmVlZHMgYSBwYXJzZXIgZm9yIHRoZSBzdWJ0aXRsZXMgdG8gYWN0dWFsbHkgc2hvdyB1cC4KCjIwMDctMDUtMzAgMTI6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1ha2UgX3B1c2hfZXZlbnQoKSByZXR1cm4gVFJVRSBpZiB0aGUgZXZlbnQgY291bGQgYmUgcHVzaGVkIG9uIGF0IGxlYXN0IG9uZSBwYWQgYW5kIG5vdCBvbmx5IGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE1ha2UgX3B1c2hfZXZlbnQoKSByZXR1cm4gVFJVRSBpZiB0aGUgZXZlbnQgY291bGQgYmUgcHVzaGVkIG9uIGF0CgkgIGxlYXN0IG9uZSBwYWQgYW5kIG5vdCBvbmx5IGlmIGl0IGNvdWxkIGJlIHB1c2hlZCBvbiBhbGwgcGFkcywKCSAgb3RoZXJ3aXNlIHdlJ2xsIGVuZCB1cCBwb3N0aW5nIGFuIGVycm9yIG1lc3NhZ2Ugb24gRU9TIGlmIG9uZSBvcgoJICBtb3JlIHNvdXJjZSBwYWRzIGFyZSBub3QgY29ubmVjdGVkLgoKMjAwNy0wNS0yOCAxNjozOTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogVXNlIHJlbmFtZWQgUlRQIGJpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBVc2UgcmVuYW1lZCBSVFAgYmluLgoKMjAwNy0wNS0yOCAxNTowMTozMyArMDAwMCAgRGVqYW4gU2FrZWzFoWFrIDxzYWtkZWFuQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBBZGQgQVlVVi0+QVlVViBhbmQgQVlVVi0+STQyMCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IERlamFuIFNha2VsxaFhayA8c2FrZGVhbiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLAoJICAodmlkZW9fYm94X3JlY2FsY190cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2JveF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2JveF9hcHBseV9hbHBoYSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXZfYXl1diksIChnc3RfdmlkZW9fYm94X2NsZWFyKSwgKFVWZmxvb3IpLAoJICAoVVZjZWlsKSwgKGdzdF92aWRlb19ib3hfYXl1dl9pNDIwKSwgKGdzdF92aWRlb19ib3hfaTQyMF9heXV2KSwKCSAgKGdzdF92aWRlb19ib3hfaTQyMF9pNDIwKSwgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgQWRkIEFZVVYtPkFZVVYgYW5kIEFZVVYtPkk0MjAgZm9ybWF0cy4KCSAgRml4IG5lZ290aWF0aW9uIGFuZCBJNDIwLT5BWVVWIGNvbnZlcnNpb24uCgkgIEZpeGVzICM0MjkzMjkuCgoyMDA3LTA1LTI2IDE1OjI1OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFVzZSBkaWZmZXJlbnQgdmFyaWFibGVzIGZvciBuZXN0ZWQgZm9yIGxvb3BzIHNvIHRoYXQgdGhlIG91dGVyIGxvb3AgZnVuY3Rpb25zIHByb3Blcmx5IGFuZCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICBVc2UgZGlmZmVyZW50IHZhcmlhYmxlcyBmb3IgbmVzdGVkIGZvciBsb29wcyBzbyB0aGF0IHRoZSBvdXRlciBsb29wCgkgIGZ1bmN0aW9ucyBwcm9wZXJseSBhbmQgc3BlZXggZmlsZXMgd2l0aCBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciB3b3JrCgkgIHByb3Blcmx5LgoJICBGaXhlcyAjNDQxNDA4LgoKMjAwNy0wNS0yNSAyMDo1MTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCBsZWFrIG5ld3NlZ21lbnQgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9zaW5rX2V2ZW50KToKCSAgRG9uJ3QgbGVhayBuZXdzZWdtZW50IGV2ZW50cy4KCjIwMDctMDUtMjUgMjA6MzM6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06IEFkZCAnLWxtJyB0byBMSUJTIGZvciBjZWlsKCksIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyIGRlcGVuZGVuY2llcyBkcmFncyBpdCBpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgJy1sbScgdG8gTElCUyBmb3IgY2VpbCgpLCBkb24ndCBhc3N1bWUgb25lIG9mIG91ciBkZXBlbmRlbmNpZXMKCSAgZHJhZ3MgaXQgaW4uCgoyMDA3LTA1LTI1IDE2OjAyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBDb2xsZWN0IGhlYWRlcnMsIGFkZCAic3RyZWFtaGVhZGVyIiBmaWVsZCB0byBvdXRwdXQgY2FwcyBhbmQgc2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19pbml0KSwKCSAgKG5vdGdzdF92YWx1ZV9hcnJheV9hcHBlbmRfYnVmZmVyKSwKCSAgKGdzdF9mbGFjX2VuY19wcm9jZXNzX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayksIChnc3RfZmxhY19lbmNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBDb2xsZWN0IGhlYWRlcnMsIGFkZCAic3RyZWFtaGVhZGVyIiBmaWVsZCB0byBvdXRwdXQgY2FwcyBhbmQgc2V0CgkgIEJVRkZFUl9JTl9DQVBTIGZsYWcgb24gcHVzaGVkIGhlYWRlciBidWZmZXJzLiBUaGF0IHdheSBvZ2dtdXgKCSAgcHJvZHVjZXMgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgb2ZmaWNpYWwgRkxBQy10by1PZ2cgbWFwcGluZwoJICBpbnN0ZWFkIG9mIGNvbXBsZXRlbHkgYnJva2VuIGZpbGVzLiBGaXhlcyAjNDI2MDQ0LgoKMjAwNy0wNS0yNSAxMDo0NDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBIYW5kbGUgYW5kIGFkanVzdCBuZXctc2VnbWVudCBldmVudHMgc28gdGhhdCBkb3duc3RyZWFtIHJlYWxseSBzZWVzIGEgc3RyZWFtIHdpdGggdGhlIHRhZyBwaWVjZXMgc3RyaXBwZWQgb2ZmIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2lkM2RlbXV4X3NlbmRfbmV3X3NlZ21lbnQpLCAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2V2ZW50KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF90YWdfZGVtdXhfY2hhaW4pLCAoZ3N0X3RhZ19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF90YWdfZGVtdXhfc2VuZF9uZXdfc2VnbWVudCk6CgkgIEhhbmRsZSBhbmQgYWRqdXN0IG5ldy1zZWdtZW50IGV2ZW50cyBzbyB0aGF0IGRvd25zdHJlYW0gcmVhbGx5CgkgIHNlZXMgYSBzdHJlYW0gd2l0aCB0aGUgdGFnIHBpZWNlcyBzdHJpcHBlZCBvZmYgdGhlIGZyb250IGFuZCBiYWNrLgoJICBGaXhlcyBzdHJhbmdlbmVzcyBpbiBzZWVraW5nIHdoZW4gbXAzIGRlY29kZXJzIHVzZSB0aGUgbmV3LXNlZ21lbnQKCSAgYnl0ZSBwb3NpdGlvbiB0byBlc3RpbWF0ZSB0aGVpciBjdXJyZW50IHBsYXliYWNrIHBvc2l0aW9uIHRpbWVzdGFtcAoJICBhbmQgdGhlbiB0aGUgYXJyaXZpbmcgYnVmZmVycyBkb24ndCBtYXRjaCB1cC4KCjIwMDctMDUtMjUgMTA6MjM6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBEb24ndCB1bm5lY2Vzc2FyaWx5IHBlcmZvcm0gYSBSRUFEWS0+TlVMTC0+UkVBRFkgdHJhbnNpdGlvbiBvbiB0aGUgZGV0ZWN0ZWQgYXVkaW8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgRG9uJ3QgdW5uZWNlc3NhcmlseSBwZXJmb3JtIGEgUkVBRFktPk5VTEwtPlJFQURZIHRyYW5zaXRpb24gb24gdGhlCgkgIGRldGVjdGVkIGF1ZGlvIHNpbmsgd2hlbiBzdGFydGluZyB1cC4gRml4ZXM6ICM0NDAxMjcKCjIwMDctMDUtMjQgMTc6MDA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IERvbid0IGNyYXNoIGluIGNoYWluIGZ1bmN0aW9uIGlmIHNldGNhcHMgaGFzbid0IGJlZW4gY2FsbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFpbik6CgkgIERvbid0IGNyYXNoIGluIGNoYWluIGZ1bmN0aW9uIGlmIHNldGNhcHMgaGFzbid0IGJlZW4gY2FsbGVkLgoKMjAwNy0wNS0yNCAwODozNToyMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19wcmltYXJ5X3N1cmZhY2UpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19vZmZzY3JlZW5fc3VyZmFjZSksCgkgIChFbnVtTW9kZXNDYWxsYmFjazIpLCAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoKMjAwNy0wNS0yNCAwODoxNDowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW5pdCB2YWx1ZSB0byBhdm9pZCBpbmZpbnRlIGxvb3BzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKToKCSAgSW5pdCB2YWx1ZSB0byBhdm9pZCBpbmZpbnRlIGxvb3BzLgoKMjAwNy0wNS0yNCAwODoxMDo0MiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC86IEZpeCBmb3IgbmV3IEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfYWZ0ZXJfc2VuZCk6CgkgIEZpeCBmb3IgbmV3IEFQSS4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoYWRkX2F1dGhfaGVhZGVyKSwKCSAgT25seSBhZGQgYXV0aG9yaXNhdGlvbiBhbmQgc2Vzc2lvbiBoZWFkZXJzIHdoZW4gc2VuZGluZyBtZXNzYWdlcy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAoa2V5X3ZhbHVlX2ZvcmVhY2gpLCAocnRzcF9tZXNzYWdlX2luaXQpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfdW5zZXQpLCAocnRzcF9tZXNzYWdlX2FkZF9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX3JlbW92ZV9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX2FwcGVuZF9oZWFkZXJzKSwgKGR1bXBfa2V5X3ZhbHVlKSwKCSAgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgaGVhZGVycyBvZiB0aGUgc2FtZSB0eXBlIGJ5IHN0b3JpbmcgdGhlIHBhcnNlZAoJICBoZWFkZXJzIGluIGEgR0FycmF5IGluc3RhZWQgb2YgYSBoYXNodGFibGUuCgoyMDA3LTA1LTIzIDIyOjQ0OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIgaW50ZXJmYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyCgkgIGludGVyZmFjZSBub3cuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIEFkZCBpbnRlcmZhY2VzIGltcGxlbWVudGVkIGJ5IFdpbmRvd3Mgc2lua3MuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSAgYW5kIGltcGxlbWVudCB0aGUgbWl4ZXIgaW50ZXJmYWNlLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93Lmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmg6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdGRzaG93LmRlZjoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJICBBZGQgYSBuZXcgZ3N0IGxpYnJhcnkgd2hpY2ggYWxsb3cgdG8gY3JlYXRlIGludGVybmFsIERpcmVjdCBTaG93CgkgIGdyYXBoIChwaXBlbGluZXMpIHRvIHdyYXAgV2luZG93cyBzb3VyY2VzLCBkZWNvZGVycyBvciBlbmNvZGVycy4KCSAgSXQgaW5jbHVkZXMgYSBEaXJlY3RTaG93IGZha2Ugc291cmNlIGFuZCBzaW5rIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgICogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkgIEFkZCBhIG5ldyBwbHVnaW4gdG8gd3JhcCBEaXJlY3RTaG93IHNvdXJjZXMgb24gV2luZG93cy4KCSAgSXQgZ2V0cyBkYXRhIGZyb20gYW55IHdlYmNhbSwgZHYgY2FtLCBtaWNyby4gV2UgY291bGQgYWRkCgkgIHR2IHR1bm5lciBjYXJkIGxhdGVyLgoKMjAwNy0wNS0yMiAxMToxNDoxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5LCBnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHksCgkgIHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oIChhdWRpb2ZpbHRlcik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYyAoQVJHX05VTV9CQU5EUywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jIChicHdzaW5jX3NldF9jYXBzKToKCSAgQWRkIGZpeG1lLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChTUEVDVFJVTV9XSU5ET1dfQkFTRSwKCSAgU1BFQ1RSVU1fV0lORE9XX0xFTiwgZ3N0X3NwZWN0cnVtX2luaXQsIGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuIFR1cm4gdHdvIGZpeGVkIHZhbHVlcyBpbnRvICNkZWZpbmVzLgoKMjAwNy0wNS0yMiAxMTowMzozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBlbGVtZW50IGFuZCBwcm9wZXJ0aWVzLgoKMjAwNy0wNS0yMSAxNDowMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBDaGFuZ2VMb2cgc3VyZ2VyeS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzdElpckVxdWFsaXplckJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywgcGx1Z2luX2luaXQpOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIEFkZCBmaXhtZSBhbmQgY29tbWVudCBmb3IgZXhhbXBsZS4KCjIwMDctMDUtMjEgMTI6NDM6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgZnJvbSBjb25jdXJyZW50IGFjY2Vzcy4KCjIwMDctMDUtMjEgMTE6Mzc6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCjIwMDctMDUtMjEgMTE6MTc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZCBhbGxvdyB0byBzZXQgdGhlIGRpZmZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZAoJICBhbGxvdyB0byBzZXQgdGhlIGRpZmZlcmVudCBleHRyYSBwcm9jZXNzaW5nIG1vZGVzIGluc3RlYWQgb2Ygb25seQoJICBhbGxvd2luZyBub25lIGFuZCB0aGUgZGVmYXVsdCBvbmUuCgoyMDA3LTA1LTIxIDEwOjA3OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogU2luY2Ugd2UgZGVwZW5kIG9uIDAuMTAuMTMgLWNvcmUsIG92ZXJyaWRlIHRoZSB1bmxvY2tfc3RvcCB2bWV0aG9kIGZvciBzYWZlciBzaHV0ZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3VubG9jayksIChnc3RfdWRwc3JjX3VubG9ja19zdG9wKToKCSAgU2luY2Ugd2UgZGVwZW5kIG9uIDAuMTAuMTMgLWNvcmUsIG92ZXJyaWRlIHRoZSB1bmxvY2tfc3RvcCB2bWV0aG9kIGZvcgoJICBzYWZlciBzaHV0ZG93bi4KCjIwMDctMDUtMjEgMTA6MDM6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogQWRkZWQgc2lnbmFsIGZvciBiYWNrd2FyZHMgY29tcGF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBBZGRlZCBzaWduYWwgZm9yIGJhY2t3YXJkcyBjb21wYXQuCgoyMDA3LTA1LTIxIDA5OjMyOjI2ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgVXNlIGF1ZGlvY29udmVydCBmb3IgY29udmVydGluZyBmcm9tIG5vbi1uYXRpdmUgZW5kaWFubmVzcyBmbG9hdHMgaW4gYXVwYXJzZSBpbnN0ZWFkIG9mIGRvaW5nIGl0IG91cnNlbGYuIEZpeGVzICM0MjQ1MjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9yZXNldCksCgkgIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwgKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBVc2UgYXVkaW9jb252ZXJ0IGZvciBjb252ZXJ0aW5nIGZyb20gbm9uLW5hdGl2ZSBlbmRpYW5uZXNzIGZsb2F0cwoJICBpbiBhdXBhcnNlIGluc3RlYWQgb2YgZG9pbmcgaXQgb3Vyc2VsZi4gRml4ZXMgIzQyNDUyNy4KCSAgVGhpcyBuZWVkcyB0aGUgYXVkaW9jb252ZXJ0IGZyb20gcGx1Z2lucy1iYXNlIENWUy4KCjIwMDctMDUtMjEgMDk6Mjk6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IEZpeCBlbnVtIHJlZ2lzdHJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X2ZyYWdtZW50YXRpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCk6CgkgIEZpeCBlbnVtIHJlZ2lzdHJhdGlvbi4KCjIwMDctMDUtMjEgMDg6NTc6MTggKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lio6IEFkZCBuZXcgZnJhZ21lbnRhdGlvbiBtb2RlIGJhc2Ugb24gR09CIGhlYWRlcnMuIEZpeGVzICM0Mzg5NDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X2ZyYWdtZW50YXRpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2M3BfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2M3BfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICBBZGQgbmV3IGZyYWdtZW50YXRpb24gbW9kZSBiYXNlIG9uIEdPQiBoZWFkZXJzLiBGaXhlcyAjNDM4OTQwLgoKMjAwNy0wNS0yMCAyMTozMTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcyB0aGUgd2F2cGFjayBzdHVmZiBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMKCSAgdGhlIHdhdnBhY2sgc3R1ZmYgbm93IG5lZWRzIGlucHV0IHdpdGggMzIgYml0IHdpZHRoIChhbmQgcmFuZG9tIGRlcHRoKQoJICB0aGlzIGlzIG5lZWRlZCBub3cuIFRoZSBleGFtcGxlIHBpcGVsaW5lcyBmb3IgdGhlIHBhcnNlciBhbmQgZGVjb2RlcgoJICBhcmUgc3RpbGwgZmluZS4KCjIwMDctMDUtMjAgMTQ6NTk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7IGRlY2xhcmUgYW5vdGhlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7CgkgIGRlY2xhcmUgYW5vdGhlciBvbmUgdGhhdCBkb2VzOyBwcmludGYgZm9ybWF0IGZpeDsgdXNlIHJpZ2h0IG1hY3JvCgkgIHdoZW4gc3BlY2lmeWluZyBkZWJ1ZyBjYXRlZ29yeTsgcmVtb3ZlIGEgYnVuY2ggb2YgdW51c2VkIHZhcmlhYmxlczsKCSAgI2lmIDAgb3V0IGFuIHVudXNlZCBjaHVuayBvZiBjb2RlIChwYXJ0aWFsbHkgZml4ZXMgIzQzOTkxNCkuCgoyMDA3LTA1LTIwIDE0OjE0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgoyMDA3LTA1LTIwIDE0OjA1OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQcmludGYgZm9ybWF0IGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICBQcmludGYgZm9ybWF0IGZpeC4KCjIwMDctMDUtMTkgMTA6MDE6NDUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzogKGdzdF9yZ19saW1pdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9jbGFzc19pbml0KSwgKGdzdF9yZ19saW1pdGVyX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19saW1pdGVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2Jhc2VfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX2NsYXNzX2luaXQpLCAoZ3N0X3JnX3ZvbHVtZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ192b2x1bWVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ192b2x1bWVfZGlzcG9zZSksIChnc3Rfcmdfdm9sdW1lX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfcmdfdm9sdW1lX3NpbmtfZXZlbnQpLCAoZ3N0X3JnX3ZvbHVtZV90YWdfZXZlbnQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9yZXNldCksIChnc3Rfcmdfdm9sdW1lX3VwZGF0ZV9nYWluKSwKCSAgKGdzdF9yZ192b2x1bWVfZGV0ZXJtaW5lX2dhaW4pOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChzZXR1cF9yZ2xpbWl0ZXIpLAoJICAoY2xlYW51cF9yZ2xpbWl0ZXIpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoY3JlYXRlX3Rlc3RfYnVmZmVyKSwKCSAgKHZlcmlmeV90ZXN0X2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksIChyZ2xpbWl0ZXJfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKGV2ZW50X2Z1bmMpLCAoc2V0dXBfcmd2b2x1bWUpLAoJICAoY2xlYW51cF9yZ3ZvbHVtZSksIChzZXRfcGxheWluZ19zdGF0ZSksIChzZXRfbnVsbF9zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksICh0ZXN0X2J1ZmZlcl9uZXcpLAoJICAoZmFpbF91bmxlc3NfdGFyZ2V0X2dhaW4pLCAoZmFpbF91bmxlc3NfcmVzdWx0X2dhaW4pLAoJICAoZmFpbF91bmxlc3NfZ2FpbiksIChHU1RfU1RBUlRfVEVTVCksIChyZ3ZvbHVtZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoKMjAwNy0wNS0xOCAxMzoyNzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgY3Jhc2ggd2hlbiBhbiB1bnN1cHBvcnRlZCB0cmFuc3BvcnQgZXJyb3Igd2FzIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIsIGp1c3QgdHJ5IHRvIGNvbmZpZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiBhbiB1bnN1cHBvcnRlZCB0cmFuc3BvcnQgZXJyb3Igd2FzIHJldHVybmVkIGJ5IHRoZQoJICBzZXJ2ZXIsIGp1c3QgdHJ5IHRvIGNvbmZpZ3VyZSB0aGUgbmV4dCBzdHJlYW0uIEZpeGVzICM0MzkyNTUuCgoyMDA3LTA1LTE4IDExOjM5OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBBZGQgVENQIHRpbWVvdXQgcHJvcGVydHkgYW5kIHVzZSBpdCBmb3IgYWxsIFRDUCBjb25uZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgVENQIHRpbWVvdXQgcHJvcGVydHkgYW5kIHVzZSBpdCBmb3IgYWxsIFRDUCBjb25uZWN0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fd3JpdGUpLCAocnRzcF9jb25uZWN0aW9uX25leHRfdGltZW91dCksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVzZXRfdGltZW91dCk6CgkgIE1ha2UgY29ubmVjdCBhbmQgd3JpdGVzIGNhbmNlbGFibGUgYW5kIG1ha2UgdGhlbSB1c2UgdGhlIHRpbWVvdXQuCgoyMDA3LTA1LTE4IDEwOjM2OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWZhY3RvciB0aW1lb3V0IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBSZWZhY3RvciB0aW1lb3V0IGhhbmRsaW5nLgoJICBBbHNvIHNlbmQga2VlcC1hbGl2ZSB3aGVuIGRlYWxpbmcgd2l0aCBUQ1AgdHJhbnNwb3J0LgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKSwgKHJ0c3BfY29ubmVjdGlvbl9uZXh0X3RpbWVvdXQpLAoJICAocnRzcF9jb25uZWN0aW9uX3Jlc2V0X3RpbWVvdXQpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIFVzZSBhIHRpbWVyIHRvIGhhbmRsZSB0aGUgc2Vzc2lvbiB0aW1lb3V0cywgYWRkIHNvbWUgbWV0aG9kcyB0byBkZWFsCgkgIHdpdGggdGltZW91dHMuCgoyMDA3LTA1LTE3IDE0OjU2OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZ25vcmUgc3RyZWFtcyB0aGF0IGZhaWwgdGhlIHNldHVwIGNvbW1hbmQsIHdlIHdpbGwgcmV0cnkgd2l0aCBhIGRpZmZlcmVudCB0cmFuc3BvcnQgbGF0ZXIgb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIElnbm9yZSBzdHJlYW1zIHRoYXQgZmFpbCB0aGUgc2V0dXAgY29tbWFuZCwgd2Ugd2lsbCByZXRyeSB3aXRoIGEKCSAgZGlmZmVyZW50IHRyYW5zcG9ydCBsYXRlciBvbi4KCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfcGFyc2Vfc2RwKSwKCSAgKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKToKCSAgRml4IGVuY29kaW5nIG5hbWUgY2FzZS4KCjIwMDctMDUtMTcgMTA6NTk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1ggaXMgJCNAKColJCMgISBGb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWAoJICBpcyAkI0AoKiUkIyAhIEZvciB0aG9zZSB3b25kZXJpbmcsIHRoZSBldmVudCBoYW5kbGluZyBuZWVkcyB0byBiZSBkb25lCgkgIGluIHRoZSBtYWluIHRocmVhZCBhZnRlciBhbGwuLgoKMjAwNy0wNS0xNyAwOTo0MTo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBVc2UgYSBzZXBhcmF0ZSB0aHJlYWQvdGFzayBmb3IgdGhlIGNvY29hIGV2ZW50X2xvb3AsIGVsc2UgaXQgd291bGRuJ3QKCSAgc3RvcC4KCjIwMDctMDUtMTYgMTY6NTA6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9lbmRyb3dfY2FsbGJhY2spLCAodXNlcl9yZWFkX2RhdGEpOgoJICBGaXggYnVpbGQgb24gbWFjb3N4LgoKMjAwNy0wNS0xNiAxNjozMDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IFJlcGxhY2UgZGlyZWN0IGNvbXBhcmlzb24gb2YgYSBzdHJpbmcgd2l0aCB0aGUgc3RyaW5nIGxpdGVyYWwgIiIgd2l0aCBhIGNvbXBhcmlzb24gb2YgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY191cmlfc2V0X3VyaSk6CgkgIFJlcGxhY2UgZGlyZWN0IGNvbXBhcmlzb24gb2YgYSBzdHJpbmcgd2l0aCB0aGUgc3RyaW5nIGxpdGVyYWwgIiIgd2l0aAoJICBhIGNvbXBhcmlzb24gb2YgdGhlIGZpcnN0IGNoYXJhY3RlciB3aXRoICdcMCcuIEZpeGVzICM0Mzg5MjYuCgoyMDA3LTA1LTE1IDE3OjIyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlCgkgIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2RpcmVjdHNvdW5kCgkgIGRldGVjdGlvbiBzZWN0aW9uLiBBcHBhcmVudGx5IGltcHJvdmVzIGNyb3NzLWNvbXBpbGluZyBmb3Igd2luMzIKCSAgd2l0aCBtaW5ndzMyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyAoIzQzNzUzOSkuCgoyMDA3LTA1LTE1IDExOjE4OjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvYnJlYWtteWRhdGEuYyAoZ3N0X2JyZWFrX215X2RhdGFfaW5pdCk6IE9uZSBtb3JlIHRyeS4gVGhpcyBzaG91bGQgYmUgdGhlIHByb3BlciBmaXggbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYyAoZ3N0X2JyZWFrX215X2RhdGFfaW5pdCk6CgkgIE9uZSBtb3JlIHRyeS4gVGhpcyBzaG91bGQgYmUgdGhlIHByb3BlciBmaXggbm93LgoKMjAwNy0wNS0xNSAwNjo0MTo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6IE9vb3BzLCBubyAvLyBjb21tZW50cyBwbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICBPb29wcywgbm8gLy8gY29tbWVudHMgcGxlYXNlLgoKMjAwNy0wNS0xNSAwNjozNDo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6IEZpeCBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlKCkgYXNzZXJ0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzogKGdzdF9icmVha19teV9kYXRhX2NsYXNzX2luaXQpLAoJICAoZ3N0X2JyZWFrX215X2RhdGFfaW5pdCk6CgkgIEZpeCBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlKCkgYXNzZXJ0aW9uLgoKMjAwNy0wNS0xNSAwMjo1NjoyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBCYXllciBpbWFnZXMgYXMgdmlkZW8veC1yYXctYmF5ZXIuICBGaXhlcyAjMzE0MTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBCYXllciBpbWFnZXMgYXMKCSAgdmlkZW8veC1yYXctYmF5ZXIuICBGaXhlcyAjMzE0MTYwLgoKMjAwNy0wNS0xNCAxNzoxMDoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBVcGRhdGUgdGhlb3JhIHBheS9kZXBheWxvYWRlciBpbiBhIHNpbWlsYXIgdG8gdm9yYmlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChkZWNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFVwZGF0ZSB0aGVvcmEgcGF5L2RlcGF5bG9hZGVyIGluIGEgc2ltaWxhciB0byB2b3JiaXMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbik6CgkgIFVwZGF0ZSBkb2NzLgoKMjAwNy0wNS0xNCAxNjoxOTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogV2hlbiB3ZSB0cnkgdG8gZXhlY3V0ZSBhIG1ldGhvZCB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciwgZG9uJ3QgZXJyb3Igb3V0IGJ1dCByZW1vdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKToKCSAgV2hlbiB3ZSB0cnkgdG8gZXhlY3V0ZSBhIG1ldGhvZCB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciwKCSAgZG9uJ3QgZXJyb3Igb3V0IGJ1dCByZW1vdmUgdGhlIG1ldGhvZCBmcm9tIHRoZSBhY2NlcHRlZCBtZXRob2RzIHNvIHRoYXQKCSAgd2UgbmV2ZXIgdHJ5IHRvIHBlcmZvcm0gdGhpcyBtZXRob2QgYWdhaW4uCgoyMDA3LTA1LTE0IDE0OjQ3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiBSZW1vdmUgYW5ub3lpbmcgX2R1bXBfbWVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgUmVtb3ZlIGFubm95aW5nIF9kdW1wX21lbS4KCjIwMDctMDUtMTQgMTE6MTE6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFBhcnNlIHJhbmdlIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpOgoJICBQYXJzZSByYW5nZSBjb3JyZWN0bHkuCgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfZ2V0X3JlcXVlc3RfdXJpKToKCSAgVGhlIGJhc2V1cmwgbm93IGFsd2F5cyBoYXMgYSAnLycgYXQgdGhlIHN0YXJ0LgoKMjAwNy0wNS0xNCAwOTowMTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRmFjdG9yIG91dCBjYXBzIGNvbmZpZ3VyYXRpb24gYW5kIGNvbmZpZ3VyZSBtb3JlIHN0dWZmIHN1Y2ggYXMgdGhlIHRpbWUgcmFuZ2VzIGFuZCBzcGVlZC9zY2FsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jb25maWd1cmVfY2FwcyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgIEZhY3RvciBvdXQgY2FwcyBjb25maWd1cmF0aW9uIGFuZCBjb25maWd1cmUgbW9yZSBzdHVmZiBzdWNoIGFzIHRoZSB0aW1lCgkgIHJhbmdlcyBhbmQgc3BlZWQvc2NhbGUgdmFsdWVzLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgQWRkIENvcHlyaWdodCBhZnRlciBub24tdHJpdmFsIGZpeGVzLgoKMjAwNy0wNS0xMyAxOTo1Nzo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgIEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBCeSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+LgoKMjAwNy0wNS0xMyAxNTo0NzoxMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGNhbiBidWlsZCBpbl9kYXRhICs9IChmaWx0ZXItPndpZHRoIC8gOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGNhbiBidWlsZAoJICBpbl9kYXRhICs9IChmaWx0ZXItPndpZHRoIC8gOCkuCgoyMDA3LTA1LTEyIDE2OjM3OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogTWFrZSBjaGFubmVsIGd1aW50OCB3aGVyZSBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIE1ha2UgY2hhbm5lbCBndWludDggd2hlcmUgcG9zc2libGUuCgkgIE1ha2UgcnRzcF9tZXNzYWdlX2luaXRfZGF0YSgpIHRha2UgdGhlIGNoYW5uZWwgYXMgYSBndWludDguCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgRml4ZWQgYSB0eXBvOiBUaW1vdXQgLT4gVGltZW91dAoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIE1ha2UgUlRTUF9DSEVDSygpIGJlaGF2ZSBhcyBhIHN0YXRlbWVudC4KCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6CgkgIEF2b2lkIGEgY29tcGlsZXIgd2FybmluZyBpbiBJTklUX0FSUkFZKCkuCgkgIEZpeGVzICM0Mzc2OTIuCgoyMDA3LTA1LTEyIDE2OjI3OjUxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B1cmwuKjogQWRkIHN1cHBvcnQgZm9yIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gUlRTUCBVUkxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSksIChydHNwX3VybF9mcmVlKSwKCSAgKHJ0c3BfdXJsX2dldF9yZXF1ZXN0X3VyaSk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgcXVlcnkgcGFyYW1ldGVycyB0byBSVFNQIFVSTHMuCgoyMDA3LTA1LTEyIDE2OjI2OjA2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuKjogQWRkIHZhbGlkYXRpb24gdG8gcnRzcF90cmFuc3BvcnRfcGFyc2UoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfaW5pdCksIChwYXJzZV9tb2RlKSwKCSAgKHBhcnNlX3JhbmdlKSwgKHJhbmdlX2FzX3RleHQpLCAocnRzcF90cmFuc3BvcnRfbW9kZV9hc190ZXh0KSwKCSAgKHJ0c3BfdHJhbnNwb3J0X3Byb2ZpbGVfYXNfdGV4dCksIChydHNwX3RyYW5zcG9ydF9sdHJhbnNfYXNfdGV4dCksCgkgIChydHNwX3RyYW5zcG9ydF9wYXJzZSksIChydHNwX3RyYW5zcG9ydF9hc190ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEFkZCB2YWxpZGF0aW9uIHRvIHJ0c3BfdHJhbnNwb3J0X3BhcnNlKCkuCgkgIEFkZCBydHNwX3RyYW5zcG9ydF9hc190ZXh0KCkgdG8gZ2VuZXJhdGUgYW4gUlRTUCBoZWFkZXIgZnJvbSBhbgoJICBSVFNQVHJhbnNwb3J0LgoJICBDaGFuZ2Ugc3NyYyB0byBndWludCAod2FzIGEgc3RyaW5nKSBzaW5jZSB0aGF0IGlzIHdoYXQgaXQgaXMsIGV2ZW4KCSAgdGhvdWdoIGl0IGlzIHNlbnQgYXMgYSBoZXggc3RyaW5nLgoJICBDb3JyZWN0bHkgaWRlbnRpZnkgUExBWXxSRUNPUkQgbW9kZSBwYXJhbWV0ZXJzICh0aGUgc3ludGF4IGluIHRoZSBSRkMgaXMKCSAgaW5jb3JyZWN0LCB3aGljaCBjYW4gYmUgc2VlbiB3aGVuIGxvb2tpbmcgYXQgdGhlIGV4YW1wbGVzIGluIHRoZSBSRkMpLgoJICBGaXhlcyAjNDM3NjcwLgoKMjAwNy0wNS0xMSAxNjoxMTowNCArMDAwMCAgRXJpYyBBbmhvbHQgPGFuaG9sdEBmcmVlYnNkLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfb3Blbl9kaXNwbGF5LCBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFcmljIEFuaG9sdAoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX29wZW5fZGlzcGxheSwKCSAgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIFVzZSB1bmlvbiBvZiBhbGwgZGFtYWdlIGJldHdlZW4gZnJhbWVzIHRvIG1ha2UgaXQgZmFzdGVyLgoJICBGaXhlcyBidWcgIzM0MjQ2My4KCSAgQWxzbyBmaXggY3Jhc2hlciB3aGVuIGN1cnNvciBpcyBhdCBib3R0b20gcmlnaHQgb2Ygd2luZG93LgoKMjAwNy0wNS0xMSAxNjowMTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTa2lwIExJU1QgY2h1bmtzIGJlZm9yZSB0aGUgZm10IGNodW5rIChmaXhlcyAjNDM3NDk5KS4gQWxzbyBmaXggc3RyZWFtaW5nIG1vZGUgcmVncmVzc2lvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFNraXAgTElTVCBjaHVua3MgYmVmb3JlIHRoZSBmbXQgY2h1bmsgKGZpeGVzICM0Mzc0OTkpLiBBbHNvIGZpeAoJICBzdHJlYW1pbmcgbW9kZSByZWdyZXNzaW9uIGZvciBmaWxlIGZyb20gIzM0MzgzNyB3aXRoICdiZXh0JyBjaHVuawoJICBiZWZvcmUgdGhlICdmbXQnIGNodW5rLgoKMjAwNy0wNS0xMSAxNTowOTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUHJlbGltaW5hcnkgc2VlayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCksCgkgIChnc3RfcnRzcHNyY19kb19zZWVrKSwgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIFByZWxpbWluYXJ5IHNlZWsgc3VwcG9ydC4KCSAgQWN0aXZhdGUgaW50ZXJuYWwgcGFkcyBzbyB0aGF0IHdlIGNhbiByZWNlaXZlIGV2ZW50cyBvbiB0aGVtLgoJICBEb24ndCB0cnkgdG8gcGFyc2UgYSByYW5nZSBzdHJpbmcgd2hlbiBpdCdzIE5VTEwuCgoyMDA3LTA1LTExIDE1OjA0OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUgd2l0aCBuZXcgUlRQIHZhcmlhYmxlcyB0aGF0IHdpbGwgYmUgdXNlZCBmb3Igc3luY2hyb25pc2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRSB3aXRoIG5ldyBSVFAgdmFyaWFibGVzIHRoYXQgd2lsbCBiZSB1c2VkIGZvcgoJICBzeW5jaHJvbmlzYXRpb24uCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZGVjb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFVwZGF0ZSB2b3JiaXMgcGF5IGFuZCBkZXBheWxvYWRlciB0byBkcmFmdC0wNC4KCjIwMDctMDUtMTEgMTE6MjQ6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IFVEUCBNQ0FTVCBpcyBhY3R1YWxseSB0aGUgZGVmYXVsdCBmb3IgUlRQL0FWUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBVRFAgTUNBU1QgaXMgYWN0dWFsbHkgdGhlIGRlZmF1bHQgZm9yIFJUUC9BVlAuCgoyMDA3LTA1LTExIDEwOjMxOjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfc3RhcnQsIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19zdGFydCwKCSAgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaCAobGFzdF94aW1hZ2UpOgoJICBXaGVuIHVzaW5nIERhbWFnZSBhY3R1YWxseSBrZWVwIHRoZSBsYXN0IGZyYW1lLCBhbmQgbm90IGFzc3VtZQoJICB0aGF0IHRoZSBidWZmZXIgd2UgZ2V0IGFscmVhZHkgaGFzIHRoZSBsYXN0IGZyYW1lIG9uIGl0LgoJICBDb3B5IHRoZSBjdXJzb3Igb3ZlciBpZiB3ZSBzcGVjaWZ5IGEgbm9uLXplcm8gc3RhcnQgeCBhbmQKCSAgc3RhcnQgeS4KCjIwMDctMDUtMTEgMDk6MTI6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IE1ha2UgVURQIHRoZSBkZWZhdWx0IHRyYW5zcG9ydCB3aGVuIG5vdCBzcGVjaWZpZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgTWFrZSBVRFAgdGhlIGRlZmF1bHQgdHJhbnNwb3J0IHdoZW4gbm90IHNwZWNpZmllZC4KCjIwMDctMDUtMTAgMTQ6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LCBnc3RfcXRkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwKCSAgZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSwgZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cywKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSwgZ3N0X3F0ZGVtdXhfbG9vcCwKCSAgcXRkZW11eF9wYXJzZV9zZWdtZW50cywgcXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgsCgkgIHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCwgcnRwX3Nlc3Npb25fZ2V0X2NuYW1lLAoJICBydHBfc2Vzc2lvbl9nZXRfbmFtZSwgcnRwX3Nlc3Npb25fZ2V0X2VtYWlsLCBydHBfc2Vzc2lvbl9nZXRfcGhvbmUsCgkgIHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiwgcnRwX3Nlc3Npb25fZ2V0X3Rvb2wsCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllLCBzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jIChydHBfc291cmNlX3Byb2Nlc3NfcnRwLAoJICBydHBfc291cmNlX3NlbmRfcnRwLCBydHBfc291cmNlX3Byb2Nlc3Nfc3IsIHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgIE1vcmUgZm9ybWF0IGFyZyBmaXhpbmcgKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmUgbGlicmFyaWVzKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgoyMDA3LTA1LTEwIDAxOjIxOjE5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBSZXZlcnQgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBSZXZlcnQgbGFzdCBjaGFuZ2UuCgoyMDA3LTA1LTA5IDIxOjMwOjUzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYga25vdyB0aGUgc2l6ZSBvZiBkYXRhIHBvaW50ZWQgd2hlbiBtb3ZpbmcgdGhlIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NhbGN1bGF0ZV8jI1RZUEUpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGtub3cgdGhlIHNpemUgb2YgZGF0YQoJICBwb2ludGVkIHdoZW4gbW92aW5nIHRoZSBwb2ludGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgTW92ZSBpbnN0cnVjdGlvbnMgYWZ0ZXIgdmFyaWFibGVzIGRlY2xhcmF0aW9uLgoJICAqIHdpbjMyL3ZzNi9hdXRvZ2VuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgIFVwZGF0ZSB2czYgcHJvamVjdCBmaWxlcy4KCjIwMDctMDUtMDkgMTE6MjM6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBjb2RlIHRvIHBhcnNlIHRpbWUgcmFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuYzogKHBhcnNlX25wdF90aW1lKSwgKHBhcnNlX25wdF9yYW5nZSksCgkgIChwYXJzZV9jbG9ja19yYW5nZSksIChwYXJzZV9zbXB0ZV9yYW5nZSksIChydHNwX3JhbmdlX3BhcnNlKSwKCSAgKHJ0c3BfcmFuZ2VfZnJlZSk6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmg6CgkgIEFkZCBjb2RlIHRvIHBhcnNlIHRpbWUgcmFuZ2VzLgoJICBSZXBvcnQgRFVSQVRJT04gb24gdGhlIHN0cmVhbSB3aGVuIHBvc3NpYmxlLgoKMjAwNy0wNS0wOCAxNTo0OTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IHN0cmlkZXMgY2FsY3VsYXRpb24gZm9yIEFZVVYgKGl0J3MganVzdCB3aWR0aCo0KSAoIzQzNjkxMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2JsZW5kX2F5dXZfYXl1diksCgkgIChnc3RfdmlkZW9taXhlcl9maWxsX2NoZWNrZXIpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9jb2xvciksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICBGaXggc3RyaWRlcyBjYWxjdWxhdGlvbiBmb3IgQVlVViAoaXQncyBqdXN0IHdpZHRoKjQpICgjNDM2OTEwKS4KCjIwMDctMDUtMDYgMjE6MzI6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIGJlZm9yZSBlYWNoIHByb2Nlc3Npbmcgc3RlcCB0byBwcm9wZXJseSB3b3JrIHdpdGggdGhlIGNvbnRyb2xsZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIGJlZm9yZSBlYWNoIHByb2Nlc3Npbmcgc3RlcCB0byBwcm9wZXJseQoJICB3b3JrIHdpdGggdGhlIGNvbnRyb2xsZXIuCgoyMDA3LTA1LTA0IDE1OjE3OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBMZXQgbW9yZSBlcnJvciBzdGF0ZSB0cmlja2xlIGRvd24gc28gdGhhdCB3ZSBjYW4gY2F0Y2ggbW9yZSBlcnJvciBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgTGV0IG1vcmUgZXJyb3Igc3RhdGUgdHJpY2tsZSBkb3duIHNvIHRoYXQgd2UgY2FuIGNhdGNoIG1vcmUgZXJyb3IKCSAgY2FzZXMuCgkgIEhhbmRsZSBrZWVwLWFsaXZlIGEgbGl0dGxlIHNtYXJ0ZXIgYnkgc2VsZWN0aW5nIGEgbWV0aG9kIHRoZSBzZXJ2ZXIKCSAgYWN0dWFsbHkgc3VwcG9ydHMuCgkgIEZpeCBhIHJhY2UgaW4gVURQIHN0cmVhbWluZyBzaHV0ZG93bi4KCjIwMDctMDUtMDQgMTM6MDQ6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElnbm9yZSBlcnJvcnMgd2hlbiB0cnlpbmcgdG8gdXNlIHRoZSBrZWVwLWFsaXZlIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpOgoJICBJZ25vcmUgZXJyb3JzIHdoZW4gdHJ5aW5nIHRvIHVzZSB0aGUga2VlcC1hbGl2ZSBtZXNzYWdlcy4KCjIwMDctMDUtMDQgMTI6MzE6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFNlbmQgUlRDUCBtZXNzYWdlcyBiYWNrIHRvIHRoZSBzZXJ2ZXIgb3ZlciB0aGUgVENQIGNvbm5lY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZV91ZHApLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KToKCSAgU2VuZCBSVENQIG1lc3NhZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBvdmVyIHRoZSBUQ1AgY29ubmVjdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3dyaXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgRmFjdG9yIG91dCBhbmQgZXhwb3NlIGxvd2xldmVsIF93cml0ZSBhbmQgX3JlYWQgbWV0aG9kcy4KCSAgSW1wbGVtZW50IHNlbmRpbmcgZGF0YSBtZXNzYWdlcyB0byB0aGUgc2VydmVyLgoKMjAwNy0wNS0wMyAxNTo1NTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEZpeCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA3LTA1LTAzIDE0OjM5OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogRW1pdCBORVdTRUdNRU5UIGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGUgZmlyc3QgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAoZ3N0X211bHRpcGFydF9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBFbWl0IE5FV1NFR01FTlQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZSBmaXJzdCBidWZmZXIuCgoyMDA3LTA1LTAzIDEzOjQ4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWZhY3RvciB0cmFuc3BvcnQgY29uZmlndXJhdGlvbiBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZV91ZHApLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICBSZWZhY3RvciB0cmFuc3BvcnQgY29uZmlndXJhdGlvbiBjb2RlLgoJICBDcmVhdGUgaW50ZXJuYWwgcGFkcyBmb3IgVENQIHRyYW5zcG9ydCBzbyB0aGF0IHdlIGNhbiBpbXBsZW1lbnQgZXZlbnRzCgkgIGFuZCBxdWVyaWVzLgoJICBIYW5kbGUgZXZlbnRzIGFuZCBxdWVyaWVzLgoJICBQYXJzZSByYW5nZSBmcm9tIHRoZSBTRFAuCgkgIEZpeCByYWNlIGluIHBhdXNlIGhhbmRsZXIgd2hlcmUgdGhlIGNvbm5lY3Rpb24gY291bGQgc3RpbGwgYmUgZmx1c2hpbmcuCgoyMDA3LTA1LTAyIDE5OjMyOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBGaXggcmFjZSB3aGVuIG11bHRpcGxlIHVkcCBzb3VyY2VzIHBvc3QgdGltZW91dHMsIGp1c3QgYWN0IG9uIHRoZSBmaXJzdCByZWNlaXZlZCB0aW1lb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfYXN5bmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksCgkgIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggcmFjZSB3aGVuIG11bHRpcGxlIHVkcCBzb3VyY2VzIHBvc3QgdGltZW91dHMsIGp1c3QgYWN0IG9uIHRoZSBmaXJzdAoJICByZWNlaXZlZCB0aW1lb3V0LgoJICBQcm90ZWN0IHN0cmVhbSBsaXN0IHdpdGggYSByZWN1cnNpdmUgbG9jayB0byBmaXggc29tZSByYWNlcy4KCSAgRmx1c2ggY29ubmVjdGlvbiB3aGVuIHdlIG5lZWQgdG8gZG8gYSByZWNvbm5lY3Qgb3Igc3RvcC4KCSAgTWFrZSBzdGF0ZSBsb2NrIHJlY3Vyc2l2ZS4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgU29tZSBzbWFsbCBjbGVhbnVwcy4KCjIwMDctMDUtMDIgMTg6MzE6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEhhbmRsZSBESVNDT05UIGJ1ZmZlcnMgYnkgY29ycmVjdGx5IHNldHRpbmcgdGhlIERJU0NPTlQgZmxhZwoJICBvbiBvdXRnb2luZyBidWZmZXJzIHdoZW4gbmVjZXNzYXJ5LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpCgkgIFNlbmQgbmV3c2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNy0wNS0wMiAxODoyNTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBPbmx5IHNldCBESVNDT05UIHdoZW4gdGhlcmUgYWN0dWFsbHkgaXMgYSBkaXNjb250IG9yIHdoZW4gd2UganVzdCBzdGFydGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIE9ubHkgc2V0IERJU0NPTlQgd2hlbiB0aGVyZSBhY3R1YWxseSBpcyBhIGRpc2NvbnQgb3Igd2hlbiB3ZSBqdXN0CgkgIHN0YXJ0ZWQuCgoyMDA3LTA1LTAyIDE4OjAxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjLmM6IENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCjIwMDctMDUtMDIgMTc6MTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogQmUgYSBiaXQgbW9yZSBjbGV2ZXIgd2hlbiBkZWFsaW5nIHdpdGggVkJSIGZpbGVzIHdpdGggRkFDVCB0YWdzLCB3ZSBkb24ndCB3YW50IHRvIHRpbWVzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgQmUgYSBiaXQgbW9yZSBjbGV2ZXIgd2hlbiBkZWFsaW5nIHdpdGggVkJSIGZpbGVzIHdpdGggRkFDVCB0YWdzLCB3ZQoJICBkb24ndCB3YW50IHRvIHRpbWVzdGFtcCBidWZmZXJzIGluIHRoYXQgY2FzZSBidXQgdGhlIGVzdGltYXRlZCBCUFMgY2FuCgkgIGJlIHVzZWQgZm9yIHNlZWtpbmcuCgkgIE9ubHkgc2VuZCBjbG9zZSBzZWdtZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNy0wNS0wMiAxNzowODowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBDb3JyZWN0bHkgcG9zdCBhbiBlcnJvciBvbiB0aGUgYnVzIGlmIHNvbWV0aGluZyB3ZW50IHdyb25nIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBUaGlzIGZpeGVzIGEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKToKCSAgQ29ycmVjdGx5IHBvc3QgYW4gZXJyb3Igb24gdGhlIGJ1cyBpZiBzb21ldGhpbmcgd2VudCB3cm9uZyBpbiB0aGUgbG9vcAoJICBmdW5jdGlvbi4gVGhpcyBmaXhlcyBhIGZldyBjYXNlcyB3aGVyZSB0aGUgdGFzayB3YXMgcGF1c2VkIGFuZCBub3RoaW5nCgkgIGhhcHBlbmVkIGFueW1vcmUuCgoyMDA3LTA1LTAyIDE2OjU4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3Qgc2FtcGxlLiBXaXRoIHRoZSBmaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0CgkgIHNhbXBsZS4gV2l0aCB0aGUgZml4ZWQgZXJyb3IgaGFuZGxpbmcgdGhpcyB3b3JrcyBub3cgYXMgZXhwZWN0ZWQKCSAgd2l0aG91dCBwdXNoaW5nIHRoZSBsYXN0IHNhbXBsZSBhbHRob3VnaCBpdCB3YXNuJ3QgcmVxdWVzdGVkLgoKMjAwNy0wNS0wMiAxNjo0NTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGggc3RvcCBwb3NpdGlvbiA9PSAtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoCgkgIHN0b3AgcG9zaXRpb24gPT0gLTEgYW5kIGluc3RlYWQgb2Ygc3RvcHBpbmcgdGhlIHRhc2sgb24gc2VlayBqdXN0CgkgIHBhdXNlIGl0LgoKMjAwNy0wNS0wMiAxNjoxOTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoKMjAwNy0wNS0wMiAxNToxMzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQgd2FzIGVhc3kgdG8gZ2V0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQKCSAgd2FzIGVhc3kgdG8gZ2V0IHRoZSB0YXNrIHBhdXNlZCBidXQgbm8gZXJyb3IgYmVpbmcgcG9zdGVkIG9uIHRoZSBidXMuCgoyMDA3LTA1LTAyIDE0OjI3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvdGVzdC5jOiBGaXggY29tcGlsYXRpb24gb2YgZGVwcmVjYXRlZCB0ZXN0IGp1c3QgYmVjYXVzZSBJJ20gdG9vIGxhenkgdG8gZGVsZXRlIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC90ZXN0LmM6IChtYWluKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIGRlcHJlY2F0ZWQgdGVzdCBqdXN0IGJlY2F1c2UgSSdtIHRvbyBsYXp5IHRvIGRlbGV0ZQoJICBpdC4KCjIwMDctMDUtMDIgMTM6MzI6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZpeCBzZW5kaW5nIFJUQ1AgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggc2VuZGluZyBSVENQIHRvIHRoZSByaWdodCBwbGFjZS4KCSAgRml4IGJ1ZyBpbiByZWZmaW5nIHRoZSB3cm9uZyBVRFAgZWxlbWVudC4KCSAgVXNlIG5ldyBwYWQgbmFtZXMgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEltcGxlbWVudCBoYW5kbGluZyBzZXJ2ZXIgcmVxdWVzdHMgaW4gaW50ZXJsZWF2ZWQgYW5kIFVEUCBtb2Rlcy4KCSAgSGFuZGxlIHNlc3Npb24ga2VlcC1hbGl2ZSBpbiBVRFAgbW9kZXMuCgkgIFJlbW92ZSBHQ29uZCBmb3IgaGFuZGxpbmcgVURQIHRpbWVvdXRzLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksIChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpLCAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBTdG9yZSBjb25uZWN0aW9uIElQIGFkZHJlc3MgZm9yIGxhdGVyLgoJICBBZGQgdGltZW91dCBhcmdzIHRvIGFsbCBvcGVyYXRpb25zIHRoYXQgbWlnaHQgYmxvY2sgZm9yZXZlci4KCSAgUGFyc2Ugc2Vzc2lvbiB0aW1lb3V0LgoJICBPbmx5IGNsb3NlIHNvY2tldHMgd2hlbiBub3QgYWxyZWFkeSBjbG9zZWQuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGQgdGltZW91dCByZXR1cm4gdmFsdWUgYW5kIGVycm9yIHN0cmluZy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpOgoJICBBZGQgc21hbGwgY29tbWVudC4KCjIwMDctMDUtMDEgMTY6MTM6NTggKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS4qOiBIYW5kbGUgTkVXU0VHTUVOVCBhbmQgRkxVU0ggZXZlbnRzLiBGaXhlcyAjNDM0ODI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9lbXB0eSksIChnc3RfcnRwX21wNHZfcGF5X2V2ZW50KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgSGFuZGxlIE5FV1NFR01FTlQgYW5kIEZMVVNIIGV2ZW50cy4gRml4ZXMgIzQzNDgyNC4KCjIwMDctMDQtMzAgMTE6MTU6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDogUmVtb3ZlIHY0bDJzcmMgZnJvbSBkb2NzLCBzaW5jZSBpdCBicmVha3MgdGhlIGRvY3MgYnVpbGQsIGFuZCB0aGUgcGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFJlbW92ZSB2NGwyc3JjIGZyb20gZG9jcywgc2luY2UgaXQgYnJlYWtzIHRoZSBkb2NzIGJ1aWxkLCBhbmQgdGhlCgkgIHBsdWdpbiBpcyBvbmx5IGJ1aWx0IGlmIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBpcyB1c2VkIGFueXdheS4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFNwYWNlcyA9PiB0YWIuCgoyMDA3LTA0LTI5IDE0OjQzOjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogQWRkIGNvZGUgdG8gZHJvcCBtZW1iZXJzaGlwIG9mIGEgbXVsdGljYXN0IGdyb3VwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAobGVhdmVfbXVsdGljYXN0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgQWRkIGNvZGUgdG8gZHJvcCBtZW1iZXJzaGlwIG9mIGEgbXVsdGljYXN0IGdyb3VwLgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfdXBkYXRlX3VyaSksCgkgIChnc3RfdWRwc2lua19zZXRfdXJpKToKCSAgSW1wbGVtZW50IFVSSSBoYW5kbGVyLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBVc2UgVVJJIGhhbmRsZXIgdG8gbWFrZSB1ZHBzaW5rIGluc3RhY2UuCgkgIEltcHJvdmUgY29kZSB0byBjb25maWd1cmUgcG9ydCBhbmQgZGVzdGluYXRpb24uCgoyMDA3LTA0LTI5IDEzOjU2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgODAgY2hhciBwb2xpY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDgwIGNoYXIgcG9saWNlCgoyMDA3LTA0LTI5IDEzOjUzOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IFJlcXVpcmUgYXV0b21ha2UgMS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIFJlcXVpcmUgYXV0b21ha2UgMS43CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBNYWtlZmlsZS5hbSBhY2NvcmRpbmdseS4KCjIwMDctMDQtMjkgMTM6NDk6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgamFjayBhbmQgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBBZGQgamFjayBhbmQgdXBkYXRlLgoKMjAwNy0wNC0yOSAxMjoxOToyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEZpeCBtdWx0aWNhc3QgZGV0ZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICBGaXggbXVsdGljYXN0IGRldGVjdGlvbi4KCSAgRG9uJ3QgdHJ5IHRvIGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAgaWYgdGhlIGFkZHJlc3MgaXMgbm90IG11bHRpY2FzdC4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY191cGRhdGVfdXJpKToKCSAgU21hbGwgZGVidWcgaW1wcm92ZW1lbnQuCgoyMDA3LTA0LTI3IDE2OjQ0OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZ25vcmUgQVNZTkMgc3RhdGUgbWVzc2FnZXMgZnJvbSB0aGUgdWRwc2luaywgaXQncyBpcnJlbGV2YW50IGZvciB0aGUgcGFyZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICBJZ25vcmUgQVNZTkMgc3RhdGUgbWVzc2FnZXMgZnJvbSB0aGUgdWRwc2luaywgaXQncyBpcnJlbGV2YW50IGZvciB0aGUKCSAgcGFyZW50LgoKMjAwNy0wNC0yNyAxNTozMDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6IEZpeCBtb2RlIHByb3BlcnR5IHdoZW4gc3BlY2lmaWVkIGFzIGFuIGFyZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSAgRml4IG1vZGUgcHJvcGVydHkgd2hlbiBzcGVjaWZpZWQgYXMgYW4gYXJnLgoKMjAwNy0wNC0yNiAxNTowODoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3hhdWRpbyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3hhdWRpby54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3hhdWRpbyBwbHVnaW4uCgoyMDA3LTA0LTI2IDE0OjMxOjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3h2aWRlby54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoKMjAwNy0wNC0yNiAxMDowODoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUHJvdGVjdCBzdGF0ZSBjaGFuZ2VzIHdpdGggYSBsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFByb3RlY3Qgc3RhdGUgY2hhbmdlcyB3aXRoIGEgbG9jay4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChwYXJzZV9saW5lKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgc3R1ZmYuCgoyMDA3LTA0LTI2IDA4OjQ4OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGFyZSBleGFjdGx5IDAgYnl0ZXMgdG8gcmVhZCBhbmQgdGhlIGlvY3RsIGRpZCBub3QgcmVwb3J0IGFuIGVycm9yLiBGLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUgZXhhY3RseSAwIGJ5dGVzIHRvIHJlYWQgYW5kIHRoZSBpb2N0bAoJICBkaWQgbm90IHJlcG9ydCBhbiBlcnJvci4gRml4ZXMgIzQzMzUzMC4KCjIwMDctMDQtMjYgMDg6Mzk6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogQXBwbHkgRElTQ09OVCB0byBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEFwcGx5IERJU0NPTlQgdG8gYnVmZmVycy4KCSAgT25seSBhcHBseSB0aW1lc3RhbXAgdG8gdGhlIGZpcnN0IHNhbXBsZSBhZnRlciBhIERJU0NPTlQsIHRvbyBtYW55IFZCUgoJICBmaWxlcyBjYXVzZSByYW5kb20gaml0dGVyIGluIHRoZSB0aW1lc3RhbXBzLiBGaXhlcyAjNDMzMTE5LgoKMjAwNy0wNC0yNSAxNTo1NTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBBZGQgZHVtbXkgbGF0ZW5jeSBwcm9wZXJ0eSB0byBiZSBiYWNrd2FyZHMgY29tcGF0IHdpdGggcnRwYmluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9kZWNfaW5pdCksIChnc3RfcnRwX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9kZWNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgQWRkIGR1bW15IGxhdGVuY3kgcHJvcGVydHkgdG8gYmUgYmFja3dhcmRzIGNvbXBhdCB3aXRoIHJ0cGJpbi4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgbGF0ZW5jeSBwcm9wZXJ0eSBhbmQgY29uZmlndXJlIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIERvbid0IHNldCBpbnZhbGlkIGNsb2NrLWJhc2UgYW5kIHNlcW51bS1iYXNlIG9uIGNhcHMsIHNvbWUgc2VydmVycwoJICBzb21ldGltZXMgZG9uJ3Qgc2VuZCB0aGVtLgoKMjAwNy0wNC0yNSAxNTozMTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IERvdWJsZS1jaGVjayB0aGF0IFJHQiBpbnB1dCBjYXBzIGFyZSByZWFsbHkgUkdCQSBjYXBzIChhcHBhcmVudGx5IHRoZSBjb3JlIGRvZXNuJ3QgYWx3YXlzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKToKCSAgRG91YmxlLWNoZWNrIHRoYXQgUkdCIGlucHV0IGNhcHMgYXJlIHJlYWxseSBSR0JBIGNhcHMgKGFwcGFyZW50bHkKCSAgdGhlIGNvcmUgZG9lc24ndCBhbHdheXMgY2F0Y2ggaXQgaWYgdGhvc2UgY2FwcyBhcmVuJ3QgYSBzdWJzZXQgb2YKCSAgb3VyIHRlbXBsYXRlIGNhcHMsIGFsc28gc2VlICM0MjE1NDMpLiBGaXhlcyAjNDI5MzE5IGluIGEgd2F5LgoJICBBbHNvLCBkb24ndCBsZWFrIHRoZSBwYWQgdGVtcGxhdGUgaW4gdGhlIHRyYW5zZm9ybV9jYXBzIGZ1bmN0aW9uLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOiAoc2V0dXBfYWxwaGFjb2xvciksCgkgIChjbGVhbnVwX2FscGhhY29sb3IpLCAoY3JlYXRlX2NhcHNfcmdiMjQpLCAoY3JlYXRlX2NhcHNfcmdiYTMyKSwKCSAgKGNyZWF0ZV9idWZmZXJfcmdiMjRfM3g0KSwgKGNyZWF0ZV9idWZmZXJfcmdiYTMyXzN4NCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhbHBoYWNvbG9yX3N1aXRlKToKCSAgQWRkIHNvbWUgYmFzaWMgdW5pdCB0ZXN0cyBmb3IgYWxwaGFjb2xvci4KCjIwMDctMDQtMjUgMTU6MDg6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBJZiB3ZSBnZXQgYSBmYXRhbCBmbG93IHJldHVybiBpbiB0aGUgbG9vcCBmdW5jdGlvbiwgZmlyc3QgcG9zdCB0aGUgZXJyb3IgbWVzc2FnZSBhbmQgb25seSB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfdGFzayk6CgkgIElmIHdlIGdldCBhIGZhdGFsIGZsb3cgcmV0dXJuIGluIHRoZSBsb29wIGZ1bmN0aW9uLCBmaXJzdCBwb3N0IHRoZQoJICBlcnJvciBtZXNzYWdlIGFuZCBvbmx5IHRoZW4gc2VuZCB0aGUgRU9TIGV2ZW50IGRvd25zdHJlYW0sIG90aGVyd2lzZQoJICBhcHBsaWNhdGlvbnMgbWlnaHQgZ2V0IGFuIGVvcyBtZXNzYWdlIGJlZm9yZSB0aGUgZXJyb3IgbWVzc2FnZSBhbmQKCSAgdGhpbmsgZXZlcnl0aGluZyB3YXMgb2sgKHJlbGF0ZWQgdG8gIzQyOTMxOSkuCgoyMDA3LTA0LTI1IDEwOjA3OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogUmVhZCB0aGUgY2hhbm5lbCBieXRlIGFzIGFuIHVuc2lnbmVkIGJ5dGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgIFJlYWQgdGhlIGNoYW5uZWwgYnl0ZSBhcyBhbiB1bnNpZ25lZCBieXRlLgoKMjAwNy0wNC0yNSAwOTo0Nzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBNYWtlIHN1cmUgd2UgY29uZmlndXJlIHRoZSBjbG9ja19yYXRlIGluIHRoZSBiYXNlY2xhc3MgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24uIEZpeGVzICM0MzEyODIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nc21fZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaWxiY19kZXBheV9pbml0KSwgKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaWxiY19kZXBheV9wcm9jZXNzKSwgKGdzdF9pbGJjX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWxiY19kZXBheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9wY21hX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3BjbXVfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2Ugc3VyZSB3ZSBjb25maWd1cmUgdGhlIGNsb2NrX3JhdGUgaW4gdGhlIGJhc2VjbGFzcyBpbiB0aGUgc2V0Y2FwcwoJICBmdW5jdGlvbi4gRml4ZXMgIzQzMTI4Mi4KCjIwMDctMDQtMjUgMDg6MzY6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFBhcnNlIHNlcnZlciBhZGRyZXNzIGZyb20gU0RQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFBhcnNlIHNlcnZlciBhZGRyZXNzIGZyb20gU0RQLgoJICBIb29rIHVwIGEgdWRwc2luayB0byBzZW5kIFJUQ1AgYmFjayB0byB0aGUgc2VydmVyLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgQWRkIHNvbWUgZG9jcy4KCjIwMDctMDQtMjUgMDY6NTI6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBNYWtlIGhlYWRlciBmaWVsZCBjaGVjayBjb25kaXRpb25hbC4gRml4ZXMgIzQzMzEzNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIE1ha2UgaGVhZGVyIGZpZWxkIGNoZWNrIGNvbmRpdGlvbmFsLiBGaXhlcyAjNDMzMTM1CgoyMDA3LTA0LTI0IDA5OjEyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIG1pbmltYWwgZG9jcyBibHVyYiB0byBhbHBoYWNvbG9yOyBzcGxpdCBvdXQgaGVhZGVycyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlIGZvciBndGstZG9jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIEFkZCBtaW5pbWFsIGRvY3MgYmx1cmIgdG8gYWxwaGFjb2xvcjsgc3BsaXQgb3V0IGhlYWRlcnMgaW50bwoJICBzZXBhcmF0ZSBoZWFkZXIgZmlsZSBmb3IgZ3RrLWRvYy4KCjIwMDctMDQtMjAgMTc6MjU6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogRG9uJ3QgdHJ5IHRvIHBvc3QgTlVMTCBtZXNzYWdlIChpbiBjYXNlIHdlIGNhbid0IHF1ZXJ5IHVwc3RyZWFtIHBvc2l0aW9uIG9yIGR1cmF0aW9uKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3JlcG9ydCk6CgkgIERvbid0IHRyeSB0byBwb3N0IE5VTEwgbWVzc2FnZSAoaW4gY2FzZSB3ZSBjYW4ndCBxdWVyeSB1cHN0cmVhbQoJICBwb3NpdGlvbiBvciBkdXJhdGlvbikuCgoyMDA3LTA0LTE4IDEyOjM2OjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvY3V0dGVyL2dzdGN1dHRlci4qOiBGaXggc29tZSBvZiB0aGUgbW9zdCBvYnZpb3VzIGJ1Z3MgaW4gY3V0dGVyLiBOb3cgZG9lc24ndCBsZWFrIGV2ZXJ5dGhpbmcgaWYgaW5wdXQgaXMgc2lsZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9pbml0KSwgKGdzdF9jdXR0ZXJfY2hhaW4pLAoJICAoZ3N0X2N1dHRlcl9nZXRfY2Fwcyk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgRml4IHNvbWUgb2YgdGhlIG1vc3Qgb2J2aW91cyBidWdzIGluIGN1dHRlci4gTm93IGRvZXNuJ3QgbGVhawoJICBldmVyeXRoaW5nIGlmIGlucHV0IGlzIHNpbGVudC4KCjIwMDctMDQtMTggMDk6NDg6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IGV2ZXJ5dGhpbmcgZWxzZSByZXN1bHRzIGluIGEgaW52YWxpZCBibG9jayBhbGlnbiBhbmQgaW52YWxpZCBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIFdhdiBhcHBhcmVudGx5IG9ubHkgc3VwcG9ydHMgd2lkdGg9PUdTVF9ST1VORF9VUChkZXB0aCksIGV2ZXJ5dGhpbmcKCSAgZWxzZSByZXN1bHRzIGluIGEgaW52YWxpZCBibG9jayBhbGlnbiBhbmQgaW52YWxpZCBmaWxlcy4KCjIwMDctMDQtMTcgMTY6Mzk6MDIgKzAwMDAgIFNuYWlrIDxzbmFpazMyQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOiBBZGQgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQgZm9yIEJPWF9IT1JJWk9OVEFMIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU25haWsgPHNuYWlrMzIgZ21haWwgY29tPgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOiAoZ3N0X3dpcGVfYm94ZXNfZHJhdyk6CgkgIEFkZCBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudCBmb3IgQk9YX0hPUklaT05UQUwgY2FzZS4KCjIwMDctMDQtMTcgMTA6MTQ6NDMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIGludGVnZXIgdHlwZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSA8dnRvcnJpIGF0IHVuaXYtZXZyeSBkb3QgZnI+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBVc2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgaW50ZWdlciB0eXBlcy4KCjIwMDctMDQtMTcgMDI6NTE6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX3RlbXBsYXRlX2NhcHMgKCkgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKToKCSAgVXNlIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb190ZW1wbGF0ZV9jYXBzICgpIGluc3RlYWQgb2YgdGhlIGxvY2FsIGNhcHMuCgkgIFRoaXMgbWFrZXMgdXBkYXRlcyBvZiB0aGUgbG9jYWwgY2FwcyB1bmVjZXNzYXJ5IHdoZW5ldmVyIGxpYmdzdHJpZmYKCSAgZ2V0cyBzdXBwb3J0IGZvciBuZXcgZm9ybWF0cy4KCjIwMDctMDQtMTYgMjE6Mjk6NDAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEZpeCBhbmQvb3IgdXBkYXRlIGNvcHlyaWdodCBhdHRyaWJ1dGlvbnMgKCM0MzAyMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgRml4IGFuZC9vciB1cGRhdGUgY29weXJpZ2h0IGF0dHJpYnV0aW9ucyAoIzQzMDIyOCkuCgoyMDA3LTA0LTE0IDE3OjE4OjE0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgIEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgIFVwZGF0ZSBwcm9qZWN0cyBmaWxlcy4KCjIwMDctMDQtMTMgMDk6MzI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBGaXggZG9jcy4KCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgc29tZSBtb3JlIGV4YW1wbGUgdXJscy4KCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX21hcnNoYWxfQk9YRURfX1VJTlRfVUlOVCksCgkgIChnc3RfcnRwX2RlY19jaGFpbl9ydHApOgoJICBCZXR0ZXIgZGVidWdnaW5nLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAwNy0wNC0xMyAwODoxOTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJlbGF4IHRoZSBhdWRpby9tcGVnIGNhcHMgYWdhaW4gYW5kIGFkZCBGSVhNRTogY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgUmVsYXggdGhlIGF1ZGlvL21wZWcgY2FwcyBhZ2FpbiBhbmQgYWRkIEZJWE1FOiBjb21tZW50LgoKMjAwNy0wNC0xMyAwNjoyMDoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IE1vcmUgc2FuaXR5IGNoZWNrIGZvciB0aGUgaGVhZGVyIGZpZWxkcy4gRml4IHR5cGUgZm9yICdyYXRlJyBoZWFkZXIgZmllbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIE1vcmUgc2FuaXR5IGNoZWNrIGZvciB0aGUgaGVhZGVyIGZpZWxkcy4gRml4IHR5cGUgZm9yICdyYXRlJyBoZWFkZXIKCSAgZmllbGQuCgoyMDA3LTA0LTEyIDE2OjA2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IElmIHRoZSBtZXRhZGF0YSBzdHJpbmdzIHdlIGdldCBpbiB0aGUgc3RyZWFtIGFyZSBub3QgVVRGLTgsIHRyeSB0byBpbnRlcnByZXQgdGhlbSBhY2NvcmRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAobm90Z3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCksCgkgIChnc3RfaWN5ZGVtdXhfdW5pY29kaWZ5KToKCSAgSWYgdGhlIG1ldGFkYXRhIHN0cmluZ3Mgd2UgZ2V0IGluIHRoZSBzdHJlYW0gYXJlIG5vdCBVVEYtOCwgdHJ5IHRvCgkgIGludGVycHJldCB0aGVtIGFjY29yZGluZyB0byB0aGUgY2hhcmFjdGVyIGVuY29kaW5ncyBzcGVjaWZpZWQgaW4gdGhlCgkgIEdTVF9JQ1lfVEFHX0VOQ09ESU5HIGFuZCBHU1RfVEFHX0VOQ09ESU5HIGVudmlyb25tZW50IHZhcmlhYmxlcywgYW5kCgkgIG9ubHkgZmFsbCBiYWNrIHRvIGxvY2FsZS9JU08tODg1OS0xIGlmIHRob3NlIGFyZW4ndCBzZXQgb3IgZG9uJ3QKCSAgd29yay4gU2hvdWxkIGZpeCAjNDI4OTAxLgoKMjAwNy0wNC0xMiAxNDoyMDo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IFVzZSB0aGUgcHJvcGVyIHN5bmMgd29yZCBmb3IgU1BTIGFuZCBQUFMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIFVzZSB0aGUgcHJvcGVyIHN5bmMgd29yZCBmb3IgU1BTIGFuZCBQUFMuCgoyMDA3LTA0LTEyIDExOjQxOjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IGdzdC9ydHAvZm52MWhhc2guYyAoTUFTS18yNCwgRk5WMV9IQVNIXzMyX0lOSVQsIEZOVjFfSEFTSF8zMl9QUklNRSwgZm52MV9oYXNoXzMyX25ldywgZm52MV9oYXNoXy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZm52MWhhc2guYyAoTUFTS18yNCwgRk5WMV9IQVNIXzMyX0lOSVQsIEZOVjFfSEFTSF8zMl9QUklNRSwKCSAgZm52MV9oYXNoXzMyX25ldywgZm52MV9oYXNoXzMyX3VwZGF0ZSwgZm52MV9oYXNoXzMyX3RvXzI0KToKCSAgKiBnc3QvcnRwL2ZudjFoYXNoLmggKF9fR1NUX0ZOVjFfSEFTSF9IX18pOgoJICBBZGQgYSBzaW1wbGUgaGFzaGluZyBpbXBsZW1lbnRhdGlvbiB0aGF0IHdlIGNhbiB1c2UgdG8gZ2VuZXJhdGUKCSAgYSAyNC1iaXQgaWRlbnQgdmFsdWUgYmFzZWQgb24gdGhlIGNvZGVib29rcyBmb3Igdm9yYmlzIGFuZCB0aGVvcmEuCgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYyAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzLAoJICBnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uLAoJICBnc3RfcnRwX3ZvcmJpc19kZXBheV9zd2l0Y2hfY29kZWJvb2ssIGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmMgKGdzdF9ydHBfdm9yYmlzX3BheV9yZXNldF9wYWNrZXQsCgkgIGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCwgZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCwKCSAgZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzLCBnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFVzZSB0aGUgaGFzaGluZyBmdW5jdGlvbiwgZW5zdXJpbmcgdGhhdCB0aGUgc2FtZSBjb2RlYm9va3MgcmVzdWx0CgkgIGluIHRoZSBzYW1lIGlkZW50IGFuZCB0aHVzIHRoZSBzYW1lIFNEUCBkZXNjcmlwdGlvbi4KCSAgVmFyaW91cyBsb2cgZml4ZXMvY2hhbmdlcy4KCjIwMDctMDQtMTIgMTE6Mzc6NTAgKzAwMDAgIGplcnJ5IHRhbiA8amVycnkudGFuQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogaXQgaXMgdGhlIGFwcGxpY2F0aW9uJ3MgcmVzcG9uc2liaWxpdHkgdG8gbWFrZSBzdXJlIGl0IG9wZW4gdGhlIGRldmljZSBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGplcnJ5IHRhbiA8amVycnkgZG90IHRhbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgcmVtb3ZlIHRoZSBjYWxsIG9mICBpb2N0bCAoZmQsIEFVRElPX01JWEVSX01VTFRJUExFX09QRU4pLCBpdCBpcyB0aGUKCSAgYXBwbGljYXRpb24ncyByZXNwb25zaWJpbGl0eSB0byBtYWtlIHN1cmUgaXQgb3BlbiB0aGUgZGV2aWNlIG9uY2UuCgkgIFJlbW92ZSBhIGNhcmVsZXNzIGVycm9yIGlmIEFVRElPREVWIGlzIHNldC4gRml4ZXMgIzM5MjYyMC4KCjIwMDctMDQtMTIgMTA6NTI6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQgY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQKCSAgY2FsY3VsYXRpb25zLgoKMjAwNy0wNC0xMiAwODoyMToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBNYWtlIGJhY2t3YXJkIGNvbXBhdCB3aXRoIHJ0cGJpbiBieSBhZGRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfbWFyc2hhbF9CT1hFRF9fVUlOVF9VSU5UKSwKCSAgKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRwKToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgTWFrZSBiYWNrd2FyZCBjb21wYXQgd2l0aCBydHBiaW4gYnkgYWRkaW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfY2FwcyksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcGxlbWVudCByZXF1ZXN0LXB0LW1hcCBzaWduYWxzIGluc3RlYWQgb2Ygc2V0dGluZyBjYXBzIG9uIHRoZSBidWZmZXJzCgkgIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoKMjAwNy0wNC0xMSAxMDoyNToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwLmM6IFJlZ2lzdGVyIEdzdE5ldEJ1ZmZlciBpbiBwbHVnaW5faW5pdCBzbyB0aGF0IHRoZSB0eXBlIGNhbiBiZSB1c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcyB3aXRob3V0IHJhY2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcC5jOiAocGx1Z2luX2luaXQpOgoJICBSZWdpc3RlciBHc3ROZXRCdWZmZXIgaW4gcGx1Z2luX2luaXQgc28gdGhhdCB0aGUgdHlwZSBjYW4gYmUgdXNlZCBmcm9tCgkgIG11bHRpcGxlIHRocmVhZHMgd2l0aG91dCByYWNlcy4KCjIwMDctMDQtMTEgMTA6MTk6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIHNwZWMgZmlsZQoKMjAwNy0wNC0xMSAwOTo1MzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbWRoZCk6CgkgIEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgRml4ZXMgIzQyNjk3Mi4KCjIwMDctMDQtMTAgMTc6MDY6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IEZpeCBkZXBheWxvYWRlciBjbG9ja19yYXRlIGFuZCBzb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggZGVwYXlsb2FkZXIgY2xvY2tfcmF0ZSBhbmQgc29tZSBjbGVhbnVwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBEb24ndCBwdXNoIGNvZGVjX2RhdGEgaW4gdGhlIGFkYXB0ZXIgYmVjYXVzZSBpdCBtaWdodCBnZXQgZmx1c2hlZCB3aGVuCgkgIHdlIGdldCBhIGRpc2NvbnQuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgSGFuZGxlIG11bHRpcGxlIEFVIHBlciBwYWNrZXQuCgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgIERpc2FibGUgcmFuaywgdGhpcyBvbmUgZG9lcyBub3Qgd29yay4KCSAgUmVtb3ZlIHRpbWVzdGFtcGluZywgYmFzZSBjbGFzcyBkb2VzIHRoYXQuCgoyMDA3LTA0LTEwIDEyOjAxOjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IGxpbWl0IGNhcHMgdG8gdGhlIGZvcm1hdHMgd2UgYW5ub3VuY2UgaW4gdGhlIHRlbXBsYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICBsaW1pdCBjYXBzIHRvIHRoZSBmb3JtYXRzIHdlIGFubm91bmNlIGluIHRoZSB0ZW1wbGF0ZQoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBmaXggc29tZSBjcmFzaGVycy9hc3NlcnRzIHdoZW4gZGVhbGluZyB3aXRoIGJyb2tlbiBmaWxlcwoKMjAwNy0wNC0xMCAxMDowMToxNCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4gRml4ZXMgIzQyODE4Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfZ2V0X21vZGUpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpOgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4gRml4ZXMgIzQyODE4Mi4KCjIwMDctMDQtMDYgMTI6NTQ6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IE1vcnBoIFJUUERlYyBpbnRvIHNvbWV0aGluZyBjb21wYXRpYmxlIHdpdGggUlRQQmluIGFzIGEgZmFsbGJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGZyZWVfc2Vzc2lvbiksIChnc3RfcnRwX2RlY19iYXNlX2luaXQpLCAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2RlY19pbml0KSwgKGdzdF9ydHBfZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfZGVjX3F1ZXJ5X3NyYyksIChnc3RfcnRwX2RlY19jaGFpbl9ydHApLAoJICAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRjcCksIChnc3RfcnRwX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfZGVjX3Byb3ZpZGVfY2xvY2spLAoJICAoZ3N0X3J0cF9kZWNfY2hhbmdlX3N0YXRlKSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9ydGNwKSwgKGdzdF9ydHBfZGVjX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfcnRwX2RlY19yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICBNb3JwaCBSVFBEZWMgaW50byBzb21ldGhpbmcgY29tcGF0aWJsZSB3aXRoIFJUUEJpbiBhcyBhIGZhbGxiYWNrLgoJICBWYXJpb3VzIG90aGVyIHN0eWxlIGZpeGVzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X2lkKSwKCSAgKGZpbmRfc3RyZWFtX2J5X3VkcHNyYyksIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnc3RfcnRzcHNyY19jbGVhbnVwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXBsZW1lbnQgUlRQQmluIHNlc3Npb24gbWFuYWdlciBoYW5kbGluZy4KCSAgRG9uJ3QgdHJ5IHRvIGFkZCBlbXB0eSBwcm9wZXJ0aWVzIHRvIGNhcHMuCgkgIEltcGxlbWVudCBmYWxsYmFjayBzZXNzaW9uIG1hbmFnZXIsIGhhbmRsaW5nLgoJICBEb24ndCBjb21iaW5lIGVycm9ycyBmcm9tIFJUQ1Agc3RyZWFtcywganVzdCBpZ25vcmUgdGhlbS4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9nZXRfbWFuYWdlcik6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBJbXBsZW1lbnQgZmFsbGJhY2sgc2Vzc2lvbiBtYW5hZ2VyLgoJICBNYWtlIFJUUEJpbiB0aGUgZGVmYXVsdCBvbmUgd2hlbiBhdmFpbGFibGUuCgoyMDA3LTA0LTA1IDE1OjA1OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuKjogVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgoyMDA3LTA0LTA1IDEzOjU2OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogVGhpcyBlbGVtZW50IGlzIHJlYWR5IHRvIGJlIGF1dG9wbHVnZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgVGhpcyBlbGVtZW50IGlzIHJlYWR5IHRvIGJlIGF1dG9wbHVnZ2VkLgoKMjAwNy0wNC0wNSAxMToyNjoyNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IGxlYXZlIHRoZSBvZmZzZXRzIGRlZmluZWQgYnkgdXBzdHJlYW0gZWxlbWVudCBvbiB0aGUgY29tcHJlc3NlZCBkYXRhIGJ1ZmZlciB3ZSBhcmUgcHVzaGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDQtMDUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIERvbid0IGxlYXZlIHRoZSBvZmZzZXRzIGRlZmluZWQgYnkgdXBzdHJlYW0gZWxlbWVudCBvbiB0aGUKCSAgY29tcHJlc3NlZCBkYXRhIGJ1ZmZlciB3ZSBhcmUgcHVzaGluZyBkb3duc3RyZWFtLiBNYWtlIHRoZW0KCSAgR1NUX0JVRkZFUl9PRkZTRVRfTk9ORS4KCjIwMDctMDQtMDQgMTI6Mzk6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvOiBEb24ndCBhYm9ydCBvbiBvdXQtb2YtbWVtb3J5LiBVc2Ugc3RyZWFtLW5yIGFzIHVuc2lnbmVkIGludGVnZXIgb25seS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9SRUFETUU6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zeW5jKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgRG9uJ3QgYWJvcnQgb24gb3V0LW9mLW1lbW9yeS4gVXNlIHN0cmVhbS1uciBhcyB1bnNpZ25lZCBpbnRlZ2VyIG9ubHkuCgoyMDA3LTA0LTAzIDA5OjU1OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJICBGaXggZXJyb3IgYXMgc3BvdHRlZCBieSBTbmFpayA8c25haWszMiBhdCBnbWFpbCBkb3QgY29tPgoKMjAwNy0wMy0zMCAxNzoxOTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFN1cHBvcnQgYXVkaW8veC1yYXctZmxvYXQgaW4gd2F2IGZpbGVzLiBUaGlzIG9ubHkgd29ya3Mgd2l0aCBwbHVnaW5zLWJhc2UgQ1ZTLCB1c2luZyBhbiBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBTdXBwb3J0IGF1ZGlvL3gtcmF3LWZsb2F0IGluIHdhdiBmaWxlcy4gVGhpcyBvbmx5IHdvcmtzIHdpdGgKCSAgcGx1Z2lucy1iYXNlIENWUywgdXNpbmcgYW4gb2xkZXIgdmVyc2lvbiBkb2Vzbid0IGhhdmUgYW55CgkgIGRpc2FkdmFudGFnZXMgdGhvdWdoLgoKMjAwNy0wMy0zMCAxNTo1OToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmV2ZXJ0IGxhc3QgY2hhbmdlIGFzIHdlIGRvbid0IHdhbnQgcGx1Z2lucy1nb29kIHRvIGRlcGVuZCBvbiBwbHVnaW5zLWJhc2UgQ1ZTIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9yZXNldCksCgkgIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwgKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBSZXZlcnQgbGFzdCBjaGFuZ2UgYXMgd2UgZG9uJ3Qgd2FudCBwbHVnaW5zLWdvb2QgdG8gZGVwZW5kIG9uCgkgIHBsdWdpbnMtYmFzZSBDVlMgbm93LgoKMjAwNy0wMy0zMCAwNDo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGggd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aAoJICB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGhpcyBhbmQgbGV0IGF1ZGlvY29udmVydCBjb252ZXJ0CgkgIHRvIGFjY2VwdGVkIGZvcm1hdHMgaW5zdGVhZCBvZiBkb2luZyBpdCBpbiB0aGUgZWxlbWVudCBmb3Igbio4IGRlcHRocy4KCSAgVGhpcyBhbHNvIGFkZHMgc3VwcG9ydCBmb3Igbm9uLW4qOCBkZXB0aHMgYW5kIHByZXZlbnRzIHNvbWUgdXNlbGVzcwoJICBtZW1vcnkgYWxsb2NhdGlvbnMuIEZpeGVzICM0MjE1OTgKCSAgQWxzbyBhZGQgYSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0MiBpbiB3YXZwYWNrZW5jIGZvciBub3cuLi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBDb25zaWRlciB0aGUgY2hhbmdlIGFib3ZlIGluIHRoZSB1bml0IHRlc3RzIGFuZCB0ZXN0IGlmIHRoZSBjb3JyZWN0CgkgIGNhcHMgYXJlIGFjY2VwdGVkIGFuZCBzZXQuIEFsc28gY2hlY2sgZm9yIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBpbgoJICB0aGUgd2F2cGFja3BhcnNlIHVuaXQgdGVzdC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2Fwcyk6CgkgIFNldCBjYXBzIG9uIHRoZSBzcmMgcGFkIGFzIHNvb24gYXMgcG9zc2libGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEZpeCBpbmRlbnRpb24uIGdzdC1pbmRlbnQgaXMgbm93IGNhbGxlZCBieSBjaWNsLgoKMjAwNy0wMy0yOSAxODo1MTozMyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUyBmb3IgYXVkaW9jb252ZXJ0IHdpdGggbm9uLW5hdGl2ZSBmbG9hdCBzdXBwb3J0IGFuZCB3aWR0aC9kZXB0aCBmaXggaW4gbGliZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMgZm9yIGF1ZGlvY29udmVydCB3aXRoIG5vbi1uYXRpdmUKCSAgZmxvYXQgc3VwcG9ydCBhbmQgd2lkdGgvZGVwdGggZml4IGluIGxpYmdzdHJpZmYuCgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlciksIChnc3RfYXVfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgRG9uJ3Qgc3dhcCB0aGUgZmxvYXRzIG91cnNlbGYgaWYgdGhleSdyZSBub3QgaW4gbmF0aXZlIGVuZGlhbm5lc3MuCgkgIEluc3RlYWQgbGV0IGF1ZGlvY29udmVydCBoYW5kbGUgdGhpcy4gRml4ZXMgIzMzOTgzOC4KCjIwMDctMDMtMjkgMTQ6NDA6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRmx1c2ggYWRhcHRlciBvbiBkaXNjb250cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBGbHVzaCBhZGFwdGVyIG9uIGRpc2NvbnRzLgoKMjAwNy0wMy0yOSAxNDowMzoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBVc2UgbW9yZSBlZmZpY2llbnQgYWRhcHRlciBhbmQgcnRwYnVmZmVyIG1ldGhvZHMgd2hlbiBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzogKGdzdF9ydHBfbXBhX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2Vzcyk6CgkgIFVzZSBtb3JlIGVmZmljaWVudCBhZGFwdGVyIGFuZCBydHBidWZmZXIgbWV0aG9kcyB3aGVuIHBvc3NpYmxlLgoKMjAwNy0wMy0yOSAxMjoxNDoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogQ29ycmVjdGx5IGhhbmRsZSB3aWR0aCE9ZGVwdGggaW5wdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKToKCSAgQ29ycmVjdGx5IGhhbmRsZSB3aWR0aCE9ZGVwdGggaW5wdXQuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFscmVhZHkgZXhwb3J0IGluIHRoZSBjYXBzIHRoYXQgd2lkdGg9PTggdXNlcyB1bnNpZ25lZCBzYW1wbGVzIGFuZAoJICBldmVyeXRoaW5nIGVsc2UgdXNlcyBzaWduZWQgc2FtcGxlcy4KCjIwMDctMDMtMjkgMDk6NTk6MjMgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC91ZHAvOiBSZXdvcmsgdGhlIHNvY2tldCBhbGxvY2F0aW9uIGEgYml0IGJhc2VkIG9uIHRoZSBzb2NrZmQgYXJndW1lbnQgc28gdGhhdCBpdCBiZWNvbWVzIHVzYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZHludWRwc2lua19pbml0KSwgKGdzdF9keW51ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHludWRwc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2R5bnVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9keW51ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgUmV3b3JrIHRoZSBzb2NrZXQgYWxsb2NhdGlvbiBhIGJpdCBiYXNlZCBvbiB0aGUgc29ja2ZkIGFyZ3VtZW50IHNvIHRoYXQKCSAgaXQgYmVjb21lcyB1c2FibGUuCgkgIEFkZCBhIGNsb3NlZmQgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHVkcCBlbGVtZW50cyB0byBjbG9zZSB0aGUgY3VzdG9tCgkgIGZpbGUgZGVzY3JpcHRvcnMgd2hlbiBnb2luZyB0byBSRUFEWS4gRml4ZXMgIzQyMzMwNC4KCSAgQVBJOkdzdFVEUFNyYzo6Y2xvc2VmZCBwcm9wZXJ0eQoJICBBUEk6R3N0RHluVURQU2luazo6Y2xvc2VmZCBwcm9wZXJ0eQoKMjAwNy0wMy0yOSAwODowODo0OSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3J0cC86IEFkZGVkIEgyNjQgcGF5bG9hZGVyLiBGaXhlcyAjNDIzNzgyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2NF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjY0X3BheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIEFkZGVkIEgyNjQgcGF5bG9hZGVyLiBGaXhlcyAjNDIzNzgyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIFNtYWxsIGZpeGVzLgoKMjAwNy0wMy0yOCAyMjoyNzozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFjdHVhbGx5IHN1cHBvcnQgZGVwdGhzIGZyb20gMSB0byAzMiwgbm90IG9ubHkgOCB0byAzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFjdHVhbGx5IHN1cHBvcnQgZGVwdGhzIGZyb20gMSB0byAzMiwgbm90IG9ubHkgOCB0byAzMi4KCjIwMDctMDMtMjggMjI6MjM6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBZGQgc3VwcG9ydCBmb3Igd2F2IGZpbGVzIGNvbnRhaW5pbmcgYXVkaW8veC1yYXctaW50IHdpdGggcmFuZG9tIGRlcHRocyBiZXR3ZWVuIDEgYW5kIDMyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHdhdiBmaWxlcyBjb250YWluaW5nIGF1ZGlvL3gtcmF3LWludCB3aXRoIHJhbmRvbQoJICBkZXB0aHMgYmV0d2VlbiAxIGFuZCAzMiBiaXRzLgoKMjAwNy0wMy0yOCAxODo0MDoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgZ3N0L3J0cC86IEFkZGVkIE1QNEEtTEFUTSBkZXBheWxvYWRlci4gRml4ZXMgIzQxNzc5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wNGFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBBZGRlZCBNUDRBLUxBVE0gZGVwYXlsb2FkZXIuIEZpeGVzICM0MTc3OTIuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgRml4dXAgZGVwYXlsb2FkZXIsIHNldHRpbmcgY29kZWNfZGF0YSwgdXNpbmcgbW9yZSBlZmZpY2llbnQgYWRhcHRvciBhbmQKCSAgcnRwYnVmZmVyIGhhbmRsaW5nLgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCB1cmwgdG8gdGVzdCBhYm92ZS4KCjIwMDctMDMtMjggMTU6MTc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzIHdpdGggaDI2NCB2aWRlbykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV9zYW1wbGVzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9jdHRzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMKCSAgd2l0aCBoMjY0IHZpZGVvKS4KCSAgVXNlIHRoZSBvZmZzZXQgcHJlc2VudCBpbiAnY3R0cycgdG8gY2FsY3VsYXRlIHRoZSBQVFMgZm9yIGVhY2ggcGFja2V0CgkgIGFuZCBzZXQgdGhlIFBUUyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBGaXhlcyAjNDIzMjgzCgoyMDA3LTAzLTI1IDE1OjM0OjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBIYW5kbGUgZGVmYXVsdCBjbG9jay1yYXRlcyBmb3Igc3RhdGljIHBheWxvYWQgdHlwZXMsIHJlYXJyYW5nZSBzdHVmZiBzbyB0aGF0IHRoZSBydHBtYXAgZmllbGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X3NldHVwKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ2V0X2RlZmF1bHRfcmF0ZV9mb3JfcHQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBIYW5kbGUgZGVmYXVsdCBjbG9jay1yYXRlcyBmb3Igc3RhdGljIHBheWxvYWQgdHlwZXMsIHJlYXJyYW5nZSBzdHVmZiBzbwoJICB0aGF0IHRoZSBydHBtYXAgZmllbGQgaW4gdGhlIHNkcCBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHRzLgoJICBQYXJzZSBSVFAtSW5mbyBmaWVsZCB0byBnZXQgdGhlIHNlcW51bSBhbmQgdGltZWJhc2UgZmllbGRzIHRoYXQgc2hvdWxkCgkgIGdvIGluIHRoZSBjYXBzLgoJICBEZWxheSBjb25maWd1cmluZyBjYXBzIGFmdGVyIHdlIGdvdCB0aGUgUlRQLUluZm8gZnJvbSB0aGUgUExBWSByZXBseSBmcm9tCgkgIHRoZSBzZXJ2ZXIuCgoyMDA3LTAzLTI0IDE5OjQ2OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8gMS1jaGFubmVsIG91dHB1dCBjYXBzIChJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOgoJICBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvCgkgIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSSBndWVzcyB0ZWNobmljYWxseSB3ZSBzaG91bGQgc2V0IHRoZQoJICBwb3NpdGlvbiBmb3IgZWFjaCBjaGFubmVsIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiBpdCdzIG5vbi1OT05FLAoJICBidXQgSSdsbCBzYXZlIHRoYXQgYXMgYSB0YXNrIGZvciBhbm90aGVyIGRheSkuCgoyMDA3LTAzLTIyIDIyOjE0OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2Ygc291cmNlIHBhZHMgLSB0aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbik6CgkgIERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2YKCSAgc291cmNlIHBhZHMgLSB0aGVyZSBhcmUgbm8gZ3VhcmFudGVlcyBhYm91dCB0aGUgb3JkZXIgb2YgdGhlIGxpc3QKCSAgaW4gdGhlIEdzdEVsZW1lbnQgc3RydWN0LCBhbmQgd2Ugd2FudCBhIHZlcnkgc3BlY2lmaWMgb3JkZXI7IGxhc3RseSwKCSAgc29tZSBtb3JlIGRlYnVnZ2luZy4KCjIwMDctMDMtMjIgMTY6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcyBpcyBubyBjbGVhbiBzb2x1dGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MKCSAgaXMgbm8gY2xlYW4gc29sdXRpb24gYW5kIGluIGdlbmVyYWwgdGhlcmUncyBubyByZWFzb24gd2h5IG9uZSB3YW50cwoJICB0byBwYXJzZSBmcmFtZWQgd2F2cGFjayBkYXRhIGFnYWluLgoKMjAwNy0wMy0yMiAxNTo1Mjo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcwoJICBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrZGVjICEgc29tZWF1ZGlvc2luayIgcGlwZWxpbmVzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBBY2NlcHQgZnJhbWVkIGFuZCBub24tZnJhbWVkIGlucHV0LCB3YXZwYWNrcGFyc2UgZG9lc24ndCBjYXJlLiBUbwoJICBwcmV2ZW50ICJ3YXZwYWNrcGFyc2UgISB3YXZwYWNrcGFyc2UgISAuLi4iIHBpcGVsaW5lcyBsb3dlciB0aGUKCSAgcmFuayBvZiB3YXZwYWNrcGFyc2UgYnkgb25lLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2twYXJzZSAhCgkgIC4uLiIgcGlwZWxpbmVzLgoKMjAwNy0wMy0yMiAxMTowODowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBUaGFua3MgdG8gSmFuIGFuZCBNaWtlIGZvciBub3RpY2luZyBteSBtaXN0YWtlLgoKMjAwNy0wMy0yMiAwOTo0NDoxNyArMDAwMCAgQ2hyaXN0b3BoZSBEZWhhaXMgPGNocmlzdG9waGUuZGVoYWlzQGdtYWlsLmNvbT4KCgkgIGV4dC9nY29uZi9nY29uZi5jOiBBY2NlcHQgY29tcGxleCBwaXBlbGluZSBkZXNjcmlwdGlvbnMgYXMgYW4gYXVkaW8gcHJvZmlsZSBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgZWxlbWVudC4gRml4ZXMgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENocmlzdG9waGUgRGVoYWlzIDxjaHJpc3RvcGhlIGRvdCBkZWhhaXMgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgIEFjY2VwdCBjb21wbGV4IHBpcGVsaW5lIGRlc2NyaXB0aW9ucyBhcyBhbiBhdWRpbyBwcm9maWxlIGluc3RlYWQgb2YganVzdAoJICBhIHNpbmdsZSBlbGVtZW50LiBGaXhlcyAjNDIwNjU4LgoKMjAwNy0wMy0yMiAwMDoxNzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdCBhcyBhIHBvaW50ZXIgdG8gc2F2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdAoJICBhcyBhIHBvaW50ZXIgdG8gc2F2ZSB0d28gc21hbGwsIGJ1dCB1c2VsZXNzIG1hbGxvY3MuIFRoaXMgYWxzbyBtYWtlcwoJICBpdCBwb3NzaWJsZSB0byBkcm9wIHRoZSBmaW5hbGl6ZSBtZXRob2QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlcik6CgkgIEZvciBjb25zaXN0ZW5jeSByZWFzb25zIGFsc28gc2V0IEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBvbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVycyB0aGUgc2FtZSB3YXkgd2F2cGFja2VuYyBkb2VzIGl0LgoKMjAwNy0wMy0yMSAyMzo1MDowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgQmFzZVRyYW5zZm9ybS1iYXNlZCBlbGVtZW50cyB3aWxsIGxpa2VseSBicmVhayBiZWNhdXNlIG9mIHdyb25nCgkgIHVuaXQtc2l6ZS4gQWxzbyBwbHVnIGEgcG9zc2libGUgbWVtbGVhayB0aGF0IGhhcHBlbnMgd2hlbiBkZWNvZGluZwoJICBmYWlscyBmb3Igc29tZSByZWFzb24uCgoyMDA3LTAzLTIxIDExOjQ5OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiBSZW5hbWUgcmVnaXN0ZXJlZCB0eXBlIGluIHByZXBhcmF0aW9uIG9mIEdzdFRhZ0RlbXV4IG1vdmluZyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2dldF90eXBlKToKCSAgUmVuYW1lIHJlZ2lzdGVyZWQgdHlwZSBpbiBwcmVwYXJhdGlvbiBvZiBHc3RUYWdEZW11eCBtb3ZpbmcgdG8KCSAgLWJhc2UgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLgoKMjAwNy0wMy0xOSAxMDoyOToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTdHJlYW1pbmcgbW9kZSBmaXhlczogZG9uJ3QgdW5yZWYgYnVmZmVyIHdlIGRvbid0IG93biBhbnkgbG9uZ2VyOyByZW1vdmUgYm9ndXMgYWRhcHRlciBmbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFN0cmVhbWluZyBtb2RlIGZpeGVzOiBkb24ndCB1bnJlZiBidWZmZXIgd2UgZG9uJ3Qgb3duIGFueSBsb25nZXI7CgkgIHJlbW92ZSBib2d1cyBhZGFwdGVyIGZsdXNoLiBGaXhlcyAjNDE5MzM4LgoKMjAwNy0wMy0xOCAwNDoyMToyOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSRVFVSVJFTUVOVFM6IENoYW5nZSB0aGUgZm9ybWF0IHRvIGtleS92YWx1ZSwgYWRkIGEgYnVuY2ggb2YgaW5mb3JtYXRpb24sIHJlbW92ZSBhIGJ1bmNoIG9mIHJlcXVpcmVtZW50cyB0aGF0IGFyZSBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOiBDaGFuZ2UgdGhlIGZvcm1hdCB0byBrZXkvdmFsdWUsIGFkZCBhIGJ1bmNoIG9mCgkgIGluZm9ybWF0aW9uLCByZW1vdmUgYSBidW5jaCBvZiByZXF1aXJlbWVudHMgdGhhdCBhcmUgZm9yCgkgIG90aGVyIEdTdHJlYW1lciBwYWNrYWdlcy4KCjIwMDctMDMtMTggMDI6MDA6NTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUkVRVUlSRU1FTlRTOiBGaXggYSBmZXcgdGhpbmdzLiAgVGhpcyBmaWxlIHJlYWxseSBuZWVkcyBhIGdvb2Qgb25jZS1vdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6IEZpeCBhIGZldyB0aGluZ3MuICBUaGlzIGZpbGUgcmVhbGx5IG5lZWRzIGEKCSAgZ29vZCBvbmNlLW92ZXIuCgoyMDA3LTAzLTE2IDE4OjM4OjE4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCjIwMDctMDMtMTYgMTY6Mjc6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2Ugd2lsbCBjb250YWluIGEgcG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlCgkgIHdpbGwgY29udGFpbiBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgTlNWaWV3LgoKMjAwNy0wMy0xNiAwOTo1Nzo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6IEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KToKCSAgQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCjIwMDctMDMtMTUgMTI6MDU6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvTWFrZWZpbGUuYW06IERvbid0IGZvcmdldCB0byBkaXN0cmlidXRlIHRoZSBzeXMvb3N4YXVkaW8vIGRpcmVjdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBEb24ndCBmb3JnZXQgdG8gZGlzdHJpYnV0ZSB0aGUgc3lzL29zeGF1ZGlvLyBkaXJlY3RvcnkuCgoyMDA3LTAzLTE1IDExOjM5OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgQWN0aXZhdGUgb3N4YXVkaW8gaW4gZ3N0LXBsdWdpbnMtZ29vZCB3aXRoIHByb3BlciBidWlsZCBzZXR1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAoZ3N0X29zeF9hdWRpb19zaW5rX29zeGVsZW1lbnRfZG9faW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpLCAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAoZ3N0X29zeF9hdWRpb19zcmNfb3N4ZWxlbWVudF9kb19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc3JjX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfY3JlYXRlX3JpbmdidWZmZXIpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6IChnc3Rfb3N4X3JpbmdfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9vc3hfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChnc3Rfb3N4X3JpbmdfYnVmZmVyX2luaXQpLAoJICAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9vc3hfcmluZ19idWZmZXJfc3RhcnQpLAoJICAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9wYXVzZSksIChnc3Rfb3N4X3JpbmdfYnVmZmVyX3N0b3ApOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIEFjdGl2YXRlIG9zeGF1ZGlvIGluIGdzdC1wbHVnaW5zLWdvb2Qgd2l0aCBwcm9wZXIgYnVpbGQgc2V0dXAuCgkgIEFkZCBpbmxpbmVkIGRvY3VtZW50YXRpb24uCgkgIEZpeCBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIEZpeCByaW5nYnVmZmVyIHdoZW4gcGF1c2luZy4KCSAgRml4ZXMgIzMyMzQ3MQoKMjAwNy0wMy0xNCAyMjoyMToyNiArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHAvOiBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgIFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoKMjAwNy0wMy0xNCAxNjozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBBY2NlcHQgYW55IGtpbmQgb2YgcmVzb2x1dGlvbnMuCgkgIFdvcmtzIGluIGZ1bGxzY3JlZW4uIENhbiBtYXhpbWl6ZS4KCSAgT25seSB0aGluZyBsZWZ0IGJlZm9yZSBiZWluZyBhYmxlIHRvIG1vdmUgdGhpcyB0byAtZ29vZCBpcyBkb2N1bWVudGF0aW9uCgkgIGFuZCBlbWJlZGRlZCB3aW5kb3cgc3VwcG9ydC4KCjIwMDctMDMtMTQgMTU6MjU6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGUgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9hZi5wbzoKCSAgKiBwby9hei5wbzoKCSAgKiBwby9jcy5wbzoKCSAgKiBwby9lbl9HQi5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9ubC5wbzoKCSAgKiBwby9vci5wbzoKCSAgKiBwby9zcS5wbzoKCSAgKiBwby9zci5wbzoKCSAgKiBwby9zdi5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgVXBkYXRlIHRyYW5zbGF0aW9ucy4KCjIwMDctMDMtMTQgMTQ6NDk6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBzdHJpbmcgcmVwbGFjZSBlcnJvciAoQUdfQUdfR1NUXyogPT4gQUdfR1NUXyopLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBzdHJpbmcgcmVwbGFjZSBlcnJvciAoQUdfQUdfR1NUXyogPT4gQUdfR1NUXyopLgoKMjAwNy0wMy0xNCAxNDo0ODowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCk6CgkgIEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFkZCBzb21lIGNvbW1lbnRzIGFib3V0IGZsb2F0IHN1cHBvcnQuCgoyMDA3LTAzLTEyIDE3OjU2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiBGaXggaGFuZGxpbmcgb2YgLTEgdmFsdWVzIGZvciBzdGFydCBhbmQgc3RvcCB2YWx1ZXMgd2hlbiBzZWVraW5nLCBhbmQgU0VFS19DVVIrU0VFS19FTkQgaGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfc3JjcGFkX2V2ZW50KToKCSAgRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywKCSAgYW5kIFNFRUtfQ1VSK1NFRUtfRU5EIGhlcmUgYXMgd2VsbC4KCjIwMDctMDMtMTIgMTc6MjQ6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IEZpeCBoYW5kbGluZyBvZiAtMSB2YWx1ZXMgZm9yIHN0YXJ0IGFuZCBzdG9wIHZhbHVlcyB3aGVuIHNlZWtpbmcsIGFuZCBTRUVLX0NVUitTRUVLX0VORC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfc3JjcGFkX2V2ZW50KToKCSAgRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywKCSAgYW5kIFNFRUtfQ1VSK1NFRUtfRU5ELgoKMjAwNy0wMy0xMiAxNTo0OTowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBQYXRjaCBieTogbGluZSBmb3Igd2ltLCBzaW5jZSBoZSdzIGF3YXkKCjIwMDctMDMtMTIgMTM6Mjg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRml4IHBhcnNpbmcgb2YgSUQzIHYyLjIuMCBQSUMgZnJhbWVzLiBPbmx5IGluIHZlcnNpb24gPj0gMi4zLjAgaXMgdGhlIGltYWdlIGZvcm1hdCBhIHZhcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgRml4IHBhcnNpbmcgb2YgSUQzIHYyLjIuMCBQSUMgZnJhbWVzLiBPbmx5IGluIHZlcnNpb24gPj0gMi4zLjAgaXMKCSAgdGhlIGltYWdlIGZvcm1hdCBhIHZhcmlhYmxlLWxlbmd0aCBOVUwtdGVybWluYXRlZCBzdHJpbmc7IGluCgkgIHZlcnNpb25zIGJlZm9yZSB0aGF0IHRoZSBpbWFnZSBmb3JtYXQgaXMgYSBmaXhlZC1sZW5ndGggc3RyaW5nIG9mCgkgIDMgY2hhcmFjdGVycyAoc2VlICMzNDg2NDQgZm9yIGEgc2FtcGxlIHRhZykuCgkgIEFsc28gbWFrZSBzdXBwbGllZCBtaW1lIHR5cGUgbG93ZXItY2FzZSBhbmQgZml4IHVwICdqcGcnIHRvICdqcGVnJy4KCjIwMDctMDMtMTEgMjI6MjM6MDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCjIwMDctMDMtMTAgMTY6MDc6MzEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgbmV3IHByb2plY3QgZmlsZXMgdG8gTUFOSUZFU1QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgbmV3IHByb2plY3QgZmlsZXMgdG8gTUFOSUZFU1QuCgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTAzLTEwIDEyOjMwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlczsgYWxzbyBhZGQgc29tZSBtaXNzaW5nIHF1b3RlcyBpbiB0cmFuc2xhdGVkIHN0cmluZ3MuIEZpeGVzICM0MTY3MjggYW5kICM0MTY3MjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXM7IGFsc28gYWRkIHNvbWUgbWlzc2luZyBxdW90ZXMgaW4gdHJhbnNsYXRlZAoJICBzdHJpbmdzLiBGaXhlcyAjNDE2NzI4IGFuZCAjNDE2NzI3LgoKMjAwNy0wMy0wOSAyMDoxMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IFRpbSBhbmQgSSBjYW4ndCB0aGluayBvZiBhbnkgcmVhc29uIHRoZSBjaGlsZCBhdWRpbyBzaW5rIG5lZWRzIHRvIGJlIHNldCBiYWNrIHRvIE4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICBUaW0gYW5kIEkgY2FuJ3QgdGhpbmsgb2YgYW55IHJlYXNvbiB0aGUgY2hpbGQgYXVkaW8gc2luayBuZWVkcyB0bwoJICBiZSBzZXQgYmFjayB0byBOVUxMIGFmdGVyIHN1Y2Nlc3NmdWxseSBkZXRlcm1pbmluZyB0aGF0IGl0IGNhbgoJICByZWFjaCBSRUFEWSAtIGl0IGdldHMgaW1tZWRpYXRlbHkgc2V0IGJhY2sgdG8gUkVBRFkgYnkgdGhlIGNhbGxlcgoJICBhbnl3YXksIGNhdXNpbmcgYW4gdW5uZWNlc3NhcnkgY2xvc2Uvb3BlbiBvZiBhbnkgYXVkaW8gZGV2aWNlcwoJICBpbnZvbHZlZC4KCjIwMDctMDMtMDkgMTk6NTE6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby86IEFkZCBqYS5wbyBmaWxlIGZyb20gIzM3NzMwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9qYS5wbzoKCSAgQWRkIGphLnBvIGZpbGUgZnJvbSAjMzc3MzA2LgoKMjAwNy0wMy0wOSAxOTo0NDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9zdW5hdWRpby86IEFjdHVhbGx5IHRyYW5zbGF0ZSBzdW5hdWRpbyBtaXhlciB0cmFjayBsYWJlbHMgaW5zdGVhZCBvZiBqdXN0IG1hcmtpbmcgdGhlIHN0cmluZ3MgYXMgdHJhbnNsYXRhYmxlICgjMy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICBBY3R1YWxseSB0cmFuc2xhdGUgc3VuYXVkaW8gbWl4ZXIgdHJhY2sgbGFiZWxzIGluc3RlYWQgb2YganVzdAoJICBtYXJraW5nIHRoZSBzdHJpbmdzIGFzIHRyYW5zbGF0YWJsZSAoIzM3NzMwNik7IGNsZWFuIHVwIHdlaXJkCgkgIGxhYmVsIHN0cmluZyBtYXBwaW5nIGNvZGUgdGhhdCBzZXJ2ZXMgbm8gYXBwYXJlbnQgcHVycG9zZS4gQWxzbwoJICBzZXQgdGhlICd1bnRyYW5zbGF0ZWQtbGFiZWwnIHByb3BlcnR5IHdoZW4gY3JlYXRpbmcgbWl4ZXIgdHJhY2tzCgkgIGlmIHRoZSBHc3RNaXhlclRyYWNrIGJhc2UgY2xhc3Mgc3VwcG9ydHMgdGhpcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1bmF1ZGlvLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChzdW5hdWRpb19zdWl0ZSk6CgkgIFZlcnkgbWluaW1hbGlzdGljIHVuaXQgdGVzdCBmb3Igc3VuYXVkaW9taXhlciBlbGVtZW50IChjb21waWxlcywgYnV0IG5vdAoJICBhY3R1YWxseSB0ZXN0ZWQgb24gYSBzeXN0ZW0gd2hlcmUgc3VuYXVkaW9taXhlciBpcyBhdmFpbGFibGUpLgoKMjAwNy0wMy0wOSAxODo0OTozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmUtZW5hYmxlIHRoZSBzdGF0ZXMgdGVzdCBhbmQgc2VlIGlmIGl0IHdvcmtzIG9uIHRoZSBidWlsZGJvdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZS1lbmFibGUgdGhlIHN0YXRlcyB0ZXN0IGFuZCBzZWUgaWYgaXQgd29ya3Mgb24gdGhlIGJ1aWxkYm90cy4KCjIwMDctMDMtMDkgMTc6MzI6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW1AZmx1ZW5kby5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuKjogSW5mZXIgcGl4ZWwtYXNwZWN0LXJhdGlvIGZyb20gdGhlIHZpZGVvIGZyYW1lIGZvcm1hdCBpZiBpdCBpc24ndCBwcm92aWRlZCBieSB0aGUgY29udGFpbmVyLCBhcyBoYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCksIChnc3RfZHZkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kdmRlY19zcmNfbmVnb3RpYXRlKSwgKGdzdF9kdmRlY19jaGFpbiksCgkgIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgSW5mZXIgcGl4ZWwtYXNwZWN0LXJhdGlvIGZyb20gdGhlIHZpZGVvIGZyYW1lIGZvcm1hdCBpZiBpdCBpc24ndAoJICBwcm92aWRlZCBieSB0aGUgY29udGFpbmVyLCBhcyBoYXBwZW5zIHdoZW4gcGxheWluZyBEViBmcm9tIEFWSQoJICBvciBRdWlja3RpbWUgY29udGFpbmVycy4KCSAgUGF0Y2ggYnk6IFdpbSBUYXltYW5zIDx3aW1AZmx1ZW5kby5jb20+CgkgIEZpeGVzICMzODA5NDQKCjIwMDctMDMtMDkgMTc6MDU6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFdoZW4gYWN0aXZhdGVkLCByZW1vdmUgdGhlIHVkcHNyYyB0aW1lb3V0LCB3ZSBoYXZlIGRhdGFmbG93IGFuZCB0aW1lb3V0cyB3aWxsIGxhdGVyIGJlIGhhbmRsZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgIFdoZW4gYWN0aXZhdGVkLCByZW1vdmUgdGhlIHVkcHNyYyB0aW1lb3V0LCB3ZSBoYXZlIGRhdGFmbG93IGFuZCB0aW1lb3V0cwoJICB3aWxsIGxhdGVyIGJlIGhhbmRsZWQgYnkgdGhlIGppdHRlcmJ1ZmZlci4KCjIwMDctMDMtMDkgMTY6NTM6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBBZGQgd3JpdGUgc3VwcG9ydCBmb3IgR1NUX1RBR19NVVNJQ0JSQUlOWl9TT1JUTkFNRSAoVFNPUCkgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBBZGQgd3JpdGUgc3VwcG9ydCBmb3IgR1NUX1RBR19NVVNJQ0JSQUlOWl9TT1JUTkFNRSAoVFNPUCkgdGFnLgoJICBGaXhlcyAjNDE0NDk2LgoKMjAwNy0wMy0wOSAxNTowNDo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHN0cmVhbSBwb3NpdGlvbiByZXBvcnRpbmcgYWZ0ZXIgYSBzZWVrLiBGaXhlcyAjNDE2NDQ1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIEZpeCBzdHJlYW0gcG9zaXRpb24gcmVwb3J0aW5nIGFmdGVyIGEgc2Vlay4gRml4ZXMgIzQxNjQ0NS4KCjIwMDctMDMtMDkgMDg6NTg6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlCgkgIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbmQgaXMgY29udHJvbGFibGUuIE1vcmUgc3ViY2xhc3NlcyB3aWxsCgkgIGZvbGxvdy4KCjIwMDctMDMtMDggMTY6MDE6NDIgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1ha2UgYXZpZGVtdXggYWNjZXB0IG9wdGlvbmFsIGhlYWRlciBjaHVua3MgaW4gYW55IG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBNYWtlIGF2aWRlbXV4IGFjY2VwdCBvcHRpb25hbCBoZWFkZXIgY2h1bmtzIGluIGFueSBvcmRlci4KCSAgRml4ZXMgIzQxNTQ0Ni4KCjIwMDctMDMtMDggMTI6MjM6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhlIHN0YXRlcyBjaGVjayB1bnRpbCB0aGUgcmVtYWluaW5nIFZhbGdyaW5kIGVycm9ycyBhcmUgZml4ZWQgb3Igc3VwcHJlc3NlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdGhlIHN0YXRlcyBjaGVjayB1bnRpbCB0aGUgcmVtYWluaW5nIFZhbGdyaW5kIGVycm9ycwoJICBhcmUgZml4ZWQgb3Igc3VwcHJlc3NlZC4KCjIwMDctMDMtMDggMTA6MjQ6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFkZCBhdWRpb2R5bmFtaWMgY2hlY2sgdG8gLmN2c2lnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgYXVkaW9keW5hbWljIGNoZWNrIHRvIC5jdnNpZ25vcmUKCjIwMDctMDMtMDggMTA6MDI6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIG5ldyBhdWRpb2R5bmFtaWMgZWxlbWVudCB3aGljaCBjYW4gYWN0IGFzIGEgY29tcHJlc3NvciBvciBleHBhbmRlci4gU3VwcG9ydGVkIGFyZSBoYXJkLWtuZWUgYW5kIHNvZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIChnc3RfYXVkaW9fZHluYW1pY19jaGFyYWN0ZXJpc3RpY3NfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fZHluYW1pY19zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fZHluYW1pY19iYXNlX2luaXQpLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY19pbml0KSwgKGdzdF9hdWRpb19keW5hbWljX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fZHluYW1pY19nZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9jb21wcmVzc29yX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faGFyZF9rbmVlX2NvbXByZXNzb3JfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX3NvZnRfa25lZV9jb21wcmVzc29yX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2NvbXByZXNzb3JfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9leHBhbmRlcl9pbnQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9leHBhbmRlcl9mbG9hdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2V4cGFuZGVyX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2V4cGFuZGVyX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IGF1ZGlvZHluYW1pYyBlbGVtZW50IHdoaWNoIGNhbiBhY3QgYXMgYSBjb21wcmVzc29yIG9yCgkgIGV4cGFuZGVyLiBTdXBwb3J0ZWQgYXJlIGhhcmQta25lZSBhbmQgc29mdC1rbmVlIG9wZXJhdGlvbiBtb2RlcyB3aXRoCgkgIHVzZXItc3BlY2lmaWVkIHJhdGlvIGFuZCB0aHJlc2hvbGQuCgkgIEF0dGFjayBhbmQgcmVsZWFzZSBwYXJhbWV0ZXJzIGFyZSBub3QgeWV0IGltcGxlbWVudGVkIGJ1dCB3aWxsIGZvbGxvdy4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgSW50ZWdyYXRlIGF1ZGlvZHluYW1pYyBpbnRvIHRoZSBkb2NzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOiAoc2V0dXBfZHluYW1pYyksCgkgIChjbGVhbnVwX2R5bmFtaWMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoZHluYW1pY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXVkaW9keW5hbWljLgoKMjAwNy0wMy0wNyAxOTo0ODowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogRnJlZSBoYW5kbGVzIHRoYXQgd2UgYWxsb2NhdGVkIHdoZW4gZXhpdGluZyB2aWEgdGhlIGVycm9yIHBhdGhzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfc3RhcnQpOgoJICBGcmVlIGhhbmRsZXMgdGhhdCB3ZSBhbGxvY2F0ZWQgd2hlbiBleGl0aW5nIHZpYSB0aGUgZXJyb3IgcGF0aHMuCgoyMDA3LTAzLTA3IDEyOjA3OjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgIFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX2FicyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfcmVsKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfd3JpdGVfYnl0ZXMpOgoJICBVc2UgdGhlIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBoZXJlIHRvbyBhbmQgYWRkIGRlYnVnCgkgIG91dHB1dCB0byB0aGUgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgYXQgYWxsIGJ5CgkgIHRoZSB3YXZwYWNrIGxpYnJhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBDaGFuZ2UgZGVidWdnaW5nIGNhdGVnb3J5IG5hbWVzIHRvIGNvbmZvcm0gdG8gdGhlIGNvbnZlbnRpb25zLgoKMjAwNy0wMy0wNyAxMTozNzoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZyBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nCgkgIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkZW11eC5jIHdvdWxkIGVuZCB1cCBpbiB0aGUgZGVmYXVsdCBjYXRlZ29yeS4KCjIwMDctMDMtMDcgMTE6MjQ6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBSZXNvbHZlIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwKCSAgKGdzdF9sZXZlbF9zZXRfY2FwcyksIChnc3RfbGV2ZWxfc3RhcnQpLCAoZ3N0X2xldmVsX2V2ZW50KSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBSZXNvbHZlIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoKMjAwNy0wMy0wNyAxMToyMzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9ldmVudCksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sKCSAgc2VnbWVudC4KCjIwMDctMDMtMDYgMjM6MjE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCBDaGFuZ2VMb2cgbWVzc2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IENoYW5nZUxvZyBtZXNzYWdlCgoyMDA3LTAzLTA2IDIzOjE5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IGxlYWsgY2FwczogbWFrZSBnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCgpIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgY2FwcyBwYXNzZWQgdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBEb24ndCBsZWFrIGNhcHM6IG1ha2UgZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQoKSBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlCgkgIGNhcHMgcGFzc2VkIHRvIGl0IChwcmV2aW91c2xseSBvbmUgY29kZSBwYXRoIGFzc3VtZXMgaXQgdGFrZXMgb3duZXJzaGlwCgkgIHdoaWxlIGFub3RoZXIgb25lIGFzc3VtZXMgaXQgZG9lc24ndCkuCgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMS50YWc6CgkgICogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0yLnRhZzoKCSAgQWRkIGRpcmVjdG9yeSB3aGVyZSBkYXRhIGZvciB1bml0IHRlc3RzIGNhbiBiZSBzdG9yZWQuCgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOiAocGFkX2FkZGVkX2NiKSwgKGVycm9yX2NiKSwKCSAgKHJlYWRfdGFnc19mcm9tX2ZpbGUpLCAocnVuX2NoZWNrX2Zvcl9maWxlKSwKCSAgKGNoZWNrX2RhdGVfMTk3N18wNl8yMyksIChHU1RfU1RBUlRfVEVTVCksIChpZDNkZW11eF9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGlkM2RlbXV4LCBhbmQgaW4gcGFydGljdWxhciBmb3IgYnVnICM0MDczNDkuIE9ubHkKCSAgdGVzdGluZyBwdWxsLW1vZGUgZm9yIG5vdzsgcHVzaCBtb2RlIGRvZXNuJ3Qgd29yayB5ZXQgYmVjYXVzZSB0aGUgdGVzdAoJICBmaWxlcyBhcmUgc21hbGxlciB0aGFuIElEM19UWVBFX0ZJTkRfTUlOX1NJWkUuCgoyMDA3LTAzLTA2IDIyOjE0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nIGJhY2tzbGFzaCBhdCBlbmQgb2YgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGJhY2tzbGFzaCBhdCBlbmQgb2YgbGluZS4KCjIwMDctMDMtMDYgMTg6MzY6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkgIFRyaWdnZXIgcmVidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRyaWdnZXIgcmVidWlsZC4KCjIwMDctMDMtMDYgMTg6MTY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBEbyBub3QgY29udmVydCBvYnNvbGV0ZSBUREEvVERBVCBmcmFtZXMgdG8gVERSQyBmcmFtZXMsIG90aGVyd2lzZSB0aGUgZm91ci1kaWdpdCBudW1iZXIgd2lsbCBiZSBpbnRlcnAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX29ic29sZXRlX3RkYXRfZnJhbWUpOgoJICBEbyBub3QgY29udmVydCBvYnNvbGV0ZSBUREEvVERBVCBmcmFtZXMgdG8gVERSQyBmcmFtZXMsIG90aGVyd2lzZQoJICB0aGUgZm91ci1kaWdpdCBudW1iZXIgd2lsbCBiZSBpbnRlcnByZXRlZCBhcyBhIHllYXIsIHdoZXJlYXMgaXQgaXMKCSAgbW9udGggYW5kIGRheSBpbiBERE1NIGZvcm1hdC4gSW5zdGVhZCwgcGFyc2UgVERBVCBmcmFtZXMgYW5kIGZpeCB1cAoJICB0aGUgZGF0ZSBpbiB0aGUgR1NUX1RBR19EQVRFIHRhZyBsYXRlciBpZiB3ZSBhbHNvIGV4dHJhY3RlZCBhIHllYXIuCgkgIEZpeGVzICM0MDczNDkuCgoyMDA3LTAzLTA2IDE0OjUzOjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IEZpeCB1cCB0aGUgZGlzcG9zZSBsb2dpYyBzbyBpdCBkb2Vzbid0IGxlYWssIGFuZCBmaXggc2V0dGluZyBvZiB0aGUgY2hpbGQgc3RhdGUgc28gdGhhdCB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCk6CgkgIEZpeCB1cCB0aGUgZGlzcG9zZSBsb2dpYyBzbyBpdCBkb2Vzbid0IGxlYWssIGFuZCBmaXggc2V0dGluZyBvZgoJICB0aGUgY2hpbGQgc3RhdGUgc28gdGhhdCB3ZSBkb24ndCBzZXQgYSBjaGlsZCB0byBvdXIgY3VycmVudCBzdGF0ZQoJICBqdXN0IGFzIHdlIGFyZSBjaGFuZ2luZyBpdCB0byBzb21ldGhpbmcgZWxzZS4KCjIwMDctMDMtMDYgMTM6NTc6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgQWRkIEZJWE1FcyBmb3Igc3R1ZmYgdGhhdCBsb29rcyByYXRoZXIgd3JvbmcuCgoyMDA3LTAzLTA2IDEzOjIxOjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS4qOiBEb2N1bWVudCwgZml4IGFuZCBpbXByb3ZlIGdvb20gYWRhcHRlciBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX3NyY19zZXRjYXBzKSwgKGdldF9idWZmZXIpLAoJICAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgRG9jdW1lbnQsIGZpeCBhbmQgaW1wcm92ZSBnb29tIGFkYXB0ZXIgYmVoYXZpb3VyLgoJICBGaXhlcyAjNDA3MDA2LgoKMjAwNy0wMy0wNSAxODo0MzoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogVW5yZWYgc3RhdGljIHBhZCB0ZW1wbGF0ZSBhZnRlciB1c2luZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19vcGVuKToKCSAgVW5yZWYgc3RhdGljIHBhZCB0ZW1wbGF0ZSBhZnRlciB1c2luZyBpdC4KCjIwMDctMDMtMDUgMTc6MTc6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogRml4IHVwIHRoZSByZWZlcmVuY2UgY291bnRpbmcgb2YgdGhlIGNoaWxkIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCk6CgkgIEZpeCB1cCB0aGUgcmVmZXJlbmNlIGNvdW50aW5nIG9mIHRoZSBjaGlsZCBlbGVtZW50cy4KCjIwMDctMDMtMDUgMTc6MDg6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGVuY29kaW5nLW5hbWUgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICBGaXggZW5jb2RpbmctbmFtZSBjYXNlLgoKMjAwNy0wMy0wNSAxNjozOToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggc3BlZXggKGRlKXBheWxvYWRlci4gRml4ZXMgIzM1ODA0MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9nZXRfbW9kZSksIChnc3RfcnRwX3NwZWV4X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NwZWV4X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3BlZXhfcGF5X3BhcnNlX2lkZW50KSwgKGdzdF9ydHBfc3BlZXhfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIEZpeCBzcGVleCAoZGUpcGF5bG9hZGVyLiBGaXhlcyAjMzU4MDQwLgoKMjAwNy0wMy0wNSAxNTo0Mjo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBJbnN0YWxsIGZha2VzaW5rIGluIE5VTEwgYnkgZml4aW5nIHNvbWUgYnJva2VuIGxvZ2ljLiBUaGlzIG9idmlhdGVzIHRoZSBuZWVkIHRvIG1hbnVhbGx5IHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19yZXNldCksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKSwgKGdzdF9zd2l0Y2hfc2lua19zZXRfY2hpbGQpOgoJICBJbnN0YWxsIGZha2VzaW5rIGluIE5VTEwgYnkgZml4aW5nIHNvbWUgYnJva2VuIGxvZ2ljLiBUaGlzIG9idmlhdGVzCgkgIHRoZSBuZWVkIHRvIG1hbnVhbGx5IHNldCBfSVNfU0lOSy4KCSAgQWRkIHNvbWUgY29tbWVudHMgYW5kIHJlbW92ZSBhIGxpdHRsZSBjcnVmdCB3aGlsZSBJJ20gYXQgaXQuCgoyMDA3LTAzLTA1IDE0OjQ2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogTWFyayB1cyBhcyBhIHNpbmsgd2hlbiB3ZSBoYXZlIG5vIGZha2VzaW5rIGluIE5VTEwuIEZpeGVzICM0MTQ4ODcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpOgoJICBNYXJrIHVzIGFzIGEgc2luayB3aGVuIHdlIGhhdmUgbm8gZmFrZXNpbmsgaW4gTlVMTC4gRml4ZXMgIzQxNDg4Ny4KCjIwMDctMDMtMDUgMDg6MzA6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoKMjAwNy0wMy0wNCAxODo1MjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiBVcGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBVcGRhdGUuCgoyMDA3LTAzLTA0IDE3OjMzOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBHYWghIEFsc28gZGlzYWJsZSBnY29uZnZpZGVvc2luayBmcm9tIHRoZSB0ZXN0cywgb3RoZXJ3aXNlIGl0IHdpbGwgaW5zdGFudGlhdGUgYXV0b3ZpZGVvc2luay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgR2FoISBBbHNvIGRpc2FibGUgZ2NvbmZ2aWRlb3NpbmsgZnJvbSB0aGUgdGVzdHMsIG90aGVyd2lzZQoJICBpdCB3aWxsIGluc3RhbnRpYXRlIGF1dG92aWRlb3NpbmssIGFuZCBkZmJ2aWRlb3NpbmsgYW5kCgkgIGxlYWsgb24gdGhlIGJ1aWxkYm90cy4KCjIwMDctMDMtMDQgMTc6MTM6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogTWFrZSBzdXJlIHdlIGFsd2F5cyBkZXN0cm95IG91ciBsaWJjZGlvIGhhbmRsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pLAoJICAoZ3N0X2NkaW9fY2RkYV9zcmNfZmluYWxpemUpOgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIGRlc3Ryb3kgb3VyIGxpYmNkaW8gaGFuZGxlLgoKMjAwNy0wMy0wNCAxNzowNTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhdXRvdmlkZW9zaW5rIHNvIHRoZSBidWlsZGJvdHMgZG9uJ3QgYmFyZiBvdmVyIG1lbW9yeSBsZWFrZWQgaW4gdGhlIGRpcmVjdGZiIHNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGF1dG92aWRlb3Npbmsgc28gdGhlIGJ1aWxkYm90cyBkb24ndCBiYXJmIG92ZXIgbWVtb3J5CgkgIGxlYWtlZCBpbiB0aGUgZGlyZWN0ZmIgc2luay4KCjIwMDctMDMtMDQgMTU6Mjg6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogQ2hhaW4gdXAgaW4gZGlzcG9zZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfZGlzcG9zZSk6CgkgIENoYWluIHVwIGluIGRpc3Bvc2UKCjIwMDctMDMtMDQgMTU6MDc6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZiBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKToKCSAgVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2YKCSAgc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCjIwMDctMDMtMDQgMTQ6NTY6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogQ2F0Y2ggdGhlIGNhc2Ugd2hlcmUgbm8gY2xvY2sgaGFzIGJlZW4gc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfY3JlYXRlKToKCSAgQ2F0Y2ggdGhlIGNhc2Ugd2hlcmUgbm8gY2xvY2sgaGFzIGJlZW4gc2V0LgoKMjAwNy0wMy0wNCAxMzo1MjowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggYSBidW5jaCBvZiBsZWFrcyBzaG93biBieSB0aGUgbmV3bHktYWRkZWQgc3RhdGVzIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19maW5hbGl6ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2Rpc3Bvc2UpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZmluYWxpemUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfZmluYWxpemUpLCAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfZmluYWxpemUpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfZmluYWxpemUpLCAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLCAoZ3N0X3N3aXRjaF9zaW5rX3NldF9jaGlsZCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9maW5hbGl6ZSk6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzogKGdzdF90ZXN0X2NsYXNzX2luaXQpLAoJICAoZ3N0X3Rlc3RfZmluYWxpemUpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZseGRlY19kaXNwb3NlKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfZmluYWxpemUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2ZyZWVfY29udGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NtcHRlX2ZpbmFsaXplKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19maW5hbGl6ZSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzaW5rX2ZpbmFsaXplKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19maW5hbGlzZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zcmNfZmluYWxpemUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9kZXN0cm95KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19maW5hbGl6ZSk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBGaXggYSBidW5jaCBvZiBsZWFrcyBzaG93biBieSB0aGUgbmV3bHktYWRkZWQgc3RhdGVzIHRlc3QuCgoyMDA3LTAzLTA0IDEzOjQxOjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy5jOiBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZiBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KToKCSAgVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2YKCSAgc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCjIwMDctMDMtMDMgMTM6MDY6MjEgKzAwMDAgIExvw69jIE1pbmllciA8bG9vbCtnbm9tZUB2aWEuZWNwLmZyPgoKCSAgRG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcyAoIzQxNDE2OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTG/Dr2MgTWluaWVyIDxsb29sK2dub21lIGF0IHZpYSBlY3AgZnI+CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICBEb24ndCBtaXggdGFicyBhbmQgc3BhY2VzICgjNDE0MTY4KS4KCjIwMDctMDMtMDIgMjE6MzU6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2dlbmVyaWMvLmN2c2lnbm9yZTogSWdub3JlIGZpbGVzIHRvIHBsZWFzZSBidWlsZGJvdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgZmlsZXMgdG8gcGxlYXNlIGJ1aWxkYm90LgoKMjAwNy0wMy0wMiAyMTowMToxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVuYnJlYWsgbXkgcHJldmlvdXMgY29tbWl0IChzd2FwcGVkIG5vbWluYXRvciAmIGRlbm9taW5hdG9yKS4gVGltLCB0aGFua3MgZm9yIHNwb3R0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBVbmJyZWFrIG15IHByZXZpb3VzIGNvbW1pdCAoc3dhcHBlZCBub21pbmF0b3IgJiBkZW5vbWluYXRvcikuIFRpbSwKCSAgdGhhbmtzIGZvciBzcG90dGluZy4KCjIwMDctMDMtMDIgMTY6MDg6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiBTbWFsbCBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfcHJvYmVfZGV2aWNlcyksCgkgIChnc3RfY2Rpb19jZGRhX3NyY19yZWFkX3NlY3RvciksIChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKSwKCSAgKGdzdF9jZGlvX2NkZGFfc3JjX2ZpbmFsaXplKToKCSAgU21hbGwgY29kZSBjbGVhbnVwcy4KCSAgRG9uJ3QgdXNlIHBhZF9hbGxvYyBhcyB0aGUgYmFzZSBjbGFzcyBjYW5ub3QgZGVhbCB3aXRoIHRoZSBlcnJvciBjb2Rlcy4KCjIwMDctMDMtMDIgMTM6NDA6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggZG9jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgRml4IGRvYy4KCjIwMDctMDMtMDIgMTM6Mjk6MjUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHJvdW5kaW5nIGJldHRlciB0byBub3QgZHJvcCBsYXN0IHNhbXBsZSBmcmFtZS4gRml4ZXMgIzM1NjY5MgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgSGFuZGxlIHJvdW5kaW5nIGJldHRlciB0byBub3QgZHJvcCBsYXN0IHNhbXBsZSBmcmFtZS4gRml4ZXMgIzM1NjY5MgoKMjAwNy0wMy0wMiAxMzoxOTo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBjYWNhc2luayBmcm9tIHRoZSBzdGF0ZXMgY2hlY2sgdG9vIC0gaXQgYWxzbyBjYWxscyBleGl0KDEpIG9uIHVzIHdoZW4gaXQgY2FuJ3QgZmluZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgY2FjYXNpbmsgZnJvbSB0aGUgc3RhdGVzIGNoZWNrIHRvbyAtIGl0IGFsc28gY2FsbHMgZXhpdCgxKQoJICBvbiB1cyB3aGVuIGl0IGNhbid0IGZpbmQgYSB0ZXJtaW5hbCB0byB0YWxrIHRvLgoKMjAwNy0wMy0wMiAxMjo1NjoxMyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZCBzdXBwb3J0IHRvIHN0cmlwIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyOTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IHRvIHN0cmlwIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyOTYuCgoyMDA3LTAzLTAyIDEyOjUyOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTAzLTAyIDEyOjE2OjE2ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuKjogQWRkIHN1cHBvcnQgdG8gc3RyaXAgb2ZmIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSAgQWRkIHN1cHBvcnQgdG8gc3RyaXAgb2ZmIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyNzguCgoyMDA3LTAzLTAyIDExOjIyOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2hhbC9oYWwuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2hhbC5jOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTAzLTAyIDEwOjU0OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLio6IFJlbW92ZSBkZXZpY2UtbmFtZSBmcm9tIEdzdFN1bkF1ZGlvU3JjLiBGaXhlcyAjNDEyNTk3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19pbml0KSwgKGdzdF9zdW5hdWRpb3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBSZW1vdmUgZGV2aWNlLW5hbWUgZnJvbSBHc3RTdW5BdWRpb1NyYy4gRml4ZXMgIzQxMjU5Ny4KCjIwMDctMDMtMDEgMjE6NTA6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9oYWwvOiBIYXZpbmcgTlVMTCBhcyBVREkgcHJldmlvdXNseSBzZWxlY3RlZCB0aGUgZGVmYXVsdCBzaW5rL3NyYy4gQ2hhbmdlIHRoaXMgYmFjayBidXQgbWVudGlvbiBpdCBpbiB0aGUgZGVidWcgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgSGF2aW5nIE5VTEwgYXMgVURJIHByZXZpb3VzbHkgc2VsZWN0ZWQgdGhlIGRlZmF1bHQgc2luay9zcmMuIENoYW5nZQoJICB0aGlzIGJhY2sgYnV0IG1lbnRpb24gaXQgaW4gdGhlIGRlYnVnIG91dHB1dC4KCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfYWxzYV9lbGVtZW50KSwKCSAgKGdzdF9oYWxfZ2V0X29zc19lbGVtZW50KSwgKGdzdF9oYWxfZ2V0X3N0cmluZyksCgkgIChnc3RfaGFsX3JlbmRlcl9iaW5fZnJvbV91ZGkpLCAoZ3N0X2hhbF9nZXRfYXVkaW9fc2luayksCgkgIChnc3RfaGFsX2dldF9hdWRpb19zcmMpOgoJICAqIGV4dC9oYWwvaGFsLmg6CgkgIFJlZmFjdG9yIGEgYml0LCBjaGVjayBhbGwgZXJyb3IgY29uZGl0aW9ucywgZ3JlYXRseSBpbXByb3ZlIGRlYnVnZ2luZwoJICBhbmQgZml4IHNvbWUgcG9zc2libGUgbWVtb3J5IGxlYWtzLiBBbHNvIGltcGxlbWVudCBPU1Mgc3VwcG9ydAoJICBhbmQgYWxsb3cgc3BlY2lmeWluZyBhbiBVREkgdGhhdCBwb2ludHMgdG8gYSByZWFsIGRldmljZS4gRm9yIHRoaXMgdGhlCgkgIGNoaWxkIGRldmljZSB3aGljaCBzdXBwb3J0cyBBTFNBIChwcmVmZXJyZWQpIG9yIE9TUyBpcyB1c2VkLgoJICBBcyBhIHNpZGUgZWZmZWN0IHRoaXMgbWFrZXMgaXQgaW1wb3NzaWJsZSBub3cgdG8gZ2V0IGEgYWxzYXNpbmsgaW4KCSAgaGFsYXVkaW9zcmMgYW5kIGEgYWxzYXNyYyBpbiBoYWxhdWRpb3NpbmsuCgoyMDA3LTAzLTAxIDE4OjQ3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBFcnJvcnMgZnJvbSB0aGUgdWRwIHNvdXJjZXMgYXJlIG5vdCBmYXRhbCB1bmxlc3MgYWxsIG9mIHRoZW0gYXJlIGluIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChmaW5kX3N0cmVhbV9ieV9jaGFubmVsKSwKCSAgKGZpbmRfc3RyZWFtX2J5X3VkcHNyYyksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgIEVycm9ycyBmcm9tIHRoZSB1ZHAgc291cmNlcyBhcmUgbm90IGZhdGFsIHVubGVzcyBhbGwgb2YgdGhlbSBhcmUgaW4KCSAgZXJyb3IuCgoyMDA3LTAzLTAxIDE4OjE0OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGFhc2luayBpbiB0aGUgc3RhdGVzIHRlc3QuIEkgc3VzcGVjdCB0aGlzIGlzIHRoZSBlbGVtZW50IHRoYXQgaXMgY2FsbGluZyBleGl0KDEpIHdoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBhYXNpbmsgaW4gdGhlIHN0YXRlcyB0ZXN0LiBJIHN1c3BlY3QgdGhpcyBpcyB0aGUgZWxlbWVudCB0aGF0CgkgIGlzIGNhbGxpbmcgZXhpdCgxKSB3aGVuIGl0IGNhbid0IHByb2NlZWQuCgoyMDA3LTAzLTAxIDE3OjI2OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4gcGlja2luZyB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuIHBpY2tpbmcKCSAgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHZlcnNpb25zLgoKMjAwNy0wMy0wMSAxMDo0NDozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEVycm9yIG91dCBjb3JyZWN0bHkgd2hlbiBnZXR0aW5nIHhjb250ZXh0IGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMy0wMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19vcGVuX2Rpc3BsYXkpOgoJICBFcnJvciBvdXQgY29ycmVjdGx5IHdoZW4gZ2V0dGluZyB4Y29udGV4dCBmYWlscy4KCjIwMDctMDMtMDEgMDk6Mjk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuYzogTWFrZSBzdGF0ZSBjaGFuZ2UgdG8gUEFVU0VEIE5PX1BSRVJPTEwgYmVjYXVzZSB0aGF0J3Mgd2hhdCBpdCB3aWxsIGJlIGluIHRoZSBmdXR1cmUgYW5kIHJ0c3BzcmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2Ugc3RhdGUgY2hhbmdlIHRvIFBBVVNFRCBOT19QUkVST0xMIGJlY2F1c2UgdGhhdCdzIHdoYXQgaXQgd2lsbCBiZSBpbgoJICB0aGUgZnV0dXJlIGFuZCBydHNwc3JjIHJlbGllcyBvbiBpdC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBlcnJvciBvdXQgd2hlbiB3ZSBkb24ndCBnZXQgYW4gZXJyb3IgZnJvbSB0aGUgc3RhdGUgY2hhbmdlCgkgIGZ1bmN0aW9uLgoKMjAwNy0wMy0wMSAwMTo0ODo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2hhbC86IENoZWNrIGlmIHRoZSBkZXZpY2UgVURJIGlzIHNldCBiZWZvcmUgdHJ5aW5nIHRvIHF1ZXJ5IEhBTCBhYm91dCBpdCBhbmQgZ2l2ZSBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIGlmIGl0IHdhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICBDaGVjayBpZiB0aGUgZGV2aWNlIFVESSBpcyBzZXQgYmVmb3JlIHRyeWluZyB0byBxdWVyeSBIQUwKCSAgYWJvdXQgaXQgYW5kIGdpdmUgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSBpZiBpdCB3YXNuJ3Qgc2V0LgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9zdHJpbmcpOgoJICBEb24ndCBxdWVyeSBIQUwgZm9yIE5VTEwgVURJcy4gUGFzc2luZyBOVUxMIGFzIFVESSB0byBIQUwKCSAgZ2l2ZXMgYW4gYXNzZXJ0aW9uIGZhaWx1cmUgaW4gRC1CdXMgd2hlbiBydW5uaW5nIHdpdGgKCSAgREJVU19GQVRBTF9XQVJOSU5HUz0xLgoKMjAwNy0wMi0yOCAxOToyOTo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSBjb25maWcgdG8gdHJ1bmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb25maWcgdG8gdHJ1bmsKCjIwMDctMDItMjggMTk6Mjk6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoKMjAwNy0wMi0yOCAxMjo1OTo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICB0ZXN0cy9jaGVjay86IGFkZCB0ZXN0IGZvciBzdGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKEdTVF9TVEFSVF9URVNUKSwgKHN0YXRlc19zdWl0ZSk6CgkgIGFkZCB0ZXN0IGZvciBzdGF0ZXMKCjIwMDctMDItMjggMTA6NTg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBBZGQgbmV3IHZpZGVvZmlsdGVyIGNoZWNrIHRvIC5jdnNpZ25vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCBuZXcgdmlkZW9maWx0ZXIgY2hlY2sgdG8gLmN2c2lnbm9yZS4KCjIwMDctMDItMjggMTA6NTQ6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBjb21iaW5lZCBmbG93IHJldHVybi4gRml4ZXMgIzQxMjYwOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKSwgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBGaXggY29tYmluZWQgZmxvdyByZXR1cm4uIEZpeGVzICM0MTI2MDguCgoyMDA3LTAyLTI4IDEwOjQxOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOiBEaXN0IGhlYWRlci4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgRGlzdCBoZWFkZXIuLgoKMjAwNy0wMi0yOCAxMDoyOTowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOiBBZGQgaGVhZGVyIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkgIEFkZCBoZWFkZXIgdG9vLgoKMjAwNy0wMi0yOCAxMDoxNzoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC92aWRlb2ZpbHRlci86IFBvcnQgZ2FtbWEgZmlsdGVyIHRvIDAuMTAuIEZpeGVzICM0MTI3MDQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6IChnc3RfZ2FtbWFfYmFzZV9pbml0KSwKCSAgKGdzdF9nYW1tYV9jbGFzc19pbml0KSwgKGdzdF9nYW1tYV9pbml0KSwgKGdzdF9nYW1tYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dhbW1hX2dldF9wcm9wZXJ0eSksIChnc3RfZ2FtbWFfY2FsY3VsYXRlX3RhYmxlcyksCgkgIChvaWxfdGFibGVsb29rdXBfdTgpLCAoZ3N0X2dhbW1hX3NldF9jYXBzKSwKCSAgKGdzdF9nYW1tYV9wbGFuYXI0MTFfaXApLCAoZ3N0X2dhbW1hX3RyYW5zZm9ybV9pcCksIChwbHVnaW5faW5pdCk6CgkgIFBvcnQgZ2FtbWEgZmlsdGVyIHRvIDAuMTAuIEZpeGVzICM0MTI3MDQuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzogKHNldHVwX2ZpbHRlciksCgkgIChjbGVhbnVwX2ZpbHRlciksIChjaGVja19maWx0ZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9iYWxhbmNlX3N1aXRlKSwgKHZpZGVvZmxpcF9zdWl0ZSksIChnYW1tYV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHZpZGVvZmlsdGVycy4KCjIwMDctMDItMjggMTA6MDY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgYW5vdGhlciBpbnRlcmVzdGluZyB0ZXN0IHVybC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIGFub3RoZXIgaW50ZXJlc3RpbmcgdGVzdCB1cmwuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKToKCSAgRG9uJ3QgYWxsb3cgZ2V0dGluZyBoZWFkZXIgZmllbGRzIGZyb20gZGF0YSBwYWNrZXRzLgoKMjAwNy0wMi0yNyAyMzo0MzowOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuKjogQWRkIGEgcHJvcGVydHkgZm9yIHVzZXJuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9pbml0KSwgKGdzdF9zaG91dDJzZW5kX3N0YXJ0KSwKCSAgKGdzdF9zaG91dDJzZW5kX3NldF9wcm9wZXJ0eSksIChnc3Rfc2hvdXQyc2VuZF9nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIEFkZCBhIHByb3BlcnR5IGZvciB1c2VybmFtZS4KCjIwMDctMDItMjcgMTI6MDI6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoKMjAwNy0wMi0yNyAxMTo1OToyMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnQKCjIwMDctMDItMjcgMTE6MzA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seSBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkKCSAgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgd2l0aGluIGFuIE5TQXBwICh3aGljaCBoYXMgYWxyZWFkeSBnb3QKCSAgYSBjb2NhIGV2ZW50IGxvb3ApLgoJICBSZW1vdmUgYWxsIHVudXNlZCBjb2RlLgoKMjAwNy0wMi0yNiAxMjowNzoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC9NYWtlZmlsZS5hbTogRml4IG1ha2UgY2hlY2sgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgRml4IG1ha2UgY2hlY2sgdG9vLgoKMjAwNy0wMi0yNiAxMDowMDoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC9iYXNlNjQuKjogQ29tbWl0IG1pc3NpbmcgZmlsZXMgZm9yIGJhc2U2NCBlbmNvZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvYmFzZTY0LmM6ICh1dGlsX2Jhc2U2NF9lbmNvZGUpOgoJICAqIGdzdC9ydHNwL2Jhc2U2NC5oOgoJICBDb21taXQgbWlzc2luZyBmaWxlcyBmb3IgYmFzZTY0IGVuY29kaW5nLgoKMjAwNy0wMi0yNCAyMjo1Nzo0OSArMDAwMCAgTG/Dr2MgTWluaWVyIDxsb29sK2dub21lQHZpYS5lY3AuZnI+CgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycgKCM0MTA5OTcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTG/Dr2MgTWluaWVyIDxsb29sK2dub21lIGF0IHZpYSBlY3AgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJyAoIzQxMDk5NykKCjIwMDctMDItMjQgMjI6NTI6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCjIwMDctMDItMjMgMTk6MTI6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvOiBnX2Jhc2U2NF9lbmNvZGUgaXMgYSBHTGliIDIuMTIgZnVuY3Rpb24uIFVzZSBhbiBlcXVpdmFsZW50IHRha2VuIGZyb20gaWNlY2FzdCB0byByZXBsYWNlIGl0LiBSZWxpY2Vuc2VkIGZyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChhcHBlbmRfYXV0aF9oZWFkZXIpLAoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3NldF9hdXRoKToKCSAgZ19iYXNlNjRfZW5jb2RlIGlzIGEgR0xpYiAyLjEyIGZ1bmN0aW9uLiBVc2UgYW4gZXF1aXZhbGVudCB0YWtlbgoJICBmcm9tIGljZWNhc3QgdG8gcmVwbGFjZSBpdC4gUmVsaWNlbnNlZCBmcm9tIEdQTCBjb3VydGVzeSBvZiBNaWtlCgkgIFNtaXRoLgoKMjAwNy0wMi0yMyAxODoxMjoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC86IEltcGxlbWVudCBzaW1wbGUgQmFzaWMgQXV0aGVudGljYXRpb24gc3VwcG9ydCBzbyB0aGF0IHVybHMgbGlrZSBydHNwOi8vdXNlcjpwYXNzQGhvc3RuYW1lL3J0c3BzdHJlYW0gd29yayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChydHNwX2F1dGhfbWV0aG9kX3RvX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkciksIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAoYXBwZW5kX2F1dGhfaGVhZGVyKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKSwgKHJ0c3BfY29ubmVjdGlvbl9zZXRfYXV0aCk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX2dldF9yZXF1ZXN0X3VyaSk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICBJbXBsZW1lbnQgc2ltcGxlIEJhc2ljIEF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgc28gdGhhdCB1cmxzIGxpa2UKCSAgcnRzcDovL3VzZXI6cGFzc0Bob3N0bmFtZS9ydHNwc3RyZWFtIHdvcmsgb24gaG9zdHMgdGhhdCByZXF1aXJlCgkgIGF1dGhlbnRpY2F0aW9uLgoKMjAwNy0wMi0yMiAxNzo1MzoyNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIEZpeCBzZWdmYXVsdCB3aGVuIG9wcGVuaW5nIGEgcmFkaW8gZGV2aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHNlZ2ZhdWx0IHdoZW4gb3BwZW5pbmcgYSByYWRpbyBkZXZpY2UuCgoyMDA3LTAyLTIyIDE0OjM1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbGV2ZWwgZm9yIG11bHRpLWNoYW5uZWwgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X2NhcHMpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogc3lzL3Y0bDIvUkVBRE1FOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBsZXZlbCBmb3IgbXVsdGktY2hhbm5lbCBjYXNlLgoKMjAwNy0wMi0yMSAxMDoxODoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFVzZSBmdW5jdGlvbiBwb2ludGVyIGZvciBwcm9jZXNzIGZ1bmN0aW9uIGFuZCBhZGQgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIGZsb2F0IGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KSwgKGdzdF9sZXZlbF9zZXRfY2FwcyksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgVXNlIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIHByb2Nlc3MgZnVuY3Rpb24gYW5kIGFkZCBwcm9jZXNzIGZ1bmN0aW9ucwoJICBmb3IgZmxvYXQgYXVkaW8uCgoyMDA3LTAyLTIwIDIxOjM0OjAwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgIEFkZCBhIG5ldyB3YXZlZm9ybSBwbHVnaW4gd2hpY2ggaW5jbHVkZXMgYW4gYXVkaW8gc2luawoJICBlbGVtZW50IHVzaW5nIHRoZSBXYXZlRm9ybSB3aW4zMiBBUEkuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCB0aGUgbmV3IHByb2plY3QgZmlsZSBmb3JtIHdhdmVmb3JtIHBsdWdpbi4KCjIwMDctMDItMTkgMTI6MjI6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogUmVhZGQgR1NUX0VMRU1FTlRfRVJST1IgaWYgd2UgY2FuJ3QgcmVlbnF1ZSBidWZmZXJzIGFmdGVyIEVJTywgZml4ZXMgIzQwNzM2OQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgUmVhZGQgR1NUX0VMRU1FTlRfRVJST1IgaWYgd2UgY2FuJ3QgcmVlbnF1ZSBidWZmZXJzIGFmdGVyIEVJTywKCSAgZml4ZXMgIzQwNzM2OQoKMjAwNy0wMi0xOCAxODowMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvOiBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW1vdmUgdW51c2VkL3VudGVzdGVkIGNvZGUgKHJlbmRlcmluZyB0byBhbiBleHRlcm4gc3VyZmFjZSwKCSAgeXV2IGZvcm1hdCByZW5kZXJpbmcpLlVzZSBHU1RfKERFQlVHLyopX09CSkVDVCBtYWNyb3MKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0ZHJhd3NpbmsgdG8gZ3N0X2RpcmVjdGRyYXdfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICBGaXggYSBidWcgaW4gZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLCBtZW1jcHkgbGluZSBieSBsaW5lCgkgIHJlc3BlY3RpbmcgZGVzdGluYXRpb24gc3VyZmFjZSBzdHJpZGUuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0c291bmRzaW5rIHRvIGdzdF9kaXJlY3Rzb3VuZF9zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgY29uZmlnLmguaW4KCjIwMDctMDItMTggMTM6MjQ6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgc2ltcGxlIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzogKGdzdF9ydHBfbXAydF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wMnRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXAydF9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX21wMnRfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSAgQWRkZWQgc2ltcGxlIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXlsb2FkZXIuCgoyMDA3LTAyLTE2IDEyOjMyOjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIGV4YW1wbGUgSDI2NCBydHNwIHVybC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIGV4YW1wbGUgSDI2NCBydHNwIHVybC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNvbnZlcnQgdmFsdWVzIHRvIGxvd2VyY2FzZSBvciB3ZSBtaWdodCBtZXNzIHVwIGJhc2U2NCBlbmNvZGVkCgkgIHByb3BlcnRpZXMuCgoyMDA3LTAyLTE2IDEyOjMwOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IEZpeCBjYXNlIG9mIHN0cmluZyBwYXJhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBGaXggY2FzZSBvZiBzdHJpbmcgcGFyYW1zLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBkZXBheWxvYWRlciwgc3VwcG9ydCBtb3JlIHBhY2tldCB0eXBlcy4KCSAgQWRkIHN5bmMgY29kZXMgdG8gbWFrZSBzdXJlIHRoZSBwYWNrZXRpemVyIGNhbiBkbyBpdHMgam9iLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBjYXBzIGNhc2UgYWdhaW4uCgoyMDA3LTAyLTE1IDEyOjI2OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogU2V0IHJpZ2h0IGNhcHMgb24gb3V0cHV0IGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIFNldCByaWdodCBjYXBzIG9uIG91dHB1dCBidWZmZXJzLgoKMjAwNy0wMi0xNCAxNzowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogQ2xlYXIgc3RhY2sgYWxsb2NhdGVkIFNEUE1lZGlhIHN0cnVjdCBiZWZvcmUgY2FsbGluZyBfaW5pdCgpIG9uIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfcGFyc2VfbGluZSk6CgkgIEFzIHNwb3R0ZWQgYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT46CgkgIENsZWFyIHN0YWNrIGFsbG9jYXRlZCBTRFBNZWRpYSBzdHJ1Y3QgYmVmb3JlIGNhbGxpbmcgX2luaXQoKSBvbiBpdC4KCSAgQ2xhcmlmeSB0aGlzIGluIHRoZSBkb2NzIGFzIHdlbGwuCgoyMDA3LTAyLTE0IDE3OjAxOjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiBEb24ndCByZXNldCB0aGUgcHJvZmlsZSB3aGVuIGdvaW5nIHN3aXRjaGluZyBzdGF0ZXMsIGFzIGl0IG1ha2VzIHRoZSBlbGVtZW50IG5vbi1yZXVzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGRvX2NoYW5nZV9jaGlsZCk6CgkgIERvbid0IHJlc2V0IHRoZSBwcm9maWxlIHdoZW4gZ29pbmcgc3dpdGNoaW5nIHN0YXRlcywgYXMgaXQgbWFrZXMKCSAgdGhlIGVsZW1lbnQgbm9uLXJldXNhYmxlLgoKMjAwNy0wMi0xNCAxNToyNDo1MCArMDAwMCAganAubGl1IDxqcF9saXVAYXN0cm9jb20uY24+CgoJICBnc3QvcnRzcC9zZHBtZXNzYWdlLio6IEZpeCBtZW1vcnkgbWFuYWdlbWVudCBvZiBTRFAgbWVzc2FnZXMuIEZpeGVzICM0MDc3OTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9vcmlnaW5faW5pdCksIChzZHBfY29ubmVjdGlvbl9pbml0KSwKCSAgKHNkcF9iYW5kd2lkdGhfaW5pdCksIChzZHBfdGltZV9pbml0KSwgKHNkcF96b25lX2luaXQpLAoJICAoc2RwX2tleV9pbml0KSwgKHNkcF9hdHRyaWJ1dGVfaW5pdCksIChzZHBfbWVzc2FnZV9pbml0KSwKCSAgKHNkcF9tZXNzYWdlX3VuaW5pdCksIChzZHBfbWVzc2FnZV9mcmVlKSwgKHNkcF9tZWRpYV9pbml0KSwKCSAgKHNkcF9tZWRpYV91bmluaXQpLCAoc2RwX21lZGlhX2ZyZWUpLCAoc2RwX21lc3NhZ2VfYWRkX21lZGlhKSwKCSAgKHNkcF9wYXJzZV9saW5lKToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBqcC5saXUgPGpwX2xpdSBhdCBhc3Ryb2NvbSBkb3QgY24+CgkgIEZpeCBtZW1vcnkgbWFuYWdlbWVudCBvZiBTRFAgbWVzc2FnZXMuIEZpeGVzICM0MDc3OTMuCgoyMDA3LTAyLTE0IDEyOjA3OjAxICswMDAwICB6aGFuZ2ZlaSBnYW8gPGdhb3poYW5nZmVpQHlhaG9vLmNvbS5jbj4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFsbG93IG11eGluZyB2aWRlby94LWgyNjQgKHdhcyBhbHJlYWR5IGluIHRoZSBjYXBzKS4gRml4ZXMgIzQwNzc4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB6aGFuZ2ZlaSBnYW8gPGdhb3poYW5nZmVpQHlhaG9vLmNvbS5jbj4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2Fwcyk6CgkgIEFsbG93IG11eGluZyB2aWRlby94LWgyNjQgKHdhcyBhbHJlYWR5IGluIHRoZSBjYXBzKS4gRml4ZXMgIzQwNzc4MC4KCjIwMDctMDItMTQgMTA6MDk6MTIgKzAwMDAgIGpwLmxpdSA8anBfbGl1QGFzdHJvY29tLmNuPgoKCSAgZ3N0L3J0c3AvcnRzcHVybC5jOiBGaXggcGFyc2luZyBvZiBwYXNzd29yZCBmaWVsZCBpbiB1cmwuIEZpeGVzICM0MDc3OTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieToganAubGl1IDxqcF9saXUgYXQgYXN0cm9jb20gZG90IGNuPgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgRml4IHBhcnNpbmcgb2YgcGFzc3dvcmQgZmllbGQgaW4gdXJsLiBGaXhlcyAjNDA3Nzk3LgoKMjAwNy0wMi0xNCAwOTo1NTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBVcGRhdGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2Rlc3Ryb3lfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9mbXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9jaGFpbiksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBVcGRhdGUgZG9jcy4KCSAgVXNlIGJvaWxlcnBsYXRlLgoJICBWYXJpb3VzIGNvZGUgY2xlYW51cHMuCgkgIFdoZW4gdGhlIGJpdHJhdGUgaXMgbm90IGtub3duIChicHMgPT0gMCBvciBjb21wcmVzc2VkIGZvcm1hdHMpIGxldAoJICBkb3duc3RyZWFtIGVsZW1lbnQgZ3Vlc3RpbWF0ZSB0aGUgZHVyYXRpb24gYW5kIHBvc2l0aW9uIGFuZCBkb24ndAoJICBnZW5lcmF0ZSB0aW1lc3RhbXBzIG9yIGR1cmF0aW9ucy4gRml4ZXMgIzQwNTIxMy4KCSAgRml4IEVPUyBhbmQgRVJST1IgY29uZGl0aW9ucyBpbiBjaGFpbiBtb2RlLCB3ZSBqdXN0IG5lZWQgdG8gZm9yd2FyZCB0aGUKCSAgZXJyb3IgZmxvd3JldHVybiB1cHN0cmVhbS4KCjIwMDctMDItMTMgMTY6MDE6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmUtZmFjdG9yIHRoZSBnY29uZmF1ZGlvc2luayBpbnRvIGEgIkdzdFN3aXRjaFNpbmsiIGJhc2UgY2xhc3MgYW5kIGEgY2hpbGQgdGhhdCBpbXBsZW1lbnRzIHRoZSBHQ29uZiBrZXkgbW9uaXRvcmluZy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9nZXRfc3RyaW5nKSwKCSAgKGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUpLCAoZ3N0X2djb25mX3NldF9zdHJpbmcpLAoJICAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19yZXNldCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2Rpc3Bvc2UpLCAoZG9fY2hhbmdlX2NoaWxkKSwKCSAgKGdzdF9nY29uZl9zd2l0Y2hfcHJvZmlsZSksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoY2JfY2hhbmdlX2NoaWxkKSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KSwKCSAgKGdzdF9zd2l0Y2hfc2lua19pbml0KSwgKGdzdF9zd2l0Y2hfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpLCAoZ3N0X3N3aXRjaF9zaW5rX3NldF9jaGlsZCksCgkgIChnc3Rfc3dpdGNoX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9zd2l0Y2hfc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfc3dpdGNoX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGVhcl9raWQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsZWFyX2tpZCksIChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgUmUtZmFjdG9yIHRoZSBnY29uZmF1ZGlvc2luayBpbnRvIGEgIkdzdFN3aXRjaFNpbmsiIGJhc2UgY2xhc3MKCSAgYW5kIGEgY2hpbGQgdGhhdCBpbXBsZW1lbnRzIHRoZSBHQ29uZiBrZXkgbW9uaXRvcmluZy4gVGhlIGVuZCBnb2FsIG9mCgkgIHRoaXMgaXMgYW4gYXVkaW8gc2luayB0aGF0IGNhbiBiZSBjaGFuZ2VkIG9uIHRoZSBmbHksIGJ1dCBhdCB0aGUKCSAgbW9tZW50IGl0IHN0aWxsIG9ubHkgY2hhbmdlcyBvbiB0aGUgbmV4dCBSRUFEWSB0cmFuc2l0aW9uLgoKMjAwNy0wMi0xMyAxMTo1NzoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQdXQgZGVidWcgc3R1ZmYgaW50byAjaWZuZGVmIEdTVF9ESVNBQkxFX0RFQlVHICNlbmRpZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIFB1dCBkZWJ1ZyBzdHVmZiBpbnRvICNpZm5kZWYgR1NUX0RJU0FCTEVfREVCVUcgI2VuZGlmCgoyMDA3LTAyLTEzIDA5OjQ2OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4KCjIwMDctMDItMTIgMjM6MzU6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9ub3Njb3BlLzogRml4IGNvcHknbidwYXN0ZS1vIGluIGRvY3MgY2h1bmsuIEFsc28gYWRkIHNvbWUgbWlzc2luZyBDRkxBR1MgKGJ1dCBubyBMSUJTLCBzaW5jZSB3ZSBvbmx5IHVzZSBkZWZpbmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBGaXggY29weSduJ3Bhc3RlLW8gaW4gZG9jcyBjaHVuay4gQWxzbyBhZGQgc29tZSBtaXNzaW5nIENGTEFHUwoJICAoYnV0IG5vIExJQlMsIHNpbmNlIHdlIG9ubHkgdXNlIGRlZmluZXMgZnJvbSB0aGUgaGVhZGVycykuCgoyMDA3LTAyLTEyIDIzOjI3OjMxICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggbWFzc2l2ZSBtZW1vcnkgbGVhayB3aGVuIG9wZXJhdGluZyBpbiBzdHJlYW1pbmcgbW9kZSBkdWUgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3ICA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgRml4IG1hc3NpdmUgbWVtb3J5IGxlYWsgd2hlbiBvcGVyYXRpbmcgaW4gc3RyZWFtaW5nIG1vZGUgZHVlIHRvCgkgIEdTVF9CVUZGRVJfTUFMTE9DREFUQSgpIG5vdCBiZWluZyBzZXQgb24gbmV3bHktY3JlYXRlZCBidWZmZXJzLgoJICBGaXhlcyAjNDA3MDU3LgoKMjAwNy0wMi0xMiAxNToyOTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBTYXZlIHNvbWUgbWVtb3J5ICg4JSkgYnkgcmVwYWNraW5nIHRoZSBpbmRleCBlbnRyeSBzdHJ1Y3R1cmUgKG1vcmUgdG8gY29tZSkuIEFkZCBtb3JlIEZJWE1FcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFNhdmUgc29tZSBtZW1vcnkgKDglKSBieSByZXBhY2tpbmcgdGhlIGluZGV4IGVudHJ5IHN0cnVjdHVyZSAobW9yZSB0bwoJICBjb21lKS4gQWRkIG1vcmUgRklYTUVzIHRvIHF1ZXN0aW9uYWJsZSBwYXJ0cy4KCjIwMDctMDItMTIgMTI6NTc6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogTW9yZSBGSVhNRSBjb21tZW50cyBhbmQgbWVzc2FnaW5nIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fY2FwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgIE1vcmUgRklYTUUgY29tbWVudHMgYW5kIG1lc3NhZ2luZyBjaGFuZ2VzLgoKMjAwNy0wMi0xMiAxMjo0MzowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS4qOiBJbXByb3ZlZCBkb2NzIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksCgkgIChnc3RfZ29vbV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgSW1wcm92ZWQgZG9jcyBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpOgoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX2NoYWluKSwgKGdzdF9tb25vc2NvcGVfY2hhbmdlX3N0YXRlKToKCSAgSW1wcm92ZWQgZG9jcyBzb3VyY2UgY2xlYW51cHMuCgoyMDA3LTAyLTEyIDEwOjI5OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnLzogQWRkIGNvZGUgZm9yIGEgcHVzaGZpbGVzcmMgZWxlbWVudCB0aGF0IGltcGxlbWVudHMgYSBwdXNoZmlsZTovLyBVUkkgaGFuZGxlciwgdG8gbWFrZSBkZWJ1Z2dpbmcgcHVzaC1tb2RlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuYzoKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuaDoKCSAgQWRkIGNvZGUgZm9yIGEgcHVzaGZpbGVzcmMgZWxlbWVudCB0aGF0IGltcGxlbWVudHMgYSBwdXNoZmlsZTovLyBVUkkKCSAgaGFuZGxlciwgdG8gbWFrZSBkZWJ1Z2dpbmcgcHVzaC1tb2RlIG9wZXJhdGlvbiBvZiBkZW11eGVyL2RlY29kZXJzCgkgIHRoYXQgc3VwcG9ydCBib3RoIGVhc2llciBpbiBjb25uZWN0aW9uIHdpdGggc2Vlay9wbGF5YmluL2V0Yy4KCSAgVGhlIGVsZW1lbnQgaXNuJ3QgcmVnaXN0ZXJlZCBhdCB0aGUgbW9tZW50LgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDItMTEgMTI6NTc6NDcgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IENvbW1lbnQgYSAjaWYgMCBpbiBjYXBzIHRlbXBsYXRlIGRlZmluaXRpb24gYXMgVlM2IHNlZW1zIHRvIGRvIG5vdCBzdXBwb3J0IGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBDb21tZW50IGEgI2lmIDAgaW4gY2FwcyB0ZW1wbGF0ZSBkZWZpbml0aW9uIGFzIFZTNiBzZWVtcyB0bwoJICBkbyBub3Qgc3VwcG9ydCBpdC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6KGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoocnRzcF9jb25uZWN0aW9uX3NlbmQpOgoJICBNb3ZlIHZhcmlhYmxlcyBkZWNsYXJhdGlvbiBiZWZvcmUgdGhlIGZpcnN0IGluc3RydWN0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6KHJ0c3Bfc3RycmVzdWx0KToKCSAgRG9uJ3QgdXNlIGhzdHJlcnJvciBmb3IgZXJyb3IgbG9nIG9uIEdfT1NfV0lOMzIgYnVpbGQgYXMgaXQncyBub3Qgc3VwcG9ydGVkLgoJICBBbmQgZG9uJ3QgaW5jbHVkZSBuZXRkYi5oIGZvciBHX09TX1dJTjMyCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOihzZHBfcGFyc2VfbGluZSk6CgkgIFRoaXMgaW5pdGlhbGl6YXRpb24gU0RQTWVkaWEgbm1lZGlhID0gey5tZWRpYSA9IE5VTEwgfTsgaXMgbm90IHN1cHBvcnRlZAoJICBieSBWUzYgdGhlbiB1c2UgYW4gb3RoZXIgd2F5IHRvIGluaXRpYWxpemUgU0RQTWVkaWEgc3RydWN0dXJlLgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwbmV0dXRpbHMuaDoKCSAgRG8gbm90IGluY2x1ZGUgPHN5cy90aW1lLmg+IGZvciBHX09TX1dJTjMyCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRGVmaW5lIHNvY2tsZW5fdCBhcyBpbnQgZm9yIEdfT1NfV0lOMzIKCSAgKiB3aW4vY29tbW9uL2NvbmZpZy5oLmluOgoJICBVbmRlZiBIQVZFX05FVElORVRfSU5fSAoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSAgQWRkIGFuZCB1cGRhdGUgcHJvamVjdCBmaWxlcy4KCSAgKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJICAqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmg6CgkgIEFkZCBhIGNvcHkgb2YgdWRwIGVudW10eXBlcyB0byB3aW4zMi9jb21tb24gYXMgaW4gY29yZQoJICBhbmQgYmFzZS4KCjIwMDctMDItMTEgMTA6NTM6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWN0aXZhdGUgbW9ub3Njb3BlIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWVuYWJsZS1leHBlcmltZW50YWwuIEZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFjdGl2YXRlIG1vbm9zY29wZSB3aGVuIGJ1aWxkaW5nIHdpdGggLS1lbmFibGUtZXhwZXJpbWVudGFsLiBGaXgKCSAgLS1lbmFibGUtZXh0ZXJuYWwgY29uZmlndXJlIHN3aXRjaCBkZXNjcmlwdGlvbi4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOiAoZ3N0X3N1bmF1ZGlvbWl4ZXJfYmFzZV9pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19kaXNwb3NlKToKCSAgSGVscCBnc3QtaW5kZW50LgoKMjAwNy0wMi0wOSAwOToyNDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEV4cGxpY2l0bHkgY2FzdCByZXN1bHQgb2YgcG9pbnRlciBhcml0aG1ldGljIHRvIGludGVnZXIgaW4gb3JkZXIgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgb24gcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgIEV4cGxpY2l0bHkgY2FzdCByZXN1bHQgb2YgcG9pbnRlciBhcml0aG1ldGljIHRvIGludGVnZXIgaW4gb3JkZXIgdG8KCSAgYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgb24gc29tZSA2NC1iaXQgc3lzdGVtcy4gU2hvdWxkIGZpeCAjNDA2MDE4LgoKMjAwNy0wMi0wOCAxMTowOToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiBTb21lIG1vcmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgIFNvbWUgbW9yZSBkb2NzLgoKMjAwNy0wMi0wNyAyMTowOTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOiBVcGRhdGUgZm9yIG5ldyBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIFVwZGF0ZSBmb3IgbmV3IGVsZW1lbnRzLgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5oOgoJICBDb21taXQgbmV3bHktY3JlYXRlZCBoZWFkZXIgZmlsZSBhcyB3ZWxsLgoKMjAwNy0wMi0wNyAyMDozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2UgcHJvZ3Jlc3NyZXBvcnQgZWxlbWVudCBwb3N0IG1lc3NhZ2VzIHdpdGggdGhlIGN1cnJlbnQgcHJvZ3Jlc3Mgb24gdGhlIGJ1cy4gQWxzbyBhZGQgc29tZSBiYXNpYyBkb2NzIGZvciBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfcG9zdF9wcm9ncmVzcyksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2RvX3F1ZXJ5KSwgKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KToKCSAgTWFrZSBwcm9ncmVzc3JlcG9ydCBlbGVtZW50IHBvc3QgbWVzc2FnZXMgd2l0aCB0aGUgY3VycmVudCBwcm9ncmVzcwoJICBvbiB0aGUgYnVzLiBBbHNvIGFkZCBzb21lIGJhc2ljIGRvY3MgZm9yIGl0LgoKMjAwNy0wMi0wNyAxMzowODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9oYWwvaGFsLio6IFNvbWUgc21hbGwgY2xlYW51cHM7IGRlYWwgd2l0aCBlcnJvcnMgd2hlbiBwYXJzaW5nIHRoZSBIQUwgQUxTQSBjYXBhYmlsaXRpZXMgYSBiaXQgYmV0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfc3RyaW5nKToKCSAgKiBleHQvaGFsL2hhbC5oOgoJICBTb21lIHNtYWxsIGNsZWFudXBzOyBkZWFsIHdpdGggZXJyb3JzIHdoZW4gcGFyc2luZyB0aGUgSEFMIEFMU0EKCSAgY2FwYWJpbGl0aWVzIGEgYml0IGJldHRlci4KCjIwMDctMDItMDYgMTY6Mjk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogTGV0J3MgdHJ5IHRoaXMgYWdhaW4gYW5kIHVzZSB0aGUgcmlnaHQgY2FzdCB0aGlzIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX3RyYW5zaXRpb25fdHlwZV9nZXRfdHlwZSk6CgkgIExldCdzIHRyeSB0aGlzIGFnYWluIGFuZCB1c2UgdGhlIHJpZ2h0IGNhc3QgdGhpcyB0aW1lLgoKMjAwNy0wMi0wNiAxNjoyNDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBBZGQgY2FzdCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIG9sZGVyIEdMaWIgdmVyc2lvbnMgd2hlcmUgdGhlIG5pY2svbmFtZSBtZW1iZXJzIGluIEdFbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV90cmFuc2l0aW9uX3R5cGVfZ2V0X3R5cGUpOgoJICBBZGQgY2FzdCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIG9sZGVyIEdMaWIgdmVyc2lvbnMKCSAgd2hlcmUgdGhlIG5pY2svbmFtZSBtZW1iZXJzIGluIEdFbnVtVmFsdWUgYXJlIG5vdCBkZWNsYXJlZCBhcwoJICBjb25zdGFudCBzdHJpbmdzLgoKMjAwNy0wMi0wNiAxNTo1NjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi86IEluIGdjb25mYXVkaW9zaW5rLCBnZXQgdGhlIHJpZ2h0IGtleSBhcyB0aGUgb2xkIGtleSBpbiBkb190b2dnbGUgKGllLiBvbmUgZGVwZW5kZW50IG9uIHRoZSBwcm9maWxlIHNlbGVjdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUpLAoJICAoZ3N0X2djb25mX3JlbmRlcl9iaW5fZnJvbV9rZXkpLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X2F1ZGlvX3NpbmspOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ2V0X2djb25mX2tleV9mb3JfcHJvZmlsZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgSW4gZ2NvbmZhdWRpb3NpbmssIGdldCB0aGUgcmlnaHQga2V5IGFzIHRoZSBvbGQga2V5IGluIGRvX3RvZ2dsZQoJICAoaWUuIG9uZSBkZXBlbmRlbnQgb24gdGhlIHByb2ZpbGUgc2VsZWN0ZWQpLiBMb2cgc29tZSBtb3JlIHN0dWZmIHNvCgkgIHdlIGNhbiBzZWUgd2hhdCdzIGFjdHVhbGx5IGdvaW5nIG9uLgoKMjAwNy0wMi0wNiAxMToxNjo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBTb21lIHNtYWxsIGNsZWFudXBzIGFuZCBwb3J0IGJvdGggZWxlbWVudHMgdG8gdGhlIG5ldyBHc3RBdWRpb0ZpbHRlciBiYXNlIGNsYXNzIHRvIHNhdmUgYSBmZXcgbGluZXMgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9faW52ZXJ0X3NldHVwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJICBTb21lIHNtYWxsIGNsZWFudXBzIGFuZCBwb3J0IGJvdGggZWxlbWVudHMgdG8gdGhlIG5ldyBHc3RBdWRpb0ZpbHRlcgoJICBiYXNlIGNsYXNzIHRvIHNhdmUgYSBmZXcgbGluZXMgb2YgY29tbW9uIGNvZGUuCgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgIExpbmsgYWdhaW5zdCBsaWJnc3RhdWRpbyBmb3IgdGhlIGFib3ZlIGNoYW5nZXMKCjIwMDctMDItMDMgMjM6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgdGhpcy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChjaGVja19idXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIEFkZCBicmFpbi1kZWFkIGludGVyYWN0aXZlIHRlc3QgZm9yIGVxdWFsaXplci4KCjIwMDctMDItMDIgMTg6MzY6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpOgoJICBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIEdWYWx1ZUFycmF5LCBzbyBpdCdzIG1vcmUgZWFzaWx5IGJpbmRhYmxlIGFuZCB0aGUgcmFuZ2Ugb2YgdGhlCgkgIHZhbHVlcyBwYXNzZWQgaW4gaXMgZGVmaW5lZCBhbmQgY2hlY2tlZCBldGMuOyBhbHNvIGRvIHNvbWUKCSAgbG9ja2luZy4KCjIwMDctMDItMDIgMTc6Mzk6MjEgKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBhdCBnbWFpbCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoKMjAwNy0wMS0zMSAwODozMjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZQoJICBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgoyMDA3LTAxLTMwIDE3OjE5OjMzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFBvcnQgb2Ygb3N4dmlkZW8gcGx1Z2luIHRvIDAuMTAuIERvIE5PVCBjb25zaWRlciAxMDAlIHN0YWJsZSAhCgkgIEZpeGVzICM0MDI0NzAKCjIwMDctMDEtMjkgMTA6NTk6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBTb21lIG1vcmUgaWdub3Jlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgU29tZSBtb3JlIGlnbm9yZXMuCgoyMDA3LTAxLTI4IDE4OjI4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9jb21wbGV4KToKCSAgRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKGNoZWNrX2J1c19mb3JfZXJyb3JzKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKG1haW4pOgoJICBCbG9jayBzdHJlYW1pbmcgdGhyZWFkIGJlZm9yZSBjaGFuZ2luZyBmaWx0ZXIgY2FwcyB3aGlsZSB0aGUKCSAgcGlwZWxpbmUgaXMgcnVubmluZyBzbyB0aGF0IHdlIGRvbid0IGdldCByYW5kb20gbm90LW5lZ290aWF0ZWQKCSAgZXJyb3JzIGp1c3QgYmVjYXVzZSBHU3RyZWFtZXIgY2FuJ3QgaGFuZGxlIHRoYXQgeWV0LgoKMjAwNy0wMS0yNyAxNjowODoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAodGVzdF93aXRoX2NhcHMpOgoJICBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCjIwMDctMDEtMjYgMTI6MjE6NDEgKzAwMDAgIGNoYXJsZXMgPGNoYXJsZXNnM0BnbWFpbC5jb20+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi4qOiBQcm9wZXJseSBoYW5kbGUgdGFncyBpbiBzaG91dDJzZW5kLiBGaXhlcyAjMzk5ODI1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGNoYXJsZXMgPGNoYXJsZXNnMyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKHNldF9zaG91dF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9ldmVudCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgUHJvcGVybHkgaGFuZGxlIHRhZ3MgaW4gc2hvdXQyc2VuZC4gRml4ZXMgIzM5OTgyNS4KCjIwMDctMDEtMjUgMjM6Mjc6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZQoJICBvdGhlciB3YXkgYXJvdW5kLiBBbHNvIHNldCB0aGUgY29ycmVjdCBmb3JtYXQgaW4gdGhlIHNlZWtpbmcgcXVlcnkgYW5kCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgaGVhZGVycyBhcmUgbm90IHJlYWQgeWV0IGFuZCB3ZSBjYW4ndCBzYXkKCSAgYW55dGhpbmcgYWJvdXQgb3VyIHNlZWtpbmcgY2FwYWJpbGl0aWVzLgoKMjAwNy0wMS0yNSAyMTo1NTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCjIwMDctMDEtMjUgMTQ6NDA6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENvbnZlcnQgU0RQIGZpZWxkcyB0byB1cHBlci9sb3dlcmNhc2UgZm9sbG93aW5nIHRoZSBydWxlcyBpbiB0aGUgU0RQIHRvIGNhcHMgZG9jdW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgIENvbnZlcnQgU0RQIGZpZWxkcyB0byB1cHBlci9sb3dlcmNhc2UgZm9sbG93aW5nIHRoZSBydWxlcyBpbiB0aGUgU0RQIHRvCgkgIGNhcHMgZG9jdW1lbnQuCgoyMDA3LTAxLTI1IDE0OjIyOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBjYXNlIG9mIGVuY29kaW5nLW5hbWUgYW5kIGtleS92YWx1ZSBwYWlycyB0byBtYXRjaCB0aGUgZG9jdW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgRml4IGNhc2Ugb2YgZW5jb2RpbmctbmFtZSBhbmQga2V5L3ZhbHVlIHBhaXJzIHRvIG1hdGNoIHRoZSBkb2N1bWVudC4KCSAgVGhpcyBpcyB0byBtYWtlIGludGVyb3BlcmF0aW9uIHdpdGggU0RQIGNhc2UtaW5zZW5zaXRpdmUgYXMgcmVxdWlyZWQgYnkKCSAgdGhlIHJlbGV2YW50IFJGQ3MuCgoyMDA3LTAxLTI1IDEyOjA1OjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKGdzdF9tdWx0aV9maWxlX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX3ZpZGVvX2NyZWF0ZV9idWZmZXIpLAoJICAoZ3N0X212ZV92aWRlb19wYWxldHRlKSwgKGdzdF9tdmVfdmlkZW9fY29kZV9tYXApLAoJICAoZ3N0X212ZV9hdWRpb19pbml0KSwgKGdzdF9tdmVfYXVkaW9fZGF0YSksIChnc3RfbXZlX3RpbWVyX2NyZWF0ZSksCgkgIChnc3RfbXZlX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOiAoZ3N0X212ZV9tdXhfcHVzaF9jaHVuayk6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjMTYuYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzguYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6IChtdmVfZW5jb2RlX2ZyYW1lMTYpOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6IChtdmVfZW5jb2RlX2ZyYW1lOCk6CgkgIFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgRml4ZXMgYnVpbGQgb24gbWFjIG9zIHguCgkgIDx3aW5nbz4gb28gbG9vayBhdCBtZSBteSBuYW1lIGlzIGVkd2FyZCBpJ20gaGFja2luZyBvbiBtYWNvcyB3b29vCgoyMDA3LTAxLTI1IDExOjAyOjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVkIC1jb3JlLy1iYXNlIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZWQgLWNvcmUvLWJhc2UgdG8gQ1ZTCgoyMDA3LTAxLTI1IDEwOjU0OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuKjogRmlsbCB1cCB0byBNVFUgdXNpbmcgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9mbHVzaCksIChnc3RfcnRwX0wxNl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgRmlsbCB1cCB0byBNVFUgdXNpbmcgYWRhcHRlci4KCSAgVGltZXN0YW1wIHJ0cCBwYWNrZXRzLgoKMjAwNy0wMS0yNSAxMDozNjozNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbiBwcmludCBzdGF0ZW1lbnRzIGZvciBwb3J0YWJpbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX2NoZWNrX3hzaG1fY2FsbHMpOgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW4gcHJpbnQgc3RhdGVtZW50cyBmb3IgcG9ydGFiaWxpdHkuCgkgIEZpeGVzIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDctMDEtMjQgMTg6MjA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogUG9ydCBhbmQgZW5hYmxlIHJhdyBhdWRpbyBwYXlsb2FkZXIvZGVwYXlsb2FkZXIuIE5lZWRzIGEgYml0IG1vcmUgd29yayBvbiB0aGUgcGF5bG9hZGVyIHNpZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX0wxNl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3BhcnNlX2ludCksIChnc3RfcnRwX0wxNl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX0wxNl9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2dldF90eXBlKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9MMTZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2luaXQpLCAoZ3N0X3J0cF9MMTZfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfTDE2X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgUG9ydCBhbmQgZW5hYmxlIHJhdyBhdWRpbyBwYXlsb2FkZXIvZGVwYXlsb2FkZXIuIE5lZWRzIGEgYml0IG1vcmUgd29yawoJICBvbiB0aGUgcGF5bG9hZGVyIHNpZGUuCgoyMDA3LTAxLTI0IDE2OjI1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBPbmx5IHVuYmxvY2sgdGhlIHVkcCBwYWRzIHdoZW4gd2UgbGlua2VkIGFuZCBhY3RpdmF0ZWQgdGhlbSBhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKHBhZF9ibG9ja2VkKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgT25seSB1bmJsb2NrIHRoZSB1ZHAgcGFkcyB3aGVuIHdlIGxpbmtlZCBhbmQgYWN0aXZhdGVkIHRoZW0gYWxsLgoJICBGaXhlcyAjMzk1Njg4LgoKMjAwNy0wMS0yNCAxNToxODozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBzaW1wbGUgQUMzIGRlcGF5bG9hZGVyIChSRkMgNDE4NCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6IChnc3RfcnRwX2FjM19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2FjM19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2FjM19kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2FjM19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJICBBZGRlZCBzaW1wbGUgQUMzIGRlcGF5bG9hZGVyIChSRkMgNDE4NCkuCgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKToKCSAgRml4IGEgbGVhay4KCjIwMDctMDEtMjQgMTI6NDE6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIG5ldyBlbGVtZW50ICJhdWRpb2FtcGxpZnkiLiBUaGlzIGFsbG93cyBzY2FsaW5nIG9mIHJhdyBhdWRpbyBzYW1wbGVzLCBzaW1pbGFyIHRvIHRoZSAidm9sdW1lIiBlbGVtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIChnc3RfYXVkaW9fYW1wbGlmeV9jbGlwcGluZ19tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfYmFzZV9pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pbnRfY2xpcCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faW50X3dyYXBfbmVnYXRpdmUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2ludF93cmFwX3Bvc2l0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9mbG9hdF9jbGlwKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9mbG9hdF93cmFwX25lZ2F0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9mbG9hdF93cmFwX3Bvc2l0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IGVsZW1lbnQgImF1ZGlvYW1wbGlmeSIuIFRoaXMgYWxsb3dzIHNjYWxpbmcgb2YgcmF3IGF1ZGlvCgkgIHNhbXBsZXMsIHNpbWlsYXIgdG8gdGhlICJ2b2x1bWUiIGVsZW1lbnQsIGJ1dCBwcm92aWRlcyBkaWZmZXJlbnQgbW9kZXMKCSAgZm9yIGNsaXBwaW5nIGFuZCBhbGxvd3MgdW5saW1pdGVkIGFtcGxpZmljYXRpb24uIEl0J3MgbWFpbmx5IHRhcmdldGVkCgkgIGZvciBjcmVhdGl2ZSBzb3VuZCBkZXNpZ24gYW5kIG5vdCBhcyBhIHJlcGxhY2VtZW50IG9mIHRoZSAidm9sdW1lIgoJICBlbGVtZW50LiBGaXhlcyAjMzk3MTYyCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIEFkZCBkb2NzIGZvciBhdWRpb2FtcGxpZnkgYW5kIGludGVncmF0ZSB0aGVtIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOiAoc2V0dXBfYW1wbGlmeSksCgkgIChjbGVhbnVwX2FtcGxpZnkpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYW1wbGlmeV9zdWl0ZSksIChtYWluKToKCSAgQWRkIGZhaXJseSBleHRlbnNpdmUgdW5pdCB0ZXN0IHN1aXRlIGZvciBhdWRpb2FtcGxpZnkKCjIwMDctMDEtMjQgMTI6MjY6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVuYmxvY2sgcGFkcyBhZnRlciBhZGRpbmcgdGhlIHBhZHMgdG8gdGhlIGVsZW1lbnQgc28gdGhhdCBhdXRvcGx1Z2dlcnMgZ2V0IGEgY2hhbmdlIHRvIGxpbmsgc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAocGFkX3VuYmxvY2tlZCksIChwYWRfYmxvY2tlZCk6CgkgIFVuYmxvY2sgcGFkcyBhZnRlciBhZGRpbmcgdGhlIHBhZHMgdG8gdGhlIGVsZW1lbnQgc28gdGhhdCBhdXRvcGx1Z2dlcnMKCSAgZ2V0IGEgY2hhbmdlIHRvIGxpbmsgc29tZXRoaW5nLiBQb3NzaWJseSBmaXhlcyAjMzk1Njg4LgoKMjAwNy0wMS0yNCAxMjoyMjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggY2FwcyB3aXRoIHBheWxvYWQgbnVtYmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIEZpeCBjYXBzIHdpdGggcGF5bG9hZCBudW1iZXJzLgoJICBBZGQgc29tZSBmaXhlZCBwYXlsb2FkIG51bWJlcnMgdG8gY2FwcyB3aGVuIHBvc3NpYmxlLgoKMjAwNy0wMS0yNCAxMToyOTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoKMjAwNy0wMS0yMyAxODoxNjowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgbmV3IGF1ZGlvZnggZWxlbWVudCAiYXVkaW9pbnZlcnQiLiBUaGlzIGVsZW1lbnQgc3dhcHMgdGhlIHVwcGVyIGFuZCBsb3dlciBoYWxmIG9mIHNhbXBsZXMgYW5kIGNhbiBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9faW52ZXJ0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX2ludmVydF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9zZXRfY2FwcyksIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pbnQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1fZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkgIEFkZCBuZXcgYXVkaW9meCBlbGVtZW50ICJhdWRpb2ludmVydCIuIFRoaXMgZWxlbWVudCBzd2FwcyB0aGUgdXBwZXIKCSAgYW5kIGxvd2VyIGhhbGYgb2Ygc2FtcGxlcyBhbmQgY2FuIGJlIHVzZWQgZm9yIGV4YW1wbGUgZm9yIGEKCSAgd2lkZS1zdGVyZW8gZWZmZWN0LiBGaXhlcyAjMzk2MDU3CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIEFkZCBkb2NzIGZvciB0aGUgYXVkaW9pbnZlcnQgZWxlbWVudCBhbmQgYWRkIHRoZW0gdG8gdGhlIGJ1aWxkIHN5c3RlbS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOiAoc2V0dXBfaW52ZXJ0KSwKCSAgKGNsZWFudXBfaW52ZXJ0KSwgKEdTVF9TVEFSVF9URVNUKSwgKGludmVydF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBzdWl0ZSBmb3IgdGhlIGF1ZGlvaW52ZXJ0IGVsZW1lbnQuCgoyMDA3LTAxLTIzIDE3OjM2OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogUGFyc2UgY29uZmlnIHBhcmFtcyBhcyBzdHJpbmcgYW5kIGludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wYXJzZV9pbnQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBQYXJzZSBjb25maWcgcGFyYW1zIGFzIHN0cmluZyBhbmQgaW50LgoJICBQYXJzZSBhbmQgdXNlIEFVIGhlYWRlciBsZW5ndGgKCjIwMDctMDEtMjMgMTc6Mjc6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvOiBjb25zdGlmeSBzb21lIHN0YXRpYyBzdHJ1Y3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzogKGdzdF93aXBlX2JveGVzX2RyYXcpLAoJICAoZ3N0X3dpcGVfdHJpYW5nbGVzX2Nsb2NrX2RyYXcpLCAoZ3N0X3dpcGVfdHJpYW5nbGVzX2RyYXcpOgoJICAqIGdzdC9zbXB0ZS9nc3RtYXNrLmM6IChfZ3N0X21hc2tfcmVnaXN0ZXIpOgoJICAqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfdXBkYXRlX21hc2spOgoJICAqIGdzdC9zbXB0ZS9wYWludC5jOiAoZ3N0X3NtcHRlX3BhaW50X2hib3gpLCAoZHJhd19icmVzZW5oYW1fbGluZSksCgkgIChnc3Rfc21wdGVfcGFpbnRfdHJpYW5nbGVfY2xvY2spOgoJICBjb25zdGlmeSBzb21lIHN0YXRpYyBzdHJ1Y3RzLgoJICBEb24ndCB1cGRhdGUgdGhlIG1hc2sgaWYgbm90aGluZyBjaGFuZ2VkIHRvIHRoZSBwYXJhbXMuCgkgIE1ha2Ugc3VyZSB3ZSBuZXZlciBkcmF3IG91dHNpZGUgb2YgdGhlIHBpY3R1cmUuIEZpeGVzICMzOTgzMjUuCgoyMDA3LTAxLTIyIDEzOjA2OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBFcnJvciBvdXQgcHJvcGVybHkgd2hlbiBwdWxsX3JhbmdlIGZhaWxzIHdoaWxlIHdlJ3JlIHJlYWRpbmcgdGhlIGhlYWRlcnMsIGluc3RlYWQgb2YganVzdCBwYXVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKToKCSAgRXJyb3Igb3V0IHByb3Blcmx5IHdoZW4gcHVsbF9yYW5nZSBmYWlscyB3aGlsZSB3ZSdyZSByZWFkaW5nIHRoZQoJICBoZWFkZXJzLCBpbnN0ZWFkIG9mIGp1c3QgcGF1c2luZyB0aGUgdGFzayBzaWxlbnRseS4gRml4ZXMgIzM5OTMzOC4KCjIwMDctMDEtMTkgMTM6MDY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogU29tZSBtb3JlIHNhbml0eSBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBpbnB1dCBmb3JtYXRzIG1hdGNoIGFuZCB0aGUgaW5wdXQgcGFkcyBhcmUgYWN0dWFsbHkgbmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgU29tZSBtb3JlIHNhbml0eSBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBpbnB1dCBmb3JtYXRzIG1hdGNoIGFuZCB0aGUKCSAgaW5wdXQgcGFkcyBhcmUgYWN0dWFsbHkgbmVnb3RpYXRlZCwgaW4gY2FzZSBzb21lb25lIHRyaWVzIHRvIGZlZWQKCSAgYnVmZmVycyBmcm9tIGZha2VzcmMgb3IgZmlsZXNyYy4gRml4ZXMgIzM5ODI5OS4KCSAgQWxzbyBjb25zdC1pZnkgYW4gYXJyYXksIGp1c3QgYmVjYXVzZSB3ZSBjYW4uCgoyMDA3LTAxLTE5IDEwOjM1OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IElnbm9yZSBwcmV2aW91cyBjb21taXQsIHRoYXQgd2FzIG9ubHkgdmFsaWQgZm9yIHdpZHRocyBhbmQgaGVpZ2h0cyB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChmaWxsX2k0MjApLCAoZ3N0X3NtcHRlX2NvbGxlY3RlZCk6CgkgIElnbm9yZSBwcmV2aW91cyBjb21taXQsIHRoYXQgd2FzIG9ubHkgdmFsaWQgZm9yIHdpZHRocyBhbmQgaGVpZ2h0cwoJICB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNC4KCSAgQ29weSBvdmVyIHNpemUvc3RyaWRlIG1hY3JvcyBmcm9tIGpwZWdkZWMuIFRoaXMgYWxsb3dzIHRoZSBlbGVtZW50CgkgIHRvIHdvcmsgd2l0aCBhbnkgd2lkdGgsaGVpZ2h0Li4uCgkgIC4uLiBidXQgcHV0cyBpbiBldmlkZW5jZSB0aGF0IHRoZSBhY3R1YWwgdHJhbnNmb3JtYXRpb25zIG9ubHkgd29yawoJICB3aXRoIHdpZHRoL2hlaWdodCB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNC4KCjIwMDctMDEtMTkgMDk6NDg6NDcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogQWxsb2NhdGUgYnVmZmVycyBvZiB0aGUgcmlnaHQgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgQWxsb2NhdGUgYnVmZmVycyBvZiB0aGUgcmlnaHQgc2l6ZS4KCSAgVGhlIHByb3BlciBzaXplIG9mIGEgSTQyMCBidWZmZXIgaW4gYnl0ZXMgaXM6CgkgIHdpZHRoICogaGVpZ2h0ICogMwoJICAtLS0tLS0tLS0tLS0tLS0tLS0KCSAgMgoKMjAwNy0wMS0xOCAxODozNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBQcm94eSBnZXRjYXBzIG9uIHNpbmsgcGFkcyB0b28sIHNvIHRoYXQgd2UgZWl0aGVyIGVuZCB1cCB3aXRoIHRoZSBzYW1lIGRpbWVuc2lvbnMgb24gYWxsIHBhZHMgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KToKCSAgUHJveHkgZ2V0Y2FwcyBvbiBzaW5rIHBhZHMgdG9vLCBzbyB0aGF0IHdlIGVpdGhlciBlbmQgdXAgd2l0aCB0aGUKCSAgc2FtZSBkaW1lbnNpb25zIG9uIGFsbCBwYWRzIG9yIGVycm9yIG91dCBpZiB0aGF0J3Mgbm90IHBvc3NpYmxlCgkgIChzZWVtcyB0byB3b3JrIGV2ZW4hKS4gRml4ZXMgIzM5ODA4NiwgSSB0aGluay4KCjIwMDctMDEtMTggMTE6Mjk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgbGFkc3BhIGZyb20gZG9jczsgYWRkIGhpZXJhcmNoeSBpbmZvIGZvciBHc3RBdWRpb1Bhbm9yYW1hOyBmaXggaW50ZWdlciBwcm9wZXJ0aWVzIHdpdGggLTEgYXMgbWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBSZW1vdmUgbGFkc3BhIGZyb20gZG9jczsgYWRkIGhpZXJhcmNoeSBpbmZvIGZvciBHc3RBdWRpb1Bhbm9yYW1hOwoJICBmaXggaW50ZWdlciBwcm9wZXJ0aWVzIHdpdGggLTEgYXMgbWluaW11bSB2YWx1ZS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIHRvIENWUy4KCjIwMDctMDEtMTggMTE6MjM6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogRml4IGRvYyBzZWN0aW9uIG5hbWUgKEZpeGVzICMzOTc5NDYpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgRml4IGRvYyBzZWN0aW9uIG5hbWUgKEZpeGVzICMzOTc5NDYpCgoyMDA3LTAxLTE4IDEwOjMzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBSZW1vdmUgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgoyMDA3LTAxLTE3IDE0OjMwOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IEZpeCBFSU8gaGFuZGluZyB3aGVuIGNhcHR1cmluZy4gQWRkIG5ldyBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgYnVmZmVycyB0byBlbnF1ZSAoYW5kIHJlbW92ZSB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19pbml0KSwgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6CgkgIEZpeCBFSU8gaGFuZGluZyB3aGVuIGNhcHR1cmluZy4gQWRkIG5ldyBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YKCSAgYnVmZmVycyB0byBlbnF1ZSAoYW5kIHJlbW92ZSB0aGUgYm9ya2VkIG51bS1idWZmZXJzIHVzYWdlKS4KCjIwMDctMDEtMTYgMDg6Mjk6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogVXNlIGEgZnVuY3Rpb24gYXJyYXkgZm9yIHByb2Nlc3MgbWV0aG9kcywgYWRkIG1vcmUgZG9jcyBhbmQgZGVmaW5lIHRoZSBzdGFydGluZGV4IG9mIGVudW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pOgoJICBVc2UgYSBmdW5jdGlvbiBhcnJheSBmb3IgcHJvY2VzcyBtZXRob2RzLCBhZGQgbW9yZSBkb2NzIGFuZCBkZWZpbmUgdGhlCgkgIHN0YXJ0aW5kZXggb2YgZW51bXMuCgoyMDA3LTAxLTE0IDE3OjU1OjMzICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgdGhhbiBvbmUgYXVkaW8gc3RyZWFtOyB3cml0ZSBiZXR0ZXIgQVZJWCBoZWFkZXI7IHJlZmFjdG9yIGNvZGUgYSBiaXQ7IGRvbid0IGFubm91bmNlIHZvcmJpcyBjYXBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZmluYWxpemUpLAoJICAoZ3N0X2F2aV9tdXhfcGFkX3Jlc2V0KSwgKGdzdF9hdmlfbXV4X3Jlc2V0KSwgKGdzdF9hdmlfbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9hdmlfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfYXZpX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aXhfaGVhZGVyKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2hlYWRlciksCgkgIChnc3RfYXZpX211eF93cml0ZV9hdml4X2luZGV4KSwgKGdzdF9hdmlfbXV4X2FkZF9pbmRleCksCgkgIChnc3RfYXZpX211eF9iaWdmaWxlKSwgKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKSwgKGdzdF9hdmlfbXV4X2hhbmRsZV9ldmVudCksCgkgIChnc3RfYXZpX211eF9kb19idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fb25lX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6ICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgdGhhbiBvbmUgYXVkaW8gc3RyZWFtOyB3cml0ZSBiZXR0ZXIgQVZJWAoJICBoZWFkZXI7IHJlZmFjdG9yIGNvZGUgYSBiaXQ7IGRvbid0IGFubm91bmNlIHZvcmJpcyBjYXBzIG9uIG91ciBhdWRpbwoJICBzaW5rIHBhZHMgc2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydCBpdCBhbnl3YXkuIENsb3NlcyAjMzc5Mjk4LgoKMjAwNy0wMS0xMyAxOToxMjozMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKTogVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6CgkgIFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyk6IFJlbW92ZSBzcmMgcGFkcywgbm90IHNpbmsgcGFkcy4gSQoJICBzZWVtIHRvIGhhdmUgcmV2ZXJzZSBtaWRhcyBkaXNlYXNlIQoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKTogUHJveHkgdGltZXN0YW1wcywgb2Zmc2V0cywgZHVyYXRpb25zLAoJICBhbmQgc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4gRml4ZXMgIzM5NTU5NywgSSB0aGluay4KCjIwMDctMDEtMTMgMTg6MDE6NDEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUKCSAgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3NldGNhcHMsIGdzdF9pbnRlcmxlYXZlX3NyY19nZXRjYXBzKQoJICAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IFNldCBhIHNldGNhcHMgYW5kIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlCgkgIHNyYyBwYWQsIHNvIHRoYXQgd2UgY2FuIGltcGxlbWVudCBwdWxsLW1vZGUgbmVnb3RpYXRpb24uCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOiBSZW5hbWVkIGZyb20KCSAgZ3N0X2ludGVybGVhdmVfc2V0Y2FwcywgYXMgaXQgb25seSBkb2VzIHRoZSBzaW5rIGxvZ2ljIG5vdy4KCSAgSW1wbGVtZW50IGJvdGggZm9yIHB1bGwtbW9kZSBhbmQgcHVzaC1tb2RlLgoJICAoZ3N0X2ludGVybGVhdmVfcHJvY2Vzcyk6IFNldCBjYXBzIG9uIG91ciBvdXRnb2luZyBidWZmZXIuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfYWN0aXZhdGVfcHVsbCk6IEZpeCBzb21lIG1vcmUgYm9ndXMgY2FzdHMuCgkgIFdoYXQgaXMgdXAgd2l0aCB0aGlzLgoKMjAwNy0wMS0xMyAxNTo1MjoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS4qOiBBZGQgJ21ldGhvZCcgcHJvcGVydHkgYW5kIHByb3ZpZGUgYSBzaW1wbGUgKG5vbi1wc3ljaG9hY3VzdGljKSBwcm9jZXNzaW5nIG1ldGhvZCAoIzM5NDg1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfaW50X3NpbXBsZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19pbnRfc2ltcGxlKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0X3NpbXBsZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdF9zaW1wbGUpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSAgQWRkICdtZXRob2QnIHByb3BlcnR5IGFuZCBwcm92aWRlIGEgc2ltcGxlIChub24tcHN5Y2hvYWN1c3RpYykKCSAgcHJvY2Vzc2luZyBtZXRob2QgKCMzOTQ4NTkpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhbm9yYW1hX3N1aXRlKToKCSAgVGVzdHMgZm9yIG5ldyBtZXRob2QuCgoyMDA3LTAxLTEyIDE4OjI4OjEzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGNvbW1lbnQgb3V0IExBRFNQQSBwbHVnaW4gZm9yIG5vdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWVudCBvdXQgTEFEU1BBIHBsdWdpbiBmb3Igbm93CgoyMDA3LTAxLTEyIDE3OjE2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3hxdF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfcXVpY2t0aW1lX3BhcnNlX3NkKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF94cXRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3hxdF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE1ha2UgbmV3IHBsdWdpbiBlbnRyeSBwb2ludCB3aXRoIHF1aWNrdGltZSByZWxlYXRlZCBzdHVmZi4KCjIwMDctMDEtMTIgMTI6MTA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbTogRGlzdCBhbGwgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbGwgbmV3IGZpbGVzLgoKMjAwNy0wMS0xMiAxMDoyNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoKMjAwNy0wMS0xMiAxMDoyMjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlX2NvbnRhaW5lciksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfc2libGluZ19ieV90eXBlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV9yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLAoJICAocXRkZW11eF9ub2RlX2R1bXApOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOiAocXRkZW11eF90eXBlX2dldCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0cGFsZXR0ZS5oOgoJICBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE1vdmUgZGVidWdnaW5nL3RhYmxlcyBpbnRvIHNlcGFyYXRlIGZpbGVzLgoJICBBZGQgMi80LzE2IGNvbG9yIHBhbGxldGVlIHN1cHBvcnQuCgkgIEZpeCByYXcgMTUgYml0IFJHQiBoYW5kbGluZy4KCSAgVXNlIG1vcmUgRk9VUkNDIGNvbnN0YW50cy4KCSAgQWRkIHNvbWUgZG9jcy4KCjIwMDctMDEtMTEgMTk6NTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpOgoJICBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgoyMDA3LTAxLTExIDE2OjU5OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogU2V0IGNvcnJlY3QgY2FwcyBvbiBvdXRnb2luZyBwdWxsZWQgYnVmZmVycywgb3IgdGhpbmdzIGJsb3cgdXAgYWZ0ZXIgcmVjZW50IGNvcmUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9yZWFkX3JhbmdlKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKToKCSAgU2V0IGNvcnJlY3QgY2FwcyBvbiBvdXRnb2luZyBwdWxsZWQgYnVmZmVycywgb3IgdGhpbmdzIGJsb3cgdXAKCSAgYWZ0ZXIgcmVjZW50IGNvcmUgY2hhbmdlcy4KCjIwMDctMDEtMTEgMTE6MDU6MDQgKzAwMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hcy5ob2xtYmVyZ0BheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IFJldHVybiBGTE9XIGVycm9ycyBBU0FQLiBGaXhlcyAjMzk0OTc3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEpvbmFzIEhvbG1iZXJnIDxqb25hcyBkb3QgaG9sbWJlcmcgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBSZXR1cm4gRkxPVyBlcnJvcnMgQVNBUC4gRml4ZXMgIzM5NDk3Ny4KCSAgTWlzYyBjbGVhbnVwcy4KCjIwMDctMDEtMTEgMDk6MzA6NTkgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQ2hlY2sgZm9yIHN0cmVhbSBwYWQgYmVmb3JlIGFjdGl2YXRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgQ2hlY2sgZm9yIHN0cmVhbSBwYWQgYmVmb3JlIGFjdGl2YXRpbmcuCgoyMDA3LTAxLTEwIDE1OjE5OjQ4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogQWxsb3cgdXJsIHRvIGJlIE5VTEwgdG8gYmUgYWJsZSB0byB1c2UgaXQgZm9yIHNlcnZlciBjb25uZWN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvQ09QWUlORy5NSVQ6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksIChnc3RfcnRzcHNyY19jbGVhbnVwKSwKCSAgKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyksIChwYWRfdW5ibG9ja2VkKSwgKHBhZF9ibG9ja2VkKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3ByZXBhcmVfdHJhbnNwb3J0cyksIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChyZWFkX2xpbmUpLAoJICAocGFyc2VfcmVxdWVzdF9saW5lKSwgKHBhcnNlX2xpbmUpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9pbml0X3N0YXR1cyksIChydHNwX3N0cnJlc3VsdCksCgkgIChydHNwX21ldGhvZF9hc190ZXh0KSwgKHJ0c3BfaGVhZGVyX2FzX3RleHQpLAoJICAocnRzcF9zdGF0dXNfYXNfdGV4dCksIChydHNwX2ZpbmRfaGVhZGVyX2ZpZWxkKSwKCSAgKHJ0c3BfZmluZF9tZXRob2QpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2FmdGVyX3NlbmQpLAoJICAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3KSwgKHJ0c3BfbWVzc2FnZV9pbml0KSwKCSAgKHJ0c3BfbWVzc2FnZV9uZXdfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwKCSAgKHJ0c3BfbWVzc2FnZV9uZXdfcmVzcG9uc2UpLCAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksIChydHNwX21lc3NhZ2VfdW5zZXQpLAoJICAocnRzcF9tZXNzYWdlX2ZyZWUpLCAocnRzcF9tZXNzYWdlX2FkZF9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX3NldF9ib2R5KSwKCSAgKHJ0c3BfbWVzc2FnZV9nZXRfYm9keSksIChkdW1wX21lbSksIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVzc2FnZV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwKCSAgKHNkcF9tZWRpYV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwgKHJlYWRfc3RyaW5nKSwgKHJlYWRfc3RyaW5nX2RlbCksCgkgIChzZHBfcGFyc2VfbGluZSksIChzZHBfbWVzc2FnZV9wYXJzZV9idWZmZXIpLCAocHJpbnRfbWVkaWEpLAoJICAoc2RwX21lc3NhZ2VfZHVtcCk6CgkgIEFsbG93IHVybCB0byBiZSBOVUxMIHRvIGJlIGFibGUgdG8gdXNlIGl0IGZvciBzZXJ2ZXIgY29ubmVjdGlvbnMuCgkgIENhbiBub3cgc2VuZCByZXNwb25zZXMgYXMgd2VsbCBhcyByZXF1ZXN0cy4KCSAgTm8gbG9uZ2VyIGhhbmdzIGluIGFuIGVuZGxlc3MgbG9vcCBpZiBFT0YgaXMgcmVjZWl2ZWQuCgkgIENhbiBub3cgY29udmVydCBhIHN0YXR1cyBjb2RlIHRvIGEgdGV4dCBzdHJpbmcuCgkgIFJldHVybiBSVFNQX0hEUl9JTlZBTElEIGZvciB1bmtub3duIGhlYWRlcnMuCgkgIFJldHVybiBSVFNQX0lOVkFMSUQgZm9yIHVua25vd24gbWV0aG9kcy4KCSAgQ29weSBDU2VxIGFuZCBTZXNzaW9uIGhlYWRlcnMgZnJvbSB0aGUgcmVxdWVzdC4KCSAgT25seSBmcmVlIG1lbW9yeSBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJyZW50bHkgc2V0IG1lc3NhZ2UgdHlwZS4KCSAgQWRkZWQgY29uc3QgdG8gZnVuY3Rpb24gYXJndW1lbnRzIGFzIGFwcHJvcHJpYXRlLgoJICBBdm9pZCBhIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBpbml0aWFsaXppbmcgbm1lZGlhLgoJICBVc2UgZ3VpbnQgcmF0aGVyIHRoYW4gZ2ludCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncy4KCSAgRml4IGNyYXNoZXIgaW4gd21zIGV4dGVuc2lvbi4KCSAgRmFjdG9yIG91dCBzdHJlYW0gc2V0dXAgZnJvbSBvcGVuX2Nvbm5lY3Rpb24uCgkgIERlbGF5IGFjdGl2YXRpb24gb2Ygc3RyZWFtcyB3aGVuIGFjdHVhbCBkYXRhIGlzIHJlY2VpdmVkIGZyb20gdGhlCgkgIHNlcnZlciwgdGhpcyBwcmVwYXJlcyB1cyB0byBkbyBwcm9wZXIgcHJvdG9jb2wgc3dpdGNoaW5nLgoJICBBZGRlZCBuZXcgbGljZW5zZS4KCSAgRml4ZXMgIzM4MDg5NS4KCjIwMDctMDEtMTAgMDk6NDc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFNvbWUgc21hbGwgZG9jcyBmaXhlcyAoIzM5NDg1MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gdWJ1bnR1IGNvbT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBTb21lIHNtYWxsIGRvY3MgZml4ZXMgKCMzOTQ4NTEpLgoKMjAwNy0wMS0wOSAxMjoyNToyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IGRvY3MuCgoyMDA3LTAxLTA5IDEyOjIzOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIFJGQyAyMjUwIE1QRUcgVmlkZW8gRGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wdl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wdl9kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX21wdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJICBBZGRlZCBSRkMgMjI1MCBNUEVHIFZpZGVvIERlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggSGVhZGVyIGZpbGUuIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wNGdfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXA0dl9kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgUmVtb3ZlIHVzdXNlZCBjb2RlLiBSZW1vdmUgQWRhcHRlciBmcm9tIHN0YXRlIENoYW5nZS4gQWRkZWQgZGVidWcuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcGFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgU3ViY2xhc3MgYmFzZSBkZXBheWxvYWRlci4KCSAgQWRkZWQgZGVidWcuCgkgIFN1cHBvcnQgc3RhdGljIHBheWxvYWQgdHlwZSBhc3NpZ25tZW50IGFzIHdlbGwuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgRml4IGNhcHMuCgoyMDA3LTAxLTA4IDEyOjQ1OjEwICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZXh0L2pwZWcvOiBUaGVzZSBsaWJqcGVnIGNhbGxiYWNrcyBzaG91bGQgcmV0dXJuIGEgJ2Jvb2xlYW4nICh1bnNpZ25lZCBjaGFyIGFwcGFyZW50bHkpIGFuZCBub3QgYSAnZ2Jvb2xlYW4nICh3aGljaCBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkgIFRoZXNlIGxpYmpwZWcgY2FsbGJhY2tzIHNob3VsZCByZXR1cm4gYSAnYm9vbGVhbicgKHVuc2lnbmVkIGNoYXIKCSAgYXBwYXJlbnRseSkgYW5kIG5vdCBhICdnYm9vbGVhbicgKHdoaWNoIG1hcHMgdG8gZ2ludCkuIEZpeGVzCgkgIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCMzOTM0MjcpLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVhZCk6CgkgIFVzZSBpb2N0bHNvY2tldCBvbiB3aW4zMi4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBTb21lIHByaW50ZiBmb3JtYXQgZml4ZXMgZm9yIHdpbjMyLgoKMjAwNy0wMS0wNyAyMjowMzo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kCgkgIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgVGhlIGludGVybGVhdmVyIGNhbiBvcGVyYXRlIGluIHB1bGwgb3IgcHVzaCBtb2RlIGJ1dCB0aGUKCSAgZGVpbnRlcmxlYXZlciBpcyBtb3JlIGxpa2UgYSBkZW11eGVyIGFuZCBjYW4gb25seSBvcGVyYXRlIGluIHB1c2gKCSAgbW9kZS4KCjIwMDctMDEtMDcgMTA6NDQ6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbik6CgkgIFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9uLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgIEFkZCB6bGliIHRvIHRoZSBsaW5rLgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkgIFVwZGF0ZSBsaWJvaWwgbGlicmFyeSBuYW1lIChwcm9qZWN0IGlzIGxpbmtlZCB0byBsaWJvaWwtMC4zLTAubGliIG5vdykuCgoyMDA3LTAxLTA1IDE4OjMyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlciB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpOgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyCgkgIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUtZXh0ZXJuYWwgaGFzCgkgIGJlZW4gc3BlY2lmaWVkISksIGRpc2FibGUgdGhlIGJpdHMgaW4gcXRkZW11eCB0aGF0IHVzZSBpdC4gRml4ZXMKCSAgYnVpbGQgb24gTWluZ1cgKCMzOTI4NTYpLgoKMjAwNy0wMS0wNSAxNzoyMzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbTogSWYgemxpYiBpcyBhdmFpbGFibGUgYW5kIHVzZWQsIHdlIG11c3QgbGluayBpdCBleHBsaWNpdGx5IGZvciB0aGluZ3MgdG8gd29yayBvbiBNaW5nVyAoZml4ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgIElmIHpsaWIgaXMgYXZhaWxhYmxlIGFuZCB1c2VkLCB3ZSBtdXN0IGxpbmsgaXQgZXhwbGljaXRseSBmb3IKCSAgdGhpbmdzIHRvIHdvcmsgb24gTWluZ1cgKGZpeGVzICMzOTI4NTUpLgoKMjAwNy0wMS0wNSAxNjowNzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cwoJICBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZWFkeSBiZWVuIGluaXRlZCB2aWEgdGhlIEdPcHRpb24gc3R1ZmYuCgoyMDA3LTAxLTA0IDExOjAyOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IERvbid0IHJldHVybiBib2d1cyB2YWx1ZXMgd2hlbiBlc2RfZ2V0X2RlbGF5KCkgZmFpbHMgZm9yIHNvbWUgcmVhc29uICgjMzkyMTg5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19kZWxheSk6CgkgIERvbid0IHJldHVybiBib2d1cyB2YWx1ZXMgd2hlbiBlc2RfZ2V0X2RlbGF5KCkgZmFpbHMgZm9yIHNvbWUKCSAgcmVhc29uICgjMzkyMTg5KS4KCjIwMDctMDEtMDQgMDk6NDQ6NTcgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX3Jlc2V0KToKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyNjM4KS4gQWxzbyBzaW1wbGlmeSBEaXJlY3REcmF3IGNoZWNrIGEgYml0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEZpeCBDVlMgaWdub3JlIGZvciBuZW9uaHR0cHNyYyB0ZXN0IGJpbmFyeS4KCjIwMDctMDEtMDMgMTk6NTQ6MzMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjMxMykuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jZW50ZXJfcmVjdCksIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgdGhpbmdzIGFuZCBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbgoJICBvcmRlciB0byBhdm9pZCB3YXJuaW5ncyB3aGVuIGJ1aWxkbGluZyB3aXRoIE1pbmdXICgjMzkyMzEzKS4KCjIwMDctMDEtMDMgMTY6NDE6MTAgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2VuY29kZSksCgkgIChnc3RfeHZpZGVuY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGlpcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2hlYWRlcl9sb2FkKSwKCSAgKGdzdF9udXZfZGVtdXhfc3RyZWFtX2V4dGVuZF9oZWFkZXIpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEKCSAgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgoyMDA2LTEyLTMwIDEyOjQ0OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlIGRldGFpbGluZyB3aGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KToKCSAgV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UKCSAgZGV0YWlsaW5nIHdoaWNoIGVsZW1lbnQgaXQgYWN0dWFsbHkgaXMgdGhhdCdzIG1pc3NpbmcgKCMzOTA2NzMpLgoKMjAwNi0xMi0yNCAxMTozNjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZpeCBwcmVzdW1hYmx5IGNvcHknbidwYXN0byBmb3IgMTZicHAgZGVwdGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpOgoJICBGaXggcHJlc3VtYWJseSBjb3B5J24ncGFzdG8gZm9yIDE2YnBwIGRlcHRoLgoKMjAwNi0xMi0yNCAxMToyNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVGhlICJzaWduZWQiIGZpZWxkIGluIGF1ZGlvIGNhcHMgaXMgb2YgYm9vbGVhbiB0eXBlLCB0cnlpbmcgdG8gdXNlIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgVGhlICJzaWduZWQiIGZpZWxkIGluIGF1ZGlvIGNhcHMgaXMgb2YgYm9vbGVhbiB0eXBlLCB0cnlpbmcgdG8gdXNlCgkgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCgpIHRvIGV4dHJhY3QgaXQgd2lsbCBmYWlsLiBGaXhpbmcgdGhpcyBtYWtlcwoJICBtYXRyb3NrYW11eCBhY2NlcHQgcmF3IGF1ZGlvIGlucHV0ICgjMzg3MTIxKSAodXNlIGF0IHlvdXIgb3duIHJpc2sKCSAgdGhvdWdoLCBkdWUgdG8gdGhlIG1hdHJvc2thIHNwZWMgYmVpbmcgbm90IGVudGlyZWx5IHVzZWZ1bCBpbiB0aGlzCgkgIHJlc3BlY3QpLgoJICBBbHNvIGZpeCB1cCByYXcgYXVkaW8gc3RydWN0dXJlcyBpbiB0ZW1wbGF0ZSBjYXBzIHNvIHRoYXQgdGhleQoJICByZXByZXNlbnQgd2hhdCBvdXIgc2V0Y2FwcyBmdW5jdGlvbiB3aWxsIGFjdHVhbGx5IGFjY2VwdCwgc28gdGhhdAoJICBjb252ZXJ0ZXJzIGtub3cgd2hhdCB0byBjb252ZXJ0IHRvLgoJICBGaW5hbGx5LCBkb24ndCBmYWlsIGlmIHRoZXJlIGlzbid0IGFuICJlbmRpYW5uZXNzIiBmaWVsZCBpbiA4LWJpdAoJICBQQ00gY2Fwcy4KCjIwMDYtMTItMjIgMTA6MTU6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMiAxMDoxNToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKGNsZWFudXBfcGFub3JhbWEpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoc2V0dXBfYXZpbXV4KSwgKGNsZWFudXBfYXZpbXV4KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKHNldHVwX2xldmVsKSwgKGNsZWFudXBfbGV2ZWwpOgoJICByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIxIDE3OjAzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgQWRkIDAuMTAuNSBkb2FwIGVudHJ5Cgo9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgoyMDA2LTEyLTIxIDE1OjQ1OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgkgIDIwMDYtMTItMjEgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgo9PT0gcmVsZWFzZSAwLjEwLjUgPT09CgoyMDA2LTEyLTIxIDE1OjQwOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuNSwgIlRoZSBQYXRoIG9mIFRob3JucyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgID09PSByZWxlYXNlIDAuMTAuNSA9PT0KCSAgMjAwNi0xMi0yMSAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC41LCAiVGhlIFBhdGggb2YgVGhvcm5zIgoKMjAwNi0xMi0yMSAxNDowMzo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDEyOjQ4OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoY2xlYW51cF9wYW5vcmFtYSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9hdmltdXgpLCAoY2xlYW51cF9hdmltdXgpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoc2V0dXBfbGV2ZWwpLCAoY2xlYW51cF9sZXZlbCk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMDg6MjA6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIxIDA4OjE1OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKGNsZWFudXBfcGFub3JhbWEpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoc2V0dXBfYXZpbXV4KSwgKGNsZWFudXBfYXZpbXV4KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKHNldHVwX2xldmVsKSwgKGNsZWFudXBfbGV2ZWwpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0xOCAxNzoxMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbSBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X3Byb2dyZXNzKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbQoJICBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdGE7IGluc3RlYWQsIHBvc3QgInByb2dyZXNzIiBlbGVtZW50CgkgIG1lc3NhZ2VzIGFzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uLiBBcHBzIG1pZ2h0IGdldCBjb25mdXNlZCBhbmQgZG8KCSAgc2lsbHkgdGhpbmdzIHRvIHRoZSBwaXBlbGluZSBzdGF0ZSBpZiB0aGV5IHNlZSBidWZmZXJpbmcgbWVzc2FnZXMKCSAgZnJvbSBkaWZmZXJlbnQgc291cmNlcyBhbmQgZG9uJ3QgcmVhbGl6ZSB0aGV5IGNvbWUgZnJvbSBkaWZmZXJlbnQKCSAgc291cmNlcyAoIzM4NzE2MCkuCgoyMDA2LTEyLTE4IDE2OjQ2OjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIERpc2FibGUgTEFEUFNBLCBhcyBpdCBoYXMgbW92ZWQgdG8gdGhlIC1iYWQgbW9kdWxlIGZvciB0aGUgZHVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc2FibGUgTEFEUFNBLCBhcyBpdCBoYXMgbW92ZWQgdG8gdGhlIC1iYWQgbW9kdWxlIGZvciB0aGUgZHVyYXRpb24uCgoyMDA2LTEyLTE4IDE1OjUxOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91ciBlcnJvciBzdGF0ZSBhZnRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KToKCSAgUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91cgoJICBlcnJvciBzdGF0ZSBhZnRlciB0aGUgZmx1c2guIEZpeGVzICMzNzQyMTMKCjIwMDYtMTItMTggMTU6NDk6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgb24gb25lIG9mIFN0ZWZhbidzIGNvbW1pdHMgZnJvbSBBdWd1c3Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSBvbiBvbmUgb2YgU3RlZmFuJ3MgY29tbWl0cyBmcm9tIEF1Z3VzdDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFF1aWV0bHkgKGFjY2lkZW50YWxseSkgZW5hYmxlIExBRFNQQSBmb3IgYnVpbGRpbmcgYnkgZGVmYXVsdCwKCSAgZGVzcGl0ZSB0aGUgZmFjdCB0aGF0IGl0IGRvZXNuJ3QgbWVldCB0aGUgcGx1Z2luIGNoZWNrbGlzdC4KCSAgLS0gQWRkZWQgYnkgSmFuIFNjaG1pZHQgMTggRGVjIDIwMDYKCjIwMDYtMTItMTggMTM6NDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkcgYW5kIGRvbid0IGFkZCB0aGUgcGFkLgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgaXQgZG9lc24ndCBjaGVjayBmb3IgYSBOVUxMIHBhZCBpbiBzdHJlYW1pbmcgbW9kZS4KCSAgRml4ZXMgIzM4NzEzNwoKMjAwNi0xMi0xOCAxMjoyNzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIEZpeGVzICMzODcxMjIuCgoyMDA2LTEyLTE4IDEwOjAyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0B1YnVudHUuY29tPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOiBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sgaW5zdGFsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrCgkgIGluc3RhbGxzLgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgdWJ1bnR1IGRvdCBjb20+CgkgIEZpeGVzOiAjMzg3MDc2CgoyMDA2LTEyLTE3IDE5OjQyOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0xMi0xNyAwNjoxMTozOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IERlY2VudCBlZmZvcnQgYXQgcG9ydGluZyB0byAwLjEwLiAgTmVlZHMgY2xlYW51cCBvbiBPUy9YLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBEZWNlbnQgZWZmb3J0IGF0IHBvcnRpbmcgdG8gMC4xMC4gIE5lZWRzIGNsZWFudXAgb24gT1MvWC4KCjIwMDYtMTItMTcgMDU6MDc6MDcgKzAwMDAgIFZpamF5IFNhbnRoYW5hbSA8dmlqYXlAc2FudGhhbmFtLmdtYWlsLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IFByZWxpbWluYXJ5IHBhdGNoIGZvciBwb3J0aW5nIG9zeHZpZGVvc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpamF5IFNhbnRoYW5hbSA8dmlqYXkgc2FudGhhbmFtIGdtYWlsIGNvbT4KCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUHJlbGltaW5hcnkgcGF0Y2ggZm9yIHBvcnRpbmcgb3N4dmlkZW9zaW5rCgoyMDA2LTEyLTE2IDE2OjIxOjI2ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEludHJvZHVjZSBzb21lIGxvY2tpbmcgYXJvdW5kIHRoZSB2aWRlb21peGVyIHN0YXRlIHNvIHRoYXQgaXQgZG9lcyBub3QgY3Jhc2ggd2hlbiBhZGRpbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3BhZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RfZnJlZSksCgkgIChnc3RfdmlkZW9taXhlcl9yZXNldCksIChnc3RfdmlkZW9taXhlcl9pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbmFsaXplKSwgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9yZWxlYXNlX3BhZCksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgSW50cm9kdWNlIHNvbWUgbG9ja2luZyBhcm91bmQgdGhlIHZpZGVvbWl4ZXIgc3RhdGUgc28gdGhhdCBpdCBkb2VzIG5vdAoJICBjcmFzaCB3aGVuIGFkZGluZy9yZW1vdmluZyBwYWRzLiBGaXhlcyAjMzgzMDQzLgoKMjAwNi0xMi0xNiAxNToyNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBJbXBsZW1lbnQgc2Vla2luZyBxdWVyeSBzbyBhcHBzIGNhbiBxdWVyeSBzZWVrYWJpbGl0eSBwcm9wZXJseQoJICAoc2VlICMzNjU0MTQpLiBGaXggZHVyYXRpb24gcXVlcnkuCgoyMDA2LTEyLTE2IDExOjQyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBNYWtlIHN1cmUgbGliY2FjYSBjYW4gYWN0dWFsbHkgYmUgdXNlZCBpbnN0ZWFkIG9mIGp1c3QgY2hlY2tpbmcgZm9yIC91c3IvYmluL2NhY2EtY29uZmlnLCBzbyB3ZSBkb24ndCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTWFrZSBzdXJlIGxpYmNhY2EgY2FuIGFjdHVhbGx5IGJlIHVzZWQgaW5zdGVhZCBvZiBqdXN0IGNoZWNraW5nIGZvcgoJICAvdXNyL2Jpbi9jYWNhLWNvbmZpZywgc28gd2UgZG9uJ3Qgd3JvbmdseSB0cnkgdG8gYnVpbGQgY2FjYXNpbmsgd2hlbgoJICBjcm9zcy1jb21waWxpbmcgKGZpeGVzICMzODQ1ODcpLgoKMjAwNi0xMi0xNSAxMDo1NDoyOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGRpbmcgZG9hcCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZGluZyBkb2FwIGZpbGUKCjIwMDYtMTItMTQgMTY6MjA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IGxpYmZsYWMtMS4xLjMgY2hhbmdlZCBBUEkgYWdhaW4sIGJ1dCB3ZSBjYW4ndCBidWlsZCBhZ2FpbnN0IGl0IHlldCwgc28gbWFrZSBzdXJlIG91ciBjaGVjayBkb2Vzbid0IHVzZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBsaWJmbGFjLTEuMS4zIGNoYW5nZWQgQVBJIGFnYWluLCBidXQgd2UgY2FuJ3QgYnVpbGQgYWdhaW5zdCBpdCB5ZXQsCgkgIHNvIG1ha2Ugc3VyZSBvdXIgY2hlY2sgZG9lc24ndCB1c2UgbGliZmxhYy0xLjEuMyBhbmQgYWRkIGEgY29tbWVudAoJICB0byB0aGlzIGVmZmVjdC4KCjIwMDYtMTItMTQgMTQ6MjU6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiBBZGQgc29tZSBOVUxMIHBvaW50ZXIgY2hlY2tzIChwb3NzaWJseSByZWxhdGVkIHRvICMzODU2MjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9xdWFya3R2X3BsYW5ldGFibGVfY2xlYXIpOgoJICBBZGQgc29tZSBOVUxMIHBvaW50ZXIgY2hlY2tzIChwb3NzaWJseSByZWxhdGVkIHRvICMzODU2MjMpLgoKMjAwNi0xMi0xMyAxNzoxMjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgoyMDA2LTEyLTEyIDE4OjQ1OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSW4gc3RyZWFtaW5nIG1vZGUsIGlmIHRoZSBmaXJzdCBidWZmZXIgd2UgZ2V0IGRvZXNuJ3QgaGF2ZSBhbiBvZmZzZXQsIGZpeCBpdCB1cCB0byBiZSAwLCBvdGhlcndpc2UgdHJpbW1pbmcgd29uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW5fcGFyc2VfdGFnKSwKCSAgKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgSW4gc3RyZWFtaW5nIG1vZGUsIGlmIHRoZSBmaXJzdCBidWZmZXIgd2UgZ2V0IGRvZXNuJ3QgaGF2ZSBhbgoJICBvZmZzZXQsIGZpeCBpdCB1cCB0byBiZSAwLCBvdGhlcndpc2UgdHJpbW1pbmcgd29uJ3Qgd29yayBsYXRlciBvbgoJICBhbmQgd2UnbGwgYmUgdHlwZWZpbmRpbmcgYXBwbGljYXRpb24veC1pZDMsIHdoaWNoIG1heSByZXN1bHQgaW4KCSAgZGVjb2RlYmluIHBsdWdnaW5nIGFuIGVuZGxlc3MgbnVtYmVyIG9mIGlkM2RlbXV4IGVsZW1lbnRzIGFzIGEKCSAgY29uc2VxdWVuY2UuIEZpeGVzICMzODUwMzEuCgoyMDA2LTEyLTExIDIxOjIxOjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogSWdub3JlIHRoZSBidWZmZXJfdGltZSB0aGUgc291bmQgZGV2aWNlIHJlcG9ydHMuIFR1cm5zIG91dCBpdCBpcyBzb21ldGltZXMgY29tcGxldGVseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpOgoJICBJZ25vcmUgdGhlIGJ1ZmZlcl90aW1lIHRoZSBzb3VuZCBkZXZpY2UgcmVwb3J0cy4gVHVybnMgb3V0IGl0IGlzCgkgIHNvbWV0aW1lcyBjb21wbGV0ZWx5IGJvZ3VzIGFuZCB3ZSdyZSBiZXR0ZXIgb2ZmIHdpdGhvdXQgaXQuCgoyMDA2LTEyLTExIDE3OjMzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZSBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlCgkgIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMgIzM3ODYxMy4KCjIwMDYtMTItMTEgMTM6NTk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBUcnkgaGFyZGVyIHRvIGV4dHJhY3QgdGhlIGZyYW1lcmF0ZSBmb3IgdmlkZW8gdHJhY2tzIGNvcnJlY3RseSBhbmQgc2F2ZSBpdCBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvbnZlcnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfdmlkZW9fY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBUcnkgaGFyZGVyIHRvIGV4dHJhY3QgdGhlIGZyYW1lcmF0ZSBmb3IgdmlkZW8gdHJhY2tzIGNvcnJlY3RseSBhbmQKCSAgc2F2ZSBpdCBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcgaXQgYmFjayBhbmQgZm9ydGggYSBmZXcKCSAgdGltZXMuIE1vc3RseSBtYWtlcyBhIGRpZmZlcmVuY2UgZm9yIHZlcnkgc21hbGwgZnJhbWVyYXRlcyAoPDEpLgoJICBGaXhlcyAjMzgwMTk5LgoKMjAwNi0xMi0xMSAxMTo0MToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLio6IFJlbW92ZSBnY29uZiBub3RpZnkgaG9vayB3aGVuIHRoZSBnY29uZmF1ZGlvc3JjIGVsZW1lbnQgaXMgZGVzdHJveWVkLCBvdGhlcndpc2UgdGhlIGNhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgUmVtb3ZlIGdjb25mIG5vdGlmeSBob29rIHdoZW4gdGhlIGdjb25mYXVkaW9zcmMgZWxlbWVudCBpcwoJICBkZXN0cm95ZWQsIG90aGVyd2lzZSB0aGUgY2FsbGJhY2sgbWF5IGJlIGNhbGxlZCBvbiBhbgoJICBhbHJlYWR5LWRlc3Ryb3llZCBpbnN0YW5jZSBhbmQgYmFkIHRoaW5ncyBoYXBwZW4uIFNob3VsZCBmaXgKCSAgIzM3ODE4NC4KCSAgQWxzbyBpZ25vcmUgZ2NvbmYga2V5IGNoYW5nZXMgd2hlbiB0aGUgc291cmNlIGlzIGFscmVhZHkgcnVubmluZy4KCjIwMDYtMTItMDkgMTk6Mjc6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogV2UgbmVlZCB0byBiZSBhYmxlIHRvIHJlYWQgYW5kIHBhcnNlIGFueSBwb3NzaWJsZSBmbG9hdGluZyBwb2ludCBzdHJpbmcgZm9ybWF0ICgiMSwyMzQiIG9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGU+CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiAoYXBlX2RlbXV4X3BhcnNlX3RhZ3MpOgoJICBXZSBuZWVkIHRvIGJlIGFibGUgdG8gcmVhZCBhbmQgcGFyc2UgYW55IHBvc3NpYmxlIGZsb2F0aW5nIHBvaW50IHN0cmluZwoJICBmb3JtYXQgKCIxLDIzNCIgb3IgIjEuMjM0IikgaXJyZXNwZWN0aXZlIG9mIHRoZSBjdXJyZW50IGxvY2FsZS4gZ19zdHJvZCgpCgkgIHdpbGwgcGFyc2UgdGhlIGZvcm1lciBvbmx5IGluIGNlcnRhaW4gbG9jYWxlcyB0aG91Z2gsIHNvIHdlIHJlYWxseSBuZWVkCgkgIHRvIGNhbm9uaWNhbGlzZSB0aGUgc2VwYXJhdG9yIHRvICcuJyBhbmQgdGhlbiB1c2UgZ19hc2NpaV9zdHJ0b2QoKSB0bwoJICBtYWtlIHN1cmUgd2UgY2FuIHBhcnNlIGVpdGhlciB2ZXJzaW9uIGF0IGFsbCB0aW1lcy4KCSAgRml4ZXMgIzM4Mjk4MiBmb3IgcmVhbC4KCjIwMDYtMTItMDkgMTY6MTc6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogVXNlIHRoZSBzdW5hdWRpbyBkZWJ1ZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkgIFVzZSB0aGUgc3VuYXVkaW8gZGVidWcgY2F0ZWdvcnkuCgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19maW5hbGl6ZSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc2lua19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9zdW5hdWRpb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfb3BlbiksIChnc3Rfc3VuYXVkaW9zaW5rX2Nsb3NlKSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSksIChnc3Rfc3VuYXVkaW9fc2lua19kb19kZWxheSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3dyaXRlKSwgKGdzdF9zdW5hdWRpb3NpbmtfZGVsYXkpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19yZXNldCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBVc2VzIHRoZSBzdW5hdWRpbyBkZWJ1ZyBjYXRlZ29yeSBmb3IgYWxsIGRlYnVnIG91dHB1dAoJICBJbXBsZW1lbnRzIHRoZSBfZGVsYXkoKSBjYWxsYmFjayB0byBzeW5jaHJvbmlzZSB2aWRlbyBwbGF5YmFjayBiZXR0ZXIKCSAgQ2hhbmdlIHRoZSBzZWd0b3RhbCBhbmQgc2Vnc2l6ZSB2YWx1ZXMgYmFjayB0byB0aGUgcGFyZW50IGNsYXNzCgkgIGRlZmF1bHRzICh0YWtlbiBmcm9tIGJ1ZmZlcl90aW1lIGFuZCBsYXRlbmN5X3RpbWVzIG9mIDIwMG1zIGFuZCAxMG1zCgkgIHJlc3BlY3RpdmVseSkKCSAgTWVhc3VyZSB0aGUgc2FtcGxlcyB3cml0dGVuIHRvIHRoZSBkZXZpY2UgdnMuIHBsYXllZC4KCSAgS2VlcCB0cmFjayBvZiBzZWdtZW50cyBpbiB0aGUgZGV2aWNlIGJ5IHdyaXRpbmcgZW1wdHkgZW9mIGZyYW1lcywgYW5kCgkgIHNsZWVwIHVzaW5nIGEgR0NvbmQgd2hlbiB3ZSBnZXQgdG9vIGZhciBhaGVhZCBhbmQgcmlzayBvdmVycnVubmluZyB0aGUKCSAgc2luaydzIHJpbmdidWZmZXIuCgkgIEZpeGVzOiAjMzYwNjczCgoyMDA2LTEyLTA4IDIxOjEyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgQ29ycmVjdCB0aGUgYXR0cmlidXRpb24gb2YgdGhlIHByZXZpb3VzIGNvbW1pdC4gVGhlIHBhdGNoIGluIHF1ZXN0aW9uIHdhcyB3cml0dGVuIGJ5IEJyaWFuIENhbWVyb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb3JyZWN0IHRoZSBhdHRyaWJ1dGlvbiBvZiB0aGUgcHJldmlvdXMgY29tbWl0LiBUaGUgcGF0Y2ggaW4KCSAgcXVlc3Rpb24gd2FzIHdyaXR0ZW4gYnkgQnJpYW4gQ2FtZXJvbi4KCjIwMDYtMTItMDggMTc6MDY6NDMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIEZpeGVzICMzODM0NzEuCgoyMDA2LTEyLTA4IDE2OjM4OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLio6IEZpeCBhdWRpb3Bhbm9yYW1lIHdpdGggZmxvYXQgc2FtcGxlcy4gRml4ZXMgIzM4MzcyNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlID4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJICBGaXggYXVkaW9wYW5vcmFtZSB3aXRoIGZsb2F0IHNhbXBsZXMuIEZpeGVzICMzODM3MjYuCgoyMDA2LTEyLTA4IDE1OjEyOjAxICswMDAwICBQYWRyYWlnIE8nQnJpYWluIDxwYWRyYWlnLm9icmlhaW5Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEltcGxlbWVudCByZXNldCBmdW5jdGlvbnMgdG8gdW5ibG9jayB0aGUgc3JjL3NpbmsgbW9yZSBxdWlja2x5IG9uIHN0YXRlIGNoYW5nZSByZXF1ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19yZXNldCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfb3BlbiksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcmVzZXQpOgoJICBJbXBsZW1lbnQgcmVzZXQgZnVuY3Rpb25zIHRvIHVuYmxvY2sgdGhlIHNyYy9zaW5rIG1vcmUgcXVpY2tseSBvbgoJICBzdGF0ZSBjaGFuZ2UgcmVxdWVzdHMuCgkgIFBhdGNoIGJ5OiBQYWRyYWlnIE8nQnJpYWluIDxwYWRyYWlnIGRvdCBvYnJpYWluIGF0IHN1biBkb3QgY29tPgoKMjAwNi0xMi0wOCAxNDo0Mjo0MiArMDAwMCAgSmVycnkgVGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6IENvbnN0cnVjdCB0aGUgY29ycmVjdCBtaXhlciBkZXZpY2UgbmFtZSB3aGVuIHRoZSBBVURJT0RFViBlbnYgdmFyIGlzIHNldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIENvbnN0cnVjdCB0aGUgY29ycmVjdCBtaXhlciBkZXZpY2UgbmFtZSB3aGVuIHRoZSBBVURJT0RFViBlbnYgdmFyCgkgIGlzIHNldC4KCSAgUGF0Y2ggYnk6IEplcnJ5IFRhbiA8amVycnkudGFuIGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzM4MzU5NgoKMjAwNi0xMi0wOCAxNDozMjo1MSArMDAwMCAgSmVycnkgVGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiBBcHBseSBwYXRjaCB0byBvcGVuIHRoZSBtaXhlciBjb250cm9sIGFuZCBzZXQgdGhlIE1VTFRJUExFX09QRU4gaW9jdGwuIE9uIHNvbGFyaXMsIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgQXBwbHkgcGF0Y2ggdG8gb3BlbiB0aGUgbWl4ZXIgY29udHJvbCBhbmQgc2V0IHRoZSBNVUxUSVBMRV9PUEVOCgkgIGlvY3RsLiBPbiBzb2xhcmlzLCB0aGUgbWl4ZXIgZGV2aWNlIGRvZXNuJ3QgbmVlZCBvcGVuaW5nIG5vbi1ibG9ja2luZwoJICAtIGl0IGNhbiBiZSBvcGVuZWQgYnkgbXVsdGlwbGUgcHJvY2Vzc2VzIGJ5IGRlZmF1bHQsIGJ1dCBuZWVkcyB0aGUgaW9jdGwgCWZvciBtdWx0aXBsZSBvcGVucyB3aXRoaW4gMSBwcm9jZXNzLgoJICBQYXRjaCBieTogSmVycnkgVGFuIDxqZXJyeS50YW4gYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjMzQ5MDE1CgoyMDA2LTEyLTA3IDE3OjMwOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlLzogUG9ydCB0byAwLjEwIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9zbXB0ZV9zZXRjYXBzKSwgKGdzdF9zbXB0ZV9pbml0KSwgKGdzdF9zbXB0ZV9yZXNldCksCgkgIChnc3Rfc21wdGVfY29sbGVjdGVkKSwgKGdzdF9zbXB0ZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NtcHRlX2dldF9wcm9wZXJ0eSksIChnc3Rfc21wdGVfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgUG9ydCB0byAwLjEwIHNvbWUgbW9yZS4KCSAgQWRkZWQgZHVyYXRpb24gcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgZHVyYXRpb24gb2YgdGhlIHRyYW5zaXRpb24uCgkgIE1ha2UgZnJhbWVyYXRlIGEgZnJhY3Rpb24uCgkgIERlcHJlY2F0ZSBmcHMgcHJvcGVydHksIHdlIG9ubHkgdXNlIG5lZ290aWF0ZWQgZnBzLgoJICBBZGRlZCBkb2NzLgoJICBGaXggY29sbGVjdHBhZCB1c2FnZS4KCSAgUmVzZXQgc3RhdGUgaW4gUkVBRFkuCgkgIFNlbmQgTkVXU0VHTUVOVCBldmVudC4KCSAgRml4IHJhY3kgdXBkYXRlcyBvZiBvYmplY3QgcHJvcGVydGllcy4KCSAgQWRkZWQgZGVidWcgY2F0ZWdvcnkuCgkgIEZpeGVzICMzODMzMjMuCgoyMDA2LTEyLTA3IDExOjM1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCjIwMDYtMTItMDYgMTU6MDY6MDQgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgcmVzZXQgeHBvcyBhbmQgeXBvcyBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBiZWNhdXNlIGNhdXNlcyB1bmV4cGVjdGVkIGJlaGF2aW91ci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0X2ZyZWUpOgoJICBEb24ndCByZXNldCB4cG9zIGFuZCB5cG9zIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGJlY2F1c2UgY2F1c2VzCgkgIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgoJICBGaXhlcyAjMzgyMTc5LgoKMjAwNi0xMi0wNiAxNDo0NTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEtlZXAgdHJhY2sgb2YgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgaW4gdGhlIGNvbGxlY3RkYXRhIG1lbWJlciBpbnN0ZWFkIG9mIG1vZGlmeWluZyB0aGUgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29tcGFyZV9wYWRzKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgS2VlcCB0cmFjayBvZiB0aGUgYnVmZmVyIHRpbWVzdGFtcCBpbiB0aGUgY29sbGVjdGRhdGEgbWVtYmVyIGluc3RlYWQKCSAgb2YgbW9kaWZ5aW5nIHRoZSBidWZmZXIgd2l0aG91dCBtYWtpbmcgdGhlIG1ldGFkYXRhIHdyaXRhYmxlIGZpcnN0LgoJICBGaXhlcyAjMzgyMjc3LgoKMjAwNi0xMi0wNiAxNDozMzo1NCArMDAwMCAgUm9iIFRheWxvciA8cm9idGF5bG9yQGZsb29waWx5Lm9yZz4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IElmIHVzaW5nIG11bHRpY2FzdCBpbiB1ZHBzcmMsIGJpbmQgdG8gdGhlIG11bHRpY2FzdCBhZGRyZXNzIHJhdGhlciB0aGFuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iIFRheWxvciA8cm9idGF5bG9yIGF0IGZsb29waWx5IGRvdCBvcmc+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBJZiB1c2luZyBtdWx0aWNhc3QgaW4gdWRwc3JjLCBiaW5kIHRvIHRoZSBtdWx0aWNhc3QgYWRkcmVzcyByYXRoZXIgdGhhbgoJICBJTl9BRERSX0FOWS4KCSAgVGhpcyBhbGxvd3MgdGhlIHNpbXVsdGFub3VzIHVzZSBvZiBtdWx0aXBsZSB1ZHBzcmNzIGxpc3RlbmluZyBvbgoJICBkaWZmZXJlbnQgbXVsdGljYXQgYWRkcmVzc2VzLiBXaXRob3V0IHRoaXMgYWxsIHVkcHNyY3Mgd2lsbCByZWNlaXZlIGFsbAoJICBwYWNrZXRzIGZyb20gYWxsIHN1YnNjcmliZWQgbXVsdGljYXN0IGFkZHJlc3Nlcy4KCSAgRml4ZXMgIzM4MzAwMS4KCjIwMDYtMTItMDYgMTM6MzU6NTIgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQDBrYW9saW4ud2g5Lm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IERvbid0IGF0dGVtcHQgdG8gd3JpdGUgYSBOVUxMIGZyYW1lIGludG8gdGhlIElEMyB0YWcgc2V0IHdoZW4gdGhlIGNyZWF0ZUZyYW1lIG1ldGhvZCByZXR1ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBEb24ndCBhdHRlbXB0IHRvIHdyaXRlIGEgTlVMTCBmcmFtZSBpbnRvIHRoZSBJRDMgdGFnIHNldCB3aGVuIHRoZQoJICBjcmVhdGVGcmFtZSBtZXRob2QgcmV0dXJuZWQgTlVMTC4KCSAgRml4ZXM6ICMzODE4NTcKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuIGF0IDBrYW9saW4gd2g5IG5ldCA+CgoyMDA2LTEyLTA2IDEzOjE2OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IFVzZSBnX3N0cnRvZCgpIGluc3RlYWQgb2Ygc3NjYW5mIHRvIHBhcnNlIGRvdWJsZXMsIHNvIHRoYXQgaXQgd2lsbCB0cnkgcGFyc2luZyBpbiB0aGUgQyBsb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiAoYXBlX2RlbXV4X3BhcnNlX3RhZ3MpOgoJICBVc2UgZ19zdHJ0b2QoKSBpbnN0ZWFkIG9mIHNzY2FuZiB0byBwYXJzZSBkb3VibGVzLCBzbyB0aGF0IGl0IHdpbGwKCSAgdHJ5IHBhcnNpbmcgaW4gdGhlIEMgbG9jYWxlIGlmIHRoZSBjdXJyZW50IGxvY2FsZSBmYWlscy4KCSAgRml4ZXM6ICMzODI5ODIKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGUgPgoKMjAwNi0xMi0wMSAxMDozMTo0NiArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL01BTklGRVNUOiBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGRvdCBjb20+CgkgIFBhcnRpYWxseSBmaXhlcyAjMzgxMTc1CgoyMDA2LTExLTMwIDE2OjQ4OjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBhY2NlcHQgYWxsIG1wZWd2ZXJzaW9ucyxmaXhlcyAjMzgwODI1IHNwb3R0ZWQgYnk6IEplcm9tZSBBbGV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGFjY2VwdCBhbGwgbXBlZ3ZlcnNpb25zLGZpeGVzICMzODA4MjUKCSAgc3BvdHRlZCBieTogSmVyb21lIEFsZXQKCjIwMDYtMTEtMzAgMTY6NDY6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogY2xlYW51cCB0aGUgZXJyb3IgbWVzc2FnZSBhIGJpdCBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfYnVmZmVyX2ZpbmFsaXplKToKCSAgY2xlYW51cCB0aGUgZXJyb3IgbWVzc2FnZSBhIGJpdCBtb3JlCgoyMDA2LTExLTMwIDE1OjA4OjA4ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19ldmVudCk6CgkgIENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgoyMDA2LTExLTI4IDEyOjMwOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzogRml4IHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydGllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzogKGdzdF9jYWNhc2lua19jbGFzc19pbml0KToKCSAgRml4IHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydGllcy4KCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICBGaXggY29tcGlsYXRpb24gb24gbmV3ZXIgbGliY2FjYSB0aGF0IHJlcXVpcmUgdXMgdG8gaW5jbHVkZSBhIG5ldwoJICBoZWFkZXIuIEZpeGVzICMzNzk5MTguCgoyMDA2LTExLTI4IDExOjUyOjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBBZGQgbWV0aG9kIHNvIHRoYXQgZXh0ZW5zaW9ucyBjYW4gY2hvb3NlIHRvIGRpc2FibGUgdGhlIHNldHVwIG9mIGEgc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKSwKCSAgKHJ0c3BfZXh0X3dtc19nZXRfY29udGV4dCk6CgkgIEFkZCBtZXRob2Qgc28gdGhhdCBleHRlbnNpb25zIGNhbiBjaG9vc2UgdG8gZGlzYWJsZSB0aGUgc2V0dXAgb2YKCSAgYSBzdHJlYW0uCgkgIE1ha2UgdGhlIFdNUyBleHRlbnNpb24gc2tpcCBzZXR1cCBvZiB4LXdtcy1ydHggc3RyZWFtcy4gRml4ZXMgIzM3Nzc5Mi4KCjIwMDYtMTEtMjcgMTc6MTY6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBzb21lIGFzc2VydHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcHJvcGVyIGVycm9yIG1lc3NhZ2UuIEZpeGVzICMzNzkyNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJlbW92ZSBzb21lIGFzc2VydHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcHJvcGVyIGVycm9yCgkgIG1lc3NhZ2UuIEZpeGVzICMzNzkyNjEuCgoyMDA2LTExLTI3IDE2OjMwOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBtZW50aW9uIGJ1ZyBmaXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1lbnRpb24gYnVnIGZpeAoKMjAwNi0xMS0yNyAxNjoyOTowNyArMDAwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzLmhvbG1iZXJnQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogUHVzaCBoZWFkZXIgaW4gYSBzZXBhcmF0ZSBidWZmZXIgaW5zdGVhZCBvZiBtZW1jcHk6aW5nIGFsbCBkYXRhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXMgSG9sbWJlcmcgPGpvbmFzIGRvdCBob2xtYmVyZyBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIFB1c2ggaGVhZGVyIGluIGEgc2VwYXJhdGUgYnVmZmVyIGluc3RlYWQgb2YgbWVtY3B5OmluZyBhbGwgZGF0YQoJICBDaGFuZ2UgTEYgPT4gQ1JMRiBpbiBoZWFkZXJzCgkgIE1vdmUgdHJhaWxpbmcgTEYgdG8gaGVhZGVyCgoyMDA2LTExLTI3IDE2OjI2OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiBTbWFsbCBidWZmZXIgb3ZlcmZsb3cgZml4IGFuZCBpbXByb3ZlIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfY2hhaW4pOgoJICBTbWFsbCBidWZmZXIgb3ZlcmZsb3cgZml4IGFuZCBpbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDYtMTEtMjQgMDg6NTg6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9lc2QvOiByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2Rtb24uaDoKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zCgoyMDA2LTExLTI0IDA3OjQ2OjU0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IHJlbW92ZSBkZWFkIGNvZGUsIHR3ZWFrIGRlYnVncyBzdGF0ZW1lbnRzLCBhZGQgY29tbWVudHMsIHVzZSBfdWludDY0X3NjYWxlIGluc3RlYWQgX3VpbnQ2NF9zY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmspLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIHJlbW92ZSBkZWFkIGNvZGUsIHR3ZWFrIGRlYnVncyBzdGF0ZW1lbnRzLCBhZGQgY29tbWVudHMsIHVzZQoJICBfdWludDY0X3NjYWxlIGluc3RlYWQgX3VpbnQ2NF9zY2FsZV9pbnQgd2hlbiB1c2luZyBndWludDY0IHZhbHVlcywKCSAgc21hbGwgb3B0aW1pemF0aW9ucywgcmVmbG93IHNvbWUgZXJyb3IgaGFuZGxpbmcKCjIwMDYtMTEtMjIgMTc6Mzk6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBwby8uY3ZzaWdub3JlOiBXZSBuZXZlciBwdXQgLnBvdCBmaWxlcyBpbiBjdnMuIExldCdzIGlnbm9yZSB0aGVtIGFsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vLmN2c2lnbm9yZToKCSAgV2UgbmV2ZXIgcHV0IC5wb3QgZmlsZXMgaW4gY3ZzLiBMZXQncyBpZ25vcmUgdGhlbSBhbGwuCgoyMDA2LTExLTIxIDEyOjU3OjUwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGVuYWxiZSBMQURTUEEgcGx1Z2luIGluIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZW5hbGJlIExBRFNQQSBwbHVnaW4gaW4gc3BlYyBmaWxlCgoyMDA2LTExLTE5IDE4OjQ2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuaW46IC4uLiBidXQgYmV0dGVyIGV4Y2x1ZGUgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgLi4uIGJ1dCBiZXR0ZXIgZXhjbHVkZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQuCgoyMDA2LTExLTE5IDE2OjMyOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuaW46IEFkZCB2NGwyIHNvdXJjZSBmaWxlcyB0byBsaXN0IG9mIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zLCBzbyB0aGUgc3RyaW5ncyBhcmUgYWN0dWFsbHkgZXh0cmFjdGVkIChob3dlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgdjRsMiBzb3VyY2UgZmlsZXMgdG8gbGlzdCBvZiBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucywgc28gdGhlCgkgIHN0cmluZ3MgYXJlIGFjdHVhbGx5IGV4dHJhY3RlZCAoaG93ZXZlciBiYWQgdGhleSBzdGlsbCBtYXkgYmUpLgoKMjAwNi0xMS0xOSAxNjozMDoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBNaW5vciBjbGVhbi11cHM6IGNvbnN0LWlmeSBzdGF0aWMgYXJyYXksIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpOgoJICBNaW5vciBjbGVhbi11cHM6IGNvbnN0LWlmeSBzdGF0aWMgYXJyYXksIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tCgkgIGxhc3QgZW51bSAoZ2NjLTIuOXggdHJpcHMgb3ZlciB0aGF0KSwgdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoKMjAwNi0xMS0xOSAxMzo0MTo1MyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBNYWtlIHN1cmUgdGhhdCBnX2ZyZWUgYWx3YXlzIGdldHMgY2FsbGVkIG9uIHRoZSBzYW1lIHBvaW50ZXIgdGhhdCB3YXMgcmV0dXJuZWQgYnkgZ19tYWxsby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgTWFrZSBzdXJlIHRoYXQgZ19mcmVlIGFsd2F5cyBnZXRzIGNhbGxlZCBvbiB0aGUgc2FtZSBwb2ludGVyIHRoYXQgd2FzCgkgIHJldHVybmVkIGJ5IGdfbWFsbG9jLiAgRml4ZXMgIzM3NjU5NC4KCSAgRG8gbm90IGxlYWsgbWVtb3J5IGlmIGRlY29tcHJlc3NlZCBzaXplIGlzIHdyb25nLgoJICBSZW1vdmUgdW5uZWVkZWQgY2hlY2sgb2YgcmV0dXJuIHZhbHVlIG9mIGdfbWFsbG9jLgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCjIwMDYtMTEtMTggMTg6MTQ6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEFkZCBtaXNzaW5nIGN1cmx5IGJyYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6CgkgIEFkZCBtaXNzaW5nIGN1cmx5IGJyYWNrZXRzLgoKMjAwNi0xMS0xNyAxNDo1NDowMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBjYXB0dXJlX2RlaW5pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBjYXB0dXJlX2RlaW5pdC4KCjIwMDYtMTEtMTYgMTU6MzY6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFVzZSBHU1RfREVCVUdfRlVOQ1BUUjsgYWN0aXZhdGUgcmVxdWVzdCBwYWQgYmVmb3JlIHJldHVybmluZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhY3RpdmF0ZSByZXF1ZXN0IHBhZCBiZWZvcmUgcmV0dXJuaW5nIGl0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHNldHVwX3NpbmtfcGFkKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgdXNpbmcgdGhlbS4KCjIwMDYtMTEtMTYgMTU6MDQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEluaXRpYWxpc2UgdmFyaWFibGUgdG8gZ2V0IHJpZCBvZiBib2d1cyBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgSW5pdGlhbGlzZSB2YXJpYWJsZSB0byBnZXQgcmlkIG9mIGJvZ3VzIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA2LTExLTE2IDA3OjI2OjE3ICswMDAwICBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQG1vdmlhbC5maT4KCgkgIGdzdC9ydHAvOiBTcGVjaWZ5IEguMjYzIHZhcmlhbnQgYW5kIHZlcnNpb24gaW4gdGhlIGNhcHMgKGZpeGVzICMzNjE2MzcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBtb3ZpYWwuZmk+CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBTcGVjaWZ5IEguMjYzIHZhcmlhbnQgYW5kIHZlcnNpb24gaW4gdGhlIGNhcHMgKGZpeGVzICMzNjE2MzcpCgoyMDA2LTExLTE1IDE3OjQ0OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogRG9uJ3Qgc2V0IGEgZGF0YSBwb2ludGVyIHRvIE5VTEwgYW5kIGEgc2l6ZSA+IDAgd2hlbiB3ZSBkZWFsIHdpdGggZW1wdHkgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJlYWRfYm9keSk6CgkgIERvbid0IHNldCBhIGRhdGEgcG9pbnRlciB0byBOVUxMIGFuZCBhIHNpemUgPiAwIHdoZW4gd2UgZGVhbAoJICB3aXRoIGVtcHR5IHBhY2tldHMuCgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9uZXdfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLCAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksCgkgIChydHNwX21lc3NhZ2VfdW5zZXQpLCAocnRzcF9tZXNzYWdlX2ZyZWUpLAoJICAocnRzcF9tZXNzYWdlX3Rha2VfYm9keSk6CgkgIENoZWNrIHRoYXQgd2UgY2FuJ3QgY3JlYXRlIGludmFsaWQgZW1wdHkgcGFja2V0cy4KCjIwMDYtMTEtMTUgMTI6MzU6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLAoJICBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tZSBjb2RlIGludG8gX3Jlc2V0KCkKCSAgZnVuY3Rpb25zICgjMzUyNjA1KS4KCjIwMDYtMTEtMTUgMTI6MDg6MjAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IEFkZCBiYXNpYyB0YWcgd3JpdGluZyBzdXBwb3J0OyBpbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgKCMzNzQ2NTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYWRkX2ludGVyZmFjZXMpLAoJICAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwgKGdzdF9tYXRyb3NrYV9wYWRfZnJlZSksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3RyYWNrX2hlYWRlciksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBBZGQgYmFzaWMgdGFnIHdyaXRpbmcgc3VwcG9ydDsgaW1wbGVtZW50IHJlbGVhc2luZyBwYWRzICgjMzc0NjU4KS4KCjIwMDYtMTEtMTUgMTE6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIG9wYXF1ZS91bnNwZWNpZmllZCBBX0FBQyBhdWRpbyBjb2RlYyBJRCAoZml4ZXMgIzM3NDczNykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICBIYW5kbGUgb3BhcXVlL3Vuc3BlY2lmaWVkIEFfQUFDIGF1ZGlvIGNvZGVjIElEIChmaXhlcyAjMzc0NzM3KS4KCjIwMDYtMTEtMTUgMDA6MTI6MTkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgRGlyYWMgZm91cmNjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBEaXJhYyBmb3VyY2MuCgoyMDA2LTExLTE0IDIwOjA3OjIyICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvdnM4LzogTWFrZSBlbmQtb2YtbGluZSByZXR1cm5zIHVuaXh5LCBzbyB0aGF0IHdoZW4gdGhlIGZpbGVzIGFyZSBjaGVja2VkIG91dCBvbiB3aW4zMiB0aGUgbGluZSByZXR1cm5zIHdpbGwgYmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkuc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWdvb2Quc2xuOgoJICAqIHdpbjMyL3ZzOC9saWJnc3QxMzk0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWFzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGFjb2xvci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFubm9kZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhcGV0YWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdWRpb2Z4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVwYXJzZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1dG9kZXRlY3QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdmkudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjYWNhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNkaW8udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjdXR0ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rkdi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGVmZmVjdHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbGFjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Zmx4ZGVjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Z29vbS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGljeWRlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWQzZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RqcGVnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGFkc3BhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGV2ZWwudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtYXRyb3NrYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1pa21vZC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1uZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1vbm9zY29wZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsdGlwYXJ0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cG5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRzcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNob3V0Mi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNtcHRlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c3BlZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R0YWdsaWIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R1ZHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JhbGFuY2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JveC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvZmxpcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvbWl4ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZlbmMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZwYXJzZS52Y3Byb2o6CgkgIE1ha2UgZW5kLW9mLWxpbmUgcmV0dXJucyB1bml4eSwgc28gdGhhdCB3aGVuIHRoZSBmaWxlcyBhcmUgY2hlY2tlZAoJICBvdXQgb24gd2luMzIgdGhlIGxpbmUgcmV0dXJucyB3aWxsIGJlIDBkIDBhIGFuZCBub3QgMGQgMGQgMGEuCgkgIEhvcGVmdWxseSBmaXhlcyAjMzY2NDkyLgoKMjAwNi0xMS0xNCAxNTo1NTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRGlzYWJsZSBpbml0X2ZyYW1lcyBkZWxheSB0aW1lc3RhbXAgYWRqdXN0bWVudCwgaXQgZG9lcyBub3Qgc2VlbSB0byBiZSBuZWVkZWQgYXQgYWxsLiBGaXhlcyAjMy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICBEaXNhYmxlIGluaXRfZnJhbWVzIGRlbGF5IHRpbWVzdGFtcCBhZGp1c3RtZW50LCBpdCBkb2VzIG5vdAoJICBzZWVtIHRvIGJlIG5lZWRlZCBhdCBhbGwuIEZpeGVzICMzNjk2MjEuCgoyMDA2LTExLTE0IDExOjQzOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwYXJzZSBleHRyYSBzYW1wbGUgcGFyYW1zIGZvciByYXcgcGNtLiBGaXhlcyAjMzc0OTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBwYXJzZSBleHRyYSBzYW1wbGUgcGFyYW1zIGZvciByYXcgcGNtLiBGaXhlcyAjMzc0OTE0LgoKMjAwNi0xMS0xMyAxODozMToxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IG1lbWxlYWsgYnkgdW5yZWYnaW5nIGNvbGxlY3RwYWRzIGluc3RhbmNlICh3aGVuIGZpbmFsaXppbmcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdF9mcmVlKSwgKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmluYWxpemUpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF92aWRlb21peGVyX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCksIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggbWVtbGVhayBieSB1bnJlZidpbmcgY29sbGVjdHBhZHMgaW5zdGFuY2UgKHdoZW4gZmluYWxpemluZykKCSAgSW1wbGVtZW50IHJlbGVhc2luZyBhIHJlcXVlc3QgcGFkLiBGaXhlcyAjMzc0NDc5LgoKMjAwNi0xMS0xMCAyMDowODo0MiArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL3ZzOC86IEFkZCBWUzggcHJvamVjdCBmaWxlcyAobm90ZSB0aGF0IG1hbnkgb2YgdGhlIHBsdWdpbnMgaW4gZXh0IGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0KS4gRml4ZXMgIzM2NjQ5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleS5zY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkgICogd2luMzIvdnM4L2xpYmdzdDEzOTQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYWNvbG9yLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YW5ub2RleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFwZXRhZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1ZGlvZngudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXBhcnNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXV0b2RldGVjdC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF2aS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNhY2FzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2Rpby52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGN1dHRlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGR2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZWZmZWN0di52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZsYWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbHhkZWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rnb29tLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWN5ZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpZDNkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGpwZWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsYWRzcGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsZXZlbC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1hdHJvc2thLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWlrbW9kLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW9ub3Njb3BlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWx0aXBhcnQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RwbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHNwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c2hvdXQyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c21wdGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzcGVleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHRhZ2xpYi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHVkcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYmFsYW5jZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYm94LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9mbGlwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9taXhlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdmVuYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdnBhcnNlLnZjcHJvajoKCSAgQWRkIFZTOCBwcm9qZWN0IGZpbGVzIChub3RlIHRoYXQgbWFueSBvZiB0aGUgcGx1Z2lucyBpbiBleHQgYXJlCgkgIGRpc2FibGVkIGJ5IGRlZmF1bHQpLiBGaXhlcyAjMzY2NDkyLgoKMjAwNi0xMS0xMCAxOToxODozMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOiBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgIExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCjIwMDYtMTEtMTAgMTg6NTE6MTAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL211bHRpZmlsZS52cHJvajoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgoyMDA2LTExLTEwIDA4OjA5OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IHdlIGRvIG5vdCB0cmFuc2xhdGUgZGVidWcgbWVzc2FnZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIHdlIGRvIG5vdCB0cmFuc2xhdGUgZGVidWcgbWVzc2FnZXMKCjIwMDYtMTEtMDggMTI6MDQ6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IGZpeCBjYXRlZ29yaXNhdGlvbiwgbWFrZSBzaG9ydCBkZXNjIG1vcmUgZXhwbGljaXQsIHJlbW92ZSB1bnVzZWQgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jbGFzc19pbml0KToKCSAgZml4IGNhdGVnb3Jpc2F0aW9uLCBtYWtlIHNob3J0IGRlc2MgbW9yZSBleHBsaWNpdCwgcmVtb3ZlIHVudXNlZCBjb2RlCgkgIEZpeGVzICMzNzIwMjEKCjIwMDYtMTEtMDggMDE6MzA6MzkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvOiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBGaXggZWxlbWVudCBkZXNjcmlwdGlvbnMuCgoyMDA2LTExLTA4IDAxOjI5OjUxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwLzogRml4IGRlc2NyaXB0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRml4IGRlc2NyaXB0aW9uLgoJICBTbWFsbCBjbGVhbnVwIGluIHRoZSBwYXlsb2FkZXIuCgoyMDA2LTExLTA4IDAxOjI4OjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwLzogQWRkIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc3dpdGNoX2NvZGVib29rKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3RoZW9yYV9wYXlfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX3RoZW9yYV9wYXlfcmVzZXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmx1c2hfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyksIChnc3RfcnRwX3RoZW9yYV9wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICBBZGQgdGhlb3JhIHBheS9kZXBheWxvYWRlcnMuCgoyMDA2LTExLTA3IDAxOjQzOjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBXZSBkZXBlbmQgb24gZ3N0dGFnIHRvIGdlbmVyYXRlIHRoZSB2b3JiaXMgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIFdlIGRlcGVuZCBvbiBnc3R0YWcgdG8gZ2VuZXJhdGUgdGhlIHZvcmJpcyBjb21tZW50cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc3dpdGNoX2NvZGVib29rKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSAgUGFyc2UgY29uZmlndXJhdGlvbiBzdHJpbmcgaW4gdGhlIGRlcGF5bG9hZGVyLgoJICBJbXBsZW1lbnQgc2VsZWN0aW5nIGFuZCBzd2l0Y2hpbmcgdG8gYSBuZXcgY29kZWJvb2suCgkgIFJlY2VpdmluZyB2b3JiaXMgb3ZlciBSVFAgbm93IHdvcmtzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfcmVzZXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgIFNldCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYW5kIFJUUCBwYWNrZXRzLgoJICBGaXggY29uZmlndXJhdGlvbiBzdHJpbmcsIHByZXBlbmQgbnVtYmVyIG9mIFBhY2tldCBoZWFkZXJzLgoJICBGaXggZW5jb2Rpbmcgb2YgaWRlbnQgc3RyaW5nLgoJICBBZGQgZGVsaXZlcnktbWV0aG9kIHRvIGNhcHMuCgkgIFN0cmVhbWluZyB2b3JiaXMgb3ZlciBSVFAgbm93IHdvcmtzLgoKMjAwNi0xMS0wNiAyMDo1MjoxMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuKjogR2VuZXJhdGUgYSB2YWxpZCBjb25maWd1cmF0aW9uIHN0cmluZyBpbiB0aGUgY2FwcyBiYXNlZCBvbiB0aGUgdm9yYmlzIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpLCAoZ3N0X3J0cF92b3JiaXNfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICBHZW5lcmF0ZSBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gc3RyaW5nIGluIHRoZSBjYXBzIGJhc2VkIG9uIHRoZQoJICB2b3JiaXMgaGVhZGVycy4KCjIwMDYtMTEtMDIgMjA6MTM6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5IGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeQoJICBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjk1MzkpLgoKMjAwNi0xMS0wMiAxNDo0MzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvLzogTW92ZSBDRC1URVhUIHV0aWxpdHkgZnVuY3Rpb24gaW50byBjb21tb24gZmlsZSBzbyBpdCBjYW4gYWxzbyBiZSB1c2VkIGJ5IGEgZnV0dXJlIGNkaW9wYXJhbm9pYXNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAoZ3N0X2NkaW9fZ2V0X2NkdGV4dCk6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKToKCSAgTW92ZSBDRC1URVhUIHV0aWxpdHkgZnVuY3Rpb24gaW50byBjb21tb24gZmlsZSBzbyBpdCBjYW4gYWxzbyBiZQoJICB1c2VkIGJ5IGEgZnV0dXJlIGNkaW9wYXJhbm9pYXNyYy4KCjIwMDYtMTEtMDEgMTk6NDg6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgSW1wcm92ZWQgY29tbWVudHMgaW4gRUxFTUVOVF9FUlJPUi9XQVJOSU5HIGFuZCBhZGRlZCAiI2lmIDAiIHRvIHhvdmVybGF5IGNvZGUgdGhhdCBpcyBzdGlsbCBub3QgaW1wbGVtZW50ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJbXByb3ZlZCBjb21tZW50cyBpbiBFTEVNRU5UX0VSUk9SL1dBUk5JTkcgYW5kIGFkZGVkICIjaWYgMCIgdG8geG92ZXJsYXkgY29kZSB0aGF0IGlzIHN0aWxsIG5vdCBpbXBsZW1lbnRlZC4KCjIwMDYtMTEtMDEgMTM6NTk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogV2UgcmVxdWlyZSBhIC1iYXNlIG1vcmUgcmVjZW50IHRoYW4gMC4xMC45LCBzbyBpdCdzIHNhZmUgdG8gdXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIFdlIHJlcXVpcmUgYSAtYmFzZSBtb3JlIHJlY2VudCB0aGFuIDAuMTAuOSwgc28gaXQncyBzYWZlIHRvIHVzZQoJICBHU1RfVFlQRV9UQUdfSU1BR0VfVFlQRSB1bmNvbmRpdGlvbmFsbHkgbm93LgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KToKCSAgVXNlIF9uZXdzZWdtZW50X2Z1bGwoKSBub3cgdGhhdCB3ZSBkZXBlbmQgb24gYSByZWNlbnQgZW5vdWdoIGNvcmUuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJlbW92ZSBjcnVmdCB0aGF0IHdlIGRvbid0IG5lZWQgYW55IGxvbmdlciBub3cgdGhhdCB3ZSBkZXBlbmQgb24KCSAgYSByZWNlbnQgZW5vdWdoIC1iYXNlLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0xMC0zMSAxMDo1MjozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggYW5kIGFjdGl2YXRlIElMQkMgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICMzNjgxNjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X2luaXQpLAoJICAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgIEZpeCBhbmQgYWN0aXZhdGUgSUxCQyBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzM2ODE2Mi4KCjIwMDYtMTAtMzEgMTA6MzE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgoyMDA2LTEwLTMxIDA5OjQ0OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFNvbWUgc21hbGwgY2xlYW51cHMsIHVzZSBfc2NhbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NvbnZlcnQpLAoJICAoc3BlZXhfZGVjX3NpbmtfZXZlbnQpLCAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2hlYWRlcik6CgkgIFNvbWUgc21hbGwgY2xlYW51cHMsIHVzZSBfc2NhbGUuCgoyMDA2LTEwLTMxIDA5OjI5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBVc2UgaGlnaGVyIHByZWNpc2lvbiBzY2FsZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgVXNlIGhpZ2hlciBwcmVjaXNpb24gc2NhbGUgZnVuY3Rpb24uCgoyMDA2LTEwLTMwIDE2OjE4OjE4ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IHNldmVyYWwgaXNzdWVzIHdpdGggZW5jb2RlZC9jb21wcmVzc2VkL2VuY3J5cHRlZC9zaWduZWQgdHJhY2tzOyBhbHNvLCByZW1vdmUgc3VwZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwgZG90IGJlbmVzIGF0IGl0b25pcyB0dj4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9lbmNvZGluZ19jbXApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKToKCSAgRml4IHNldmVyYWwgaXNzdWVzIHdpdGggZW5jb2RlZC9jb21wcmVzc2VkL2VuY3J5cHRlZC9zaWduZWQgdHJhY2tzOwoJICBhbHNvLCByZW1vdmUgc3VwZXJmbHVvdXMgbmV3bGluZSBjaGFyYWN0ZXJzIGZyb20gc29tZSBkZWJ1ZwoJICBzdGF0ZW1lbnRzLiAoIzM2NjE1NSkKCjIwMDYtMTAtMzAgMDk6MjQ6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy86IFZhcmlvdXMgY2xlYW51cHMsIGNhcHNuZWdvIGFuZCBsZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19nZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Ntb2tlZGVjX2luaXQpLCAoZ3N0X3Ntb2tlZGVjX2ZpbmFsaXplKSwgKGdzdF9zbW9rZWRlY19jaGFpbiksCgkgIChnc3Rfc21va2VkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Ntb2tlZW5jX2luaXQpLCAoZ3N0X3Ntb2tlZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19yZXN5bmMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKSwKCSAgKGdzdF9zbW9rZWVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3Ntb2tlZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc21va2VlbmNfY2hhbmdlX3N0YXRlKToKCSAgVmFyaW91cyBjbGVhbnVwcywgY2Fwc25lZ28gYW5kIGxlYWsgZml4ZXMuCgoyMDA2LTEwLTMwIDA4OjE3OjA4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggdmlkZW9taXhlciBzbyB0aGF0IGl0IGNhbiBoYW5kbGUgYW55IGNvbWJpbmF0aW9uIG9mIGZyYW1lcmF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6CgkgIEZpeCB2aWRlb21peGVyIHNvIHRoYXQgaXQgY2FuIGhhbmRsZSBhbnkgY29tYmluYXRpb24gb2YgZnJhbWVyYXRlcy4KCSAgRml4ZXMgIzM2NzIyMS4KCjIwMDYtMTAtMjggMTY6Mzc6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBwb3NpdGlvbiBxdWVyeSBmb3IgYXVkaW8uIGFsc28gZml4ZXMgdGltZXN0YW1wcyBpbiBzdHJlYW1pbmcgbW9kZSBhbmQgYnVnICMzNjQ5NTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXRfcHVzaCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBGaXggcG9zaXRpb24gcXVlcnkgZm9yIGF1ZGlvLiBhbHNvIGZpeGVzIHRpbWVzdGFtcHMgaW4gc3RyZWFtaW5nCgkgIG1vZGUgYW5kIGJ1ZyAjMzY0OTU4LgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMTAtMjcgMTc6MTA6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy4qOiBGaXggc3RyaWRlcy4gRml4ZXMgIzM2NDg1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfc2V0Y2FwcyksIChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBGaXggc3RyaWRlcy4gRml4ZXMgIzM2NDg1Ni4KCSAgQ2xlYW51cCBjYXBzbmVnby4KCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDYtMTAtMTggMTc6MDY6MjEgKzAwMDAgIFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbW92aWFsLmZpPgoKCSAgZ3N0L3J0cC86IEFkZCBzdGF0aWMgcGF5bG9hZCBudW1iZXJzIGluIGFkZGl0aW9uIHRvIHRoZSBkeW5hbWljIG9uZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmlsbGUgU3lyamFsYSA8dmlsbGUgZG90IHN5cmphbGEgYXQgbW92aWFsIGRvdCBmaT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfcGNtYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X2ZsdXNoKToKCSAgQWRkIHN0YXRpYyBwYXlsb2FkIG51bWJlcnMgaW4gYWRkaXRpb24gdG8gdGhlIGR5bmFtaWMgb25lcy4KCSAgRml4ZXMgIzM2MTYzOS4KCjIwMDYtMTAtMTggMTY6MTg6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFJldXNlIGFscmVhZHkgZXhpc3RpbmcgZW51bSBmb3IgbG93ZXIgdHJhbnNwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9sb3dlcl90cmFuc19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3Byb3RvY29scyksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgUmV1c2UgYWxyZWFkeSBleGlzdGluZyBlbnVtIGZvciBsb3dlciB0cmFuc3BvcnQuCgkgIEFkZCBydHNwdCBhbmQgcnRzcHUgcHJvdG9jb2xzLgoJICBTZW5kIHJlZGlyZWN0IHRvIHJ0c3B0IHdoZW4gdWRwIHRpbWVzIG91dC4KCjIwMDYtMTAtMTggMTQ6MDA6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHNlZWtpbmcgc29tZSBtb3JlLCBtb3N0bHkgZm9yIHNwZWVkIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBGaXggc2Vla2luZyBzb21lIG1vcmUsIG1vc3RseSBmb3Igc3BlZWQgY2hhbmdlcy4KCjIwMDYtMTAtMTggMTE6Mjg6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggRnJlZHJpaydzIGUtbWFpbCBhZGRyZXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IEZyZWRyaWsncyBlLW1haWwgYWRkcmVzcwoKMjAwNi0xMC0xOCAxMTowNDowOSArMDAwMCAgRnJlZHJpayBQZXJzc29uIDxmcmVwZUBicm9hZGJhbmQubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLio6IEZpeCBfc2V0X2NoYW5uZWwoKTogcmVtb3ZlIHVzZWxlc3MgZ19vYmplY3Rfbm90aWZ5KCkgZm9yICJjaGFubmVsIiBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZHJpayBQZXJzc29uICA8ZnJlcGUgYXQgYnJvYWRiYW5kIG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgRml4IF9zZXRfY2hhbm5lbCgpOiByZW1vdmUgdXNlbGVzcyBnX29iamVjdF9ub3RpZnkoKSBmb3IgImNoYW5uZWwiCgkgIHByb3BlcnR5IHRoYXQgZG9lc24ndCBleGlzdCBhbnkgbG9uZ2VyIGFuZCB0aGVyZWZvcmUgbm93IGFsc28KCSAgdXNlbGVzcyByZWRpcmVjdCAoIzMzODgxOCkuCgoyMDA2LTEwLTE3IDE1OjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2NyZWF0ZV9wYWRzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgoyMDA2LTEwLTE3IDE0OjU3OjE3ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYyB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLCAocXRkZW11eF90YWdfYWRkX2RhdGUpLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpOgoJICBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYwoJICB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2MjYpLgoKMjAwNi0xMC0xNyAxNDozNzo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBTb21lIGRyaXZlcnMgZG8gbm90IHN1cHBvcnQgdW5zZXR0aW5nIHRoZSBub24tYmxvY2tpbmcgZmxhZyBvbmNlIHRoZSBkZXZpY2UgaXMgb3BlbmVkLiBJbiB0aG9zZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19wcmVwYXJlKToKCSAgU29tZSBkcml2ZXJzIGRvIG5vdCBzdXBwb3J0IHVuc2V0dGluZyB0aGUgbm9uLWJsb2NraW5nIGZsYWcgb25jZSB0aGUKCSAgZGV2aWNlIGlzIG9wZW5lZC4gSW4gdGhvc2UgY2FzZXMsIGNsb3NlL29wZW4gdGhlIGRldmljZSBpbgoJICBub24tYmxvY2tpbmcgbW9kZS4gRml4ZXMgIzM2MjY3My4KCjIwMDYtMTAtMTcgMTM6NDQ6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogZGVhciBzdGVmYW4sIGZyYW1lc3BlcnNlY29uZCBpcyBub3QgZnJhbWVwZXJpb2QsIHJldmVydGluZyBidXQgYWRkaW5nIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgZGVhciBzdGVmYW4sIGZyYW1lc3BlcnNlY29uZCBpcyBub3QgZnJhbWVwZXJpb2QsIHJldmVydGluZyBidXQgYWRkaW5nCgkgIGNvbW1lbnQKCjIwMDYtMTAtMTcgMTE6Mjg6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogTnVtZXJhdG9yIGlzIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3IgaXMgZGVub21pbmF0b3IuIFNheSB0aGF0IGFsb3VkIDUgdGltZXMgYW5kIHJldHJ5IGFmdGVyIG5leHQgYmVlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgTnVtZXJhdG9yIGlzIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3IgaXMgZGVub21pbmF0b3IuIFNheSB0aGF0IGFsb3VkCgkgIDUgdGltZXMgYW5kIHJldHJ5IGFmdGVyIG5leHQgYmVlci4KCjIwMDYtMTAtMTcgMTA6NTk6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCjIwMDYtMTAtMTYgMTg6MjI6NDcgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBGaXggYSBidW5jaCBvZiBwcm9ibGVtcyBkaXNjb3ZlcmVkIGJ5IHRoZSBGb3J0ZSBjb21waWxlciwgbW9zdGx5IHR5cGUgbWl4dXBzIGFuZCBwb2ludGVyIGFyaXRobWV0aWNzIHdpdGggdm9pZCBwb2ludGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdHJhbnNmb3JtKToKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbGVuZ3RoKSwKCSAgKGdzdF9mbGFjX2RlY19yZWFkX3NlZWthYmxlKSwgKGdzdF9mbGFjX2RlY19jaGFpbiksCgkgIChnc3RfZmxhY19kZWNfc2VuZF9uZXdzZWdtZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfc2Vla19jYWxsYmFjayksCgkgIChnc3RfZmxhY19lbmNfdGVsbF9jYWxsYmFjayk6CgkgICogZXh0L2pwZWcvc21va2Vjb2RlYy5jOiAoZmluZF9iZXN0X3NpemUpLCAoc21va2Vjb2RlY19lbmNvZGUpLAoJICAoc21va2Vjb2RlY19wYXJzZV9oZWFkZXIpLCAoc21va2Vjb2RlY19kZWNvZGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF93cml0ZV9hdml4X2luZGV4KToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZmVuY2VkX2J1ZmZlcl9hbGxvYyk6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlYWQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgIEZpeCBhIGJ1bmNoIG9mIHByb2JsZW1zIGRpc2NvdmVyZWQgYnkgdGhlIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgdHlwZQoJICBtaXh1cHMgYW5kIHBvaW50ZXIgYXJpdGhtZXRpY3Mgd2l0aCB2b2lkIHBvaW50ZXJzLiBGaXhlcyAjMzYyNjAzLgoKMjAwNi0xMC0xMiAxOTowMjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC86IE1pc2NlbGxhbmVvdXMgY2xlYW4tdXBzLCBhbW9uZyBvdGhlciB0aGluZ3M6IHNwZWV4ZW5jID0+IGVuYyB0byBlbmhhbmNlIGNvZGUgcmVhZGFiaWxpdHk7IGNoYW5nZSBzcGVleGVuYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfZ2V0X2Zvcm1hdHMpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXR1cF9pbnRlcmZhY2VzKSwgKGdzdF9zcGVleF9lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVleF9lbmNfY2xhc3NfaW5pdCksIChnc3Rfc3BlZXhfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9zcGVleF9lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9zcGVleF9lbmNfY29udmVydF9zcmMpLAoJICAoZ3N0X3NwZWV4X2VuY19jb252ZXJ0X3NpbmspLCAoZ3N0X3NwZWV4X2VuY19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3NwZWV4X2VuY19zcmNfcXVlcnkpLCAoZ3N0X3NwZWV4X2VuY19zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9zcGVleF9lbmNfaW5pdCksIChnc3Rfc3BlZXhfZW5jX2NyZWF0ZV9tZXRhZGF0YV9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXRfbGFzdF9tc2cpLCAoZ3N0X3NwZWV4X2VuY19zZXR1cCksCgkgIChnc3Rfc3BlZXhfZW5jX2J1ZmZlcl9mcm9tX2RhdGEpLCAoZ3N0X3NwZWV4X2VuY19wdXNoX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfZW5jX3NldF9oZWFkZXJfb25fY2FwcyksIChnc3Rfc3BlZXhfZW5jX3NpbmtldmVudCksCgkgIChnc3Rfc3BlZXhfZW5jX2NoYWluKSwgKGdzdF9zcGVleF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVleF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgTWlzY2VsbGFuZW91cyBjbGVhbi11cHMsIGFtb25nIG90aGVyIHRoaW5nczogc3BlZXhlbmMgPT4gZW5jIHRvCgkgIGVuaGFuY2UgY29kZSByZWFkYWJpbGl0eTsgY2hhbmdlIHNwZWV4ZW5jID0+IHNwZWV4X2VuYzsgaW4gY2hhaW4KCSAgZnVuY3Rpb24gdW5yZWYgaW5wdXQgYnVmZmVyIGluIGNhc2Ugb2YgZXJyb3I7IHRha2UgcmVmZXJlbmNlIGluCgkgIGV2ZW50IGZ1bmN0aW9uOyB1c2UgYm9pbGVycGxhdGUgbWFjcm87IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfKgoJICBjb252ZW5pZW5jZSBmdW5jdGlvbnMuCgoyMDA2LTEwLTEyIDE4OjM1OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEZpeCBzb21lIG1lbSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfZmluYWxpemUpLAoJICAoZ3N0X3NwZWV4ZW5jX3NldF9sYXN0X21zZyksIChnc3Rfc3BlZXhlbmNfc2V0dXApLAoJICAoZ3N0X3NwZWV4ZW5jX3NldF9oZWFkZXJfb25fY2Fwcyk6CgkgIEZpeCBzb21lIG1lbSBsZWFrcy4KCjIwMDYtMTAtMTEgMTY6MjE6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGRlZCBzb21lIG90aGVyIFVSTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkZWQgc29tZSBvdGhlciBVUkwuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFdvcmsgb24gZmFsbGJhY2sgdG8gVENQIGNvbm5lY3Rpb24gd2hlbiB0aGUgVURQIHNvY2tldCB0aW1lcyBvdXQuCgkgIEhhbmRsZXIgc2VydmVyIHJlcXVlc3RzLCBqdXN0IHJlcGx5IHdpdGggT0sgZm9yIG5vdy4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZGVkIHNvbWUgbW9yZSBSZWFsIGV4dGVuc2lvbiBoZWFkZXJzLgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgRml4IHBhcnNpbmcgb2YgdXJscyB3aXRoIGEgJzonIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGhvc3RuYW1lOnBvcnQKCSAgcGFydCBvZiB0aGUgdXJsLgoKMjAwNi0xMC0xMSAxMzo0OToyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoKMjAwNi0xMC0xMSAxMzoyNDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBhbHJlYWR5LXJ1bm5pbmcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9hZGRfc3JjcGFkKToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9hZGRfc3JjcGFkKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKToKCSAgQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGFscmVhZHktcnVubmluZyBlbGVtZW50LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpOgoJICBBY3RpdmF0ZSBuZXdseS1jcmVhdGVkIHBhZCB0b28uCgoyMDA2LTEwLTExIDA4OjM0OjE0ICswMDAwICBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDJAeWFob28uY2E+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggc29tZSBsZWFrcyBpbiBjYXBzIGFuZCB1cmlzLiBGaXhlcyAjMzYxMjUyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MiBhdCB5YWhvbyBkb3QgY2E+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2ZpbmFsaXplKSwgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3VyaSksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgRml4IHNvbWUgbGVha3MgaW4gY2FwcyBhbmQgdXJpcy4gRml4ZXMgIzM2MTI1Mi4KCjIwMDYtMTAtMTAgMTg6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgVXNlICJfc3RkaW50LmgiLgoKMjAwNi0xMC0xMCAwOTo1NzoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBQYXJzZSBSVFNQIHJlZGlyZWN0aW9uIFVSTFMuCgoyMDA2LTEwLTEwIDA4OjI5OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOiBGaXggY29weSduJ3Bhc3RlLW8gKHNwb3R0ZWQgYnkgTWFyayBOYXV3ZWxhZXJ0cywgIzM0MTQ4OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgRml4IGNvcHknbidwYXN0ZS1vIChzcG90dGVkIGJ5IE1hcmsgTmF1d2VsYWVydHMsICMzNDE0ODkpLgoKMjAwNi0xMC0wOSAwNzowMToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuKjogRml4IGJ1aWxkIGFzIHBlciB0aGUgcGF0Y2ggaW4gIzMzODgxOCBjb21tZW50IDM2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgRml4IGJ1aWxkIGFzIHBlciB0aGUgcGF0Y2ggaW4gIzMzODgxOCBjb21tZW50IDM2LgoKMjAwNi0xMC0wOCAyMDowNToxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgIGluc3BlY3QgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaW5zcGVjdCB1cGRhdGVzCgoyMDA2LTEwLTA3IDIxOjE1OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byB0aGUgc291cmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHRoZSBzb3VyY2UuCgoyMDA2LTEwLTA3IDExOjM3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgoyMDA2LTEwLTA2IDE3OjAwOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYWRkX3BhZHMpLCAoZ3N0X2R2ZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9hZGRfc3JjcGFkKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoKMjAwNi0xMC0wNiAxNjowMzoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCk6CgkgIEJPSUxFUlBMQVRFIHNldHMgcGFyZW50X2NsYXNzIGZvciB1cy4KCjIwMDYtMTAtMDYgMTU6NTY6MDEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2FuYWx5c2lzX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlciksIChidXR0ZXJfZmlsdGVyKSwKCSAgKGFwcGx5X2ZpbHRlcnMpLCAocmVzZXRfZmlsdGVycyksIChhY2N1bXVsYXRvcl9hZGQpLAoJICAoYWNjdW11bGF0b3JfY2xlYXIpLCAoYWNjdW11bGF0b3JfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX25ldyksCgkgIChyZ19hbmFseXNpc19zZXRfc2FtcGxlX3JhdGUpLCAocmdfYW5hbHlzaXNfZGVzdHJveSksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2ludDE2KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2ludDE2KSwgKHJnX2FuYWx5c2lzX2FuYWx5emUpLAoJICAocmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksCgkgIChyZ19hbmFseXNpc19yZXNldF9hbGJ1bSksIChyZ19hbmFseXNpc19yZXNldCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGdldF9leHBlY3RlZF9nYWluKSwKCSAgKHNldHVwX3JnYW5hbHlzaXMpLCAoY2xlYW51cF9yZ2FuYWx5c2lzKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHBvbGxfZW9zKSwgKHBvbGxfdGFncyksCgkgIChmYWlsX3VubGVzc190cmFja19nYWluKSwgKGZhaWxfdW5sZXNzX3RyYWNrX3BlYWspLAoJICAoZmFpbF91bmxlc3NfYWxidW1fZ2FpbiksIChmYWlsX3VubGVzc19hbGJ1bV9wZWFrKSwKCSAgKGZhaWxfaWZfdHJhY2tfdGFncyksIChmYWlsX2lmX2FsYnVtX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfbnVtX3RyYWNrcyksICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pLCAocHVzaF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAocmdhbmFseXNpc19zdWl0ZSksIChtYWluKToKCSAgVW5pdCB0ZXN0cyBmb3IgdGhlIG5ldyByZXBsYXlnYWluIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDE1OjQ5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2Nsb3NlX2RlY29kZXIpOgoJICBTb21lIGNsZWFudXBzLgoJICBBZGRlZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBEb24ndCBldmVyIGlnbm9yZSB1bmxpbmtlZCwgd2UncmUgbm90IGEgZGVtdXhlci4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDEyOjU1OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBSZXdvcmsgaG93IHRoZSB0cmFuc3BvcnQgc3RyaW5nIGlzIGNvbnN0cnVjdGVkLCB0cnkgdG8gc2hhcmUgY2hhbm5lbHMgYW5kIHVkcCBwb3J0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfcHJvdG9fZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZmluZF9zdHJlYW1fYnlfY2hhbm5lbCksCgkgIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV90cmFuc3BvcnRzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFJld29yayBob3cgdGhlIHRyYW5zcG9ydCBzdHJpbmcgaXMgY29uc3RydWN0ZWQsIHRyeSB0byBzaGFyZSBjaGFubmVscwoJICBhbmQgdWRwIHBvcnRzLgoJICBNYWtlIG1vc3Qgb2YgdGhlIHN0dWZmIGxlc3MgZGVwZW5kYW50IG9uIFJUUCBhcyB3ZSBhcmUgYWxzbyBnb2luZyB0byB1c2UKCSAgaXQgZm9yIFJEVC4KCSAgQWRkIHN1cHBvcnQgZm9yIHRyYW5zcG9ydCBzcGVjaWZpYyBzZXNzaW9uIG1hbmFnZXJzLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fZmx1c2gpOgoJICBJbXBsZW1lbnQgX2ZsdXNoKCkuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGQgZ2VuZXJpYyBlcnJvciByZXR1cm4gY29kZS4KCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBwbHVnZ2FibGUgdHJhbnBvcnQgc3RyaW5ncy4KCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfYmVmb3JlX3NlbmQpLAoJICAocnRzcF9leHRfd21zX2FmdGVyX3NlbmQpLCAocnRzcF9leHRfd21zX3BhcnNlX3NkcCksCgkgIChydHNwX2V4dF93bXNfZ2V0X2NvbnRleHQpOgoJICBEZXRlY3QgV01TZXJ2ZXIgYW5kIGFjdGl2YXRlIHRoZSBleHRlbnNpb24uCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfZ2V0X21pbWUpLAoJICAocnRzcF90cmFuc3BvcnRfZ2V0X21hbmFnZXIpLCAocnRzcF90cmFuc3BvcnRfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgQWRkZWQgbWV0aG9kcyB0byBnZXQgbWltZS9tYW5hZ2VyIGZvciBjZXJ0YWluIHRyYW5zcG9ydHMuCgoyMDA2LTEwLTA2IDExOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCjIwMDYtMTAtMDYgMDI6Mjk6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUKCSAgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoKMjAwNi0xMC0wNSAxODoxNDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfY2hhaW4pOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF90cm1fc2V0Y2Fwcyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA1IDE2OjM3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgIChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3VwZGF0ZV9mb250X2hlaWdodCk6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV90cmFuc2Zvcm1fY2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX3BhcnNlX2ltYWdlX2RhdGEpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9lbmRyb3dfY2FsbGJhY2spOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9jb3B5KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA0IDIyOjM3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuKjogSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4IHBhc3N0aHJvdWdoIG1vZGU7IGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX3NpbXBsZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvY3JvcF9jbGVhcl9uZWdvdGlhdGVkX2NhcHNfbG9ja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4CgkgIHBhc3N0aHJvdWdoIG1vZGU7IGxhc3RseSwgY2xlYXIgbmVnb3RpYXRlZCBiYXNldHJhbnNmb3JtIGNhcHMgd2hlbgoJICB0aGUgY3JvcHBpbmcgY2hhbmdlcyBpbiBvcmRlciB0byBmb3JjZSByZW5lZ290aWF0aW9uLgoKMjAwNi0xMC0wNCAyMDowNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodCB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChxdWl0X21haW5sb29wKSwgKHRpY2tfY2IpLAoJICAodGVzdF93aXRoX2NhcHMpLCAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwgKG1haW4pOgoJICBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0CgkgIHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHVua25vd24KCSAgcmVhc29ucyAoYW5vdGhlciBiYXNldHJhbnNmb3JtIGlzc3VlPykKCjIwMDYtMTAtMDQgMTc6NTM6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9NYWtlZmlsZS5hbTogRGlzdCBuZXcgLmggZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICBEaXN0IG5ldyAuaCBmaWxlIHRvby4KCjIwMDYtMTAtMDQgMTc6MjQ6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEZhY3RvciBvdXQgZXh0ZW5zaW9uIGluIHNlcGFyYXRlIG1vZHVsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2dldGNhcHMpLAoJICAoZ3N0X3J0cGRlY19jaGFpbl9ydHApLCAoZ3N0X3J0cGRlY19jaGFpbl9ydGNwKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19wYXJzZV9zZHApLAoJICAocnRzcF9leHRfd21zX2dldF9jb250ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmg6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfaW5pdCksIChwYXJzZV9tb2RlKSwKCSAgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEZhY3RvciBvdXQgZXh0ZW5zaW9uIGluIHNlcGFyYXRlIG1vZHVsZS4KCSAgRml4IGdldGNhcHMgdG8gZmlsdGVyIGFnYWluc3QgdGhlIHBhZHRlbXBsYXRlLgoJICBVc2UgQ29udGVudC1CYXNlIGlmIHRoZSBzZXJ2ZXIgZ2l2ZXMgb25lLgoJICBSZXdvcmsgdGhlIHRyYW5zcG9ydCBwYXJzaW5nIGEgYml0IGZvciBmdXR1cmUgZXh0ZW5zaW9ucy4KCSAgQWRkZWQgc29tZSBSZWFsIEhlYWRlciBmaWVsZCBkZWZpbml0aW9ucy4KCjIwMDYtMTAtMDQgMTA6Mjk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkZWQgdjRsMiBzdHVicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGFkZGVkIHY0bDIgc3R1YnMKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCB2NGwyCgoyMDA2LTEwLTA0IDEwOjI0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBFeHRyYWN0IGRpc2MvYWxidW0vbWVkaXVtIG51bWJlciBhbmQgY291bnQgYW5kIHRyeSBoYXJkZXIgdG8gZXh0cmFjdCB0cmFjayBudW1iZXIvY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgRXh0cmFjdCBkaXNjL2FsYnVtL21lZGl1bSBudW1iZXIgYW5kIGNvdW50IGFuZCB0cnkgaGFyZGVyCgkgIHRvIGV4dHJhY3QgdHJhY2sgbnVtYmVyL2NvdW50LgoKMjAwNi0xMC0wMyAxODozNjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDYtMTAtMDMgMTg6MzU6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGFkZCBpY2xlIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgaWNsZSBmb3IgdjRsMgoKMjAwNi0xMC0wMyAxODoxNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgYnVpbGQgc3R1ZmYgZm9yIHY0bDIsIG5lZWRzIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCB1bnRpbCB0aGUgbGFzdCBiaXRzIGFyZSByZXNvbHZlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBhZGQgYnVpbGQgc3R1ZmYgZm9yIHY0bDIsIG5lZWRzIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCB1bnRpbAoJICB0aGUgbGFzdCBiaXRzIGFyZSByZXNvbHZlZAoKMjAwNi0xMC0wMyAxMzo0NzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoKMjAwNi0xMC0wMyAxMzozMDo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgIGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIKCSAgaW50ZXJmYWNlLgoKMjAwNi0xMC0wMyAxMzoxODo1OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0wMyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNi0xMC0wMiAxNjoxNDowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBzdG9wIHJlbW92aW5nIGdka3BpeGJ1ZiBwbHVnaW4gZnJvbSBwYWNrYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzdG9wIHJlbW92aW5nIGdka3BpeGJ1ZiBwbHVnaW4gZnJvbSBwYWNrYWdlCgoyMDA2LTA5LTI5IDE1OjM5OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYXV0b2RldGVjdCB0ZXN0IHRlbXBvcmFyaWx5LCBzbyB0aGF0IHRoZSBidWlsZCBib3RzIHVwZGF0ZSAtYmFkIGFuZCB0aGUgcmFua3Mgb2YgdW5yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGF1dG9kZXRlY3QgdGVzdCB0ZW1wb3JhcmlseSwgc28gdGhhdCB0aGUgYnVpbGQgYm90cwoJICB1cGRhdGUgLWJhZCBhbmQgdGhlIHJhbmtzIG9mIHVucmVsaWFibGUgdmlkZW8gc2lua3MgaW4gdGhlcmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTa2lwIHRlc3QgaWYgbm8gdXNhYmxlIHZpZGVvc2luayBpcyBmb3VuZC4KCjIwMDYtMDktMjkgMTU6Mzc6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgc29tZSBtb3JlIFVSTHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBzb21lIG1vcmUgVVJMcy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCB0aW1lb3V0IHByb3BlcnR5IHRvIGNvbnRyb2wgVURQIHRpbWVvdXRzLgoJICBGaXggZXJyb3IgbWVzc2FnZXMuCgkgIEFsc28gc3RhcnQgYSBsb29wIGZ1bmN0aW9uIHdoZW4gb3BlcmF0aW5nIGluIFVEUCBtb2RlIHNvIHRoYXQgd2UgY2FuCgkgIGRvIHNvbWUgbW9yZSBzdHVmZiBhc3luYy4KCSAgSGFuZGxlIGVsZW1lbnQgbWVzc2FnZXMgZnJvbSB1ZHBzcmMgdG8gZGV0ZWN0IHRpbWVvdXRzLiBJZiBhIHRpbWVvdXQKCSAgaGFwcGVucyB3ZSBjdXJyZW50bHkgZ2VuZXJhdGUgYW4gZXJyb3IuCgkgIEFQSTogcnRzcHNyYzo6dGltZW91dCBwcm9wZXJ0eS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgUmVhbGx5IGltcGxlbWVudCB0aGUgdGltZW91dCBpbiBtaWNyb3NlY29uZHMgYW5kIG5vdCBtaWxsaXNlY29uZHMuCgoyMDA2LTA5LTI5IDExOjA5OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkZWQgcHJvcGVydHkgdG8gcG9zdCBhIG1lc3NhZ2Ugb24gdGltZW91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY191bmxvY2spLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBBZGRlZCBwcm9wZXJ0eSB0byBwb3N0IGEgbWVzc2FnZSBvbiB0aW1lb3V0LgoJICBVcGRhdGVkIGRvY3MuCgkgIFdoZW4gcmVzdGFydGluZyB0aGUgc2VsZWN0LCBpbml0aWFsaXplIHRoZSBmZHNldHMgYWdhaW4uCgkgIEluaXQgY29udHJvbCBzb2NrZXRzIHNvIHdlIGRvbid0IGFjY2lkZW50YWxseSBjbG9zZSBhIHJhbmRvbSBzb2NrZXQuCgkgIEFQSTogR3N0VURQU3JjOjp0aW1lb3V0IHByb3BlcnR5CgoyMDA2LTA5LTI5IDA4OjE1OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggZmxhZyByZWdpc3RyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX3Byb3RvX2dldF90eXBlKToKCSAgRml4IGZsYWcgcmVnaXN0cmF0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVhZCk6CgkgIFJlYWRpbmcgMCBhbHNvIG1lYW5zICdubyBtb3JlIGNvbW1hbmRzJwoKMjAwNi0wOS0yOSAwODowOToyNCArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIHdoZW4gc2h1dHRpbmcgZG93biwgYSByZWFkIGNhbiBhbHNvIHJldHVybiAwIHRvIGluZGljYXRlIG5vIG1vcmUgbWVzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIHdoZW4gc2h1dHRpbmcgZG93biwgYSByZWFkIGNhbiBhbHNvIHJldHVybgoJICAwIHRvIGluZGljYXRlIG5vIG1vcmUgbWVzc2FnZXMgYXJlIGF2YWlsYWJsZS4gRml4ZXMgIzM1ODE1Ni4KCjIwMDYtMDktMjggMTc6MDg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2FsbF9jYXBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBJbml0IGZyYW1lcmF0ZSB0byAwLzEgYmVmb3JlIHF1ZXJ5aW5nIGl0IHNvIHRoYXQgd2UgY2FuIGRldGVjdAoJICBkZXZpY2VzIHRoYXQgZG9uJ3Qga25vdyBhYm91dCBhIGZyYW1lcmF0ZS4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW5mby4KCjIwMDYtMDktMjggMTQ6MzE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCjIwMDYtMDktMjcgMTc6NDc6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoKMjAwNi0wOS0yNyAxNzowNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfY2hhbm5lbCksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF92NGwyX3R1bmVyX3NldF9jaGFubmVsX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X2NoYW5uZWwpLCAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfbm9ybSksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X25vcm1zKSwgKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X25vcm0pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9lbXB0eV9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoKMjAwNi0wOS0yNyAxNjoxNDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9zZXRfbm9ybSksCgkgIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9nZXRfaW5wdXQpLAoJICAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICAqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOiAobXlfYnVzX2NhbGxiYWNrKSwgKG1haW4pOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgRml4IGVycm9yIG1lc3NhZ2VzLgoJICBVc2UgbG9ja3Mgd2hlbiBnZXR0aW5nIHRpbWVzdGFtcHMuCgkgIEZpeCBsZWFrcyBpbiB0ZXN0LgoJICBBZGQgbGljZW5zaW5nIGhlYWRlciB0byB0ZXN0cy4KCjIwMDYtMDktMjcgMTU6MTQ6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgoyMDA2LTA5LTI3IDEzOjQxOjM1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBhdWRpb2Z4IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGF1ZGlvZnggcGx1Z2luCgoyMDA2LTA5LTI2IDE0OjE3OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICBGaXggZG9jcy4KCSAgUmVtb3ZlIHNvbWUgbW9yZSBleHRlcm5zLgoKMjAwNi0wOS0yNiAxMzoxODowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfZGV2aWNlX2dldF90eXBlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBjb2Rpbmcgc3R5bGU6CgkgIC0gUmVtb3ZlIGV4dGVybiBmcm9tIGZ1bmN0aW9ucy4KCSAgLSBGaXggaGVhZGVyIGluZGVudGF0aW9uLgoJICBGaXggRmxhZ3MsIGFkZCBkZWZhdWx0cyBmb3IgcHJvcGVydGllcy4KCSAgUmVtb3ZlIHVudXNlZCBlbnVtcy4KCSAgRml4IFRPT19MQVpZIGluIGVycm9yIG1lc3NhZ2VzLgoKMjAwNi0wOS0yNiAxMTowNjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpLAoJICAoZ3N0X3Y0bDJfcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3RfZGVzdHJveSksIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3N0YXJ0KSwgKGdzdF92NGwyX29iamVjdF9zdG9wKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19pbml0KSwgKGdzdF92NGwyc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdjRsMnNyY19maXhhdGUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfY2xvc2UpLCAoZ3N0X3Y0bDJfZ2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfc2V0X25vcm0pLCAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksCgkgIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCksCgkgIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpLCAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKSwgKGdzdF92NGwyc3JjX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwKCSAgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgoyMDA2LTA5LTI1IDEzOjU1OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBTbWFsbCBjbGVhbnVwcy4gZG9uJ3QgdHJ5IHRvIHNldCAic3luYyIgcHJvcGVydHkgd2hlbiBpdCBpcyBub3QgYXZhaWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgU21hbGwgY2xlYW51cHMuCgkgIGRvbid0IHRyeSB0byBzZXQgInN5bmMiIHByb3BlcnR5IHdoZW4gaXQgaXMgbm90IGF2YWlsYWJsZS4KCjIwMDYtMDktMjUgMTE6NDc6NDIgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0LzogSW5jbHVkZSBzdGRsaWIuaCBpbiBzb21lIG1vcmUgcGxhY2VzLCBtYWtlcyB0aGluZ3MgY29tcGlsZSB3aXRoIHVDbGliYyBhbmQgLVdlcnJvciAoIzM1NzU5MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIEluY2x1ZGUgc3RkbGliLmggaW4gc29tZSBtb3JlIHBsYWNlcywgbWFrZXMgdGhpbmdzIGNvbXBpbGUKCSAgd2l0aCB1Q2xpYmMgYW5kIC1XZXJyb3IgKCMzNTc1OTIpLgoKMjAwNi0wOS0yNSAwOToxNToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogb3VyIGNvZGUgc2hvdWxkIGhhbmRsZSB0aGF0IGZpbmUuIFNvbWUgb2YgdGhlIGJ1dHRvbnMgb24gdGhlIGFwcGxlIHRyYWlsZXIgc2l0ZSBhcmUgYXBwYXJlbnRseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIFNldCBtaW5pbXVtIGhlaWdodCB0byA4IChmcm9tIDE2KSwgb3VyIGNvZGUgc2hvdWxkIGhhbmRsZQoJICB0aGF0IGZpbmUuIFNvbWUgb2YgdGhlIGJ1dHRvbnMgb24gdGhlIGFwcGxlIHRyYWlsZXIgc2l0ZQoJICBhcmUgYXBwYXJlbnRseSBvbmx5IDE1IHBpeGVscyBoaWdoIChzZWUgIzM1NzQ3MCkuCgoyMDA2LTA5LTIzIDE1OjMxOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBJbXByb3ZlIGVycm9yIHJlcG9ydGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBJbXByb3ZlIGVycm9yIHJlcG9ydGluZy4KCjIwMDYtMDktMjMgMTU6MzA6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGtsYXNzIHR5cG9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9wbHVnaW5faW5pdCk6CgkgIEZpeCBrbGFzcyB0eXBvcy4KCSAgTWFyayBSQU5LX01BUkdJTkFMLCBkZWNvZGViaW4gY2FuIGhhbmRsZSB0aGUgZGVwYXlsb2FkZXJzIGZpbmUuCgoyMDA2LTA5LTIyIDE3OjUzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBOZWVkICAtYmFzZSBDVlMgZm9yIGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfcHVzaF90cygpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE5lZWQgIC1iYXNlIENWUyBmb3IgZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9wdXNoX3RzKCkuCgoyMDA2LTA5LTIyIDE3OjIyOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCBjaGVjayBmb3IgYSB0YWcgdGhhdCBpcyBuZXZlciB0aGVyZSBhbmQgY2hlY2sgaWYgd2UgcmVhZCB0aGUgY29ycmVjdCB0YWcuIEZpeGVzIHNlZWtpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KToKCSAgRG9uJ3QgY2hlY2sgZm9yIGEgdGFnIHRoYXQgaXMgbmV2ZXIgdGhlcmUgYW5kIGNoZWNrIGlmIHdlIHJlYWQgdGhlCgkgIGNvcnJlY3QgdGFnLiBGaXhlcyBzZWVraW5nIGFnYWluLgoJICBXZSBtdXN0IHBvc3QgYW4gZXJyb3Igd2hlbiBhbGwgcGFkcyBhcmUgdW5saW5rZWQuCgoyMDA2LTA5LTIyIDE1OjE1OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IE1vcmUgZml4YWdlLCBzZXQgZW5kb2Rlci1wYXJhbXMgY29ycmVjdGx5IGluIHRoZSBwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X3Jlc2V0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCksIChnc3RfcnRwX3ZvcmJpc19wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBNb3JlIGZpeGFnZSwgc2V0IGVuZG9kZXItcGFyYW1zIGNvcnJlY3RseSBpbiB0aGUgcGF5bG9hZGVyLgoKMjAwNi0wOS0yMiAxMjoxMjoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogTWFrZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBzdGF0aWMgdG8gYXBwZWFzZSB2YWxncmluZCdzIGxlYWsgZGV0ZWN0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgIE1ha2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgc3RhdGljIHRvIGFwcGVhc2UgdmFsZ3JpbmQncyBsZWFrCgkgIGRldGVjdG9yLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXV0b2RldGVjdF9zdWl0ZSk6CgkgIEFkZCBzaW1wbGUgdGVzdCBmb3IgdGhlIGdob3N0cGFkIGxvY2t1cCBvbiBzaHV0ZG93biBmaXhlZCBpbiBjb3JlCgkgIENWUyAoYXVkaW8gYml0IGRpc2FibGVkIGJlY2F1c2UgaXQgd291bGQgbmVlZCBkb3plbnMgb2YgYWxzYQoJICBzdXBwcmVzc2lvbnMgYW5kIEknbSB0b28gbGF6eSB0byBhZGQgdGhvc2Ugbm93KS4KCjIwMDYtMDktMjIgMTI6MDg6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogU21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsYXNzX2luaXQpOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfYXBwZW5kX2J1ZmZlciksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgIEFkZCBleHBlcmltZW50YWwgdm9yYmlzIHBheSBhbmQgZGVwYXlsb2FkZXJzLgoKMjAwNi0wOS0yMSAxMzozMzoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiBGaXggcHJvZmlsZS1sZXZlbC1pZCBwYXJzaW5nIGFuZCBzZXR1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyk6CgkgIEZpeCBwcm9maWxlLWxldmVsLWlkIHBhcnNpbmcgYW5kIHNldHVwLgoKMjAwNi0wOS0yMSAwOTo1MDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvOiBVcGRhdGUgUkVBRE1FLCBzaW1wbGUgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9SRUFETUU6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgVXBkYXRlIFJFQURNRSwgc2ltcGxlIGNsZWFudXAuCgoyMDA2LTA5LTIxIDA5OjM1OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUgd2l0aCBzb21lIGV4YW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRSB3aXRoIHNvbWUgZXhhbXBsZXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX3ZpZGVvX2NvbmZpZyksIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIE1ha2Ugb3B0aW9uYWwgUlRQIHBhcmFtZXRlcnMgb2YgdHlwZSBTVFJJTkcsIGFzIHJlcXVpcmVkIGJ5IHRoZQoJICBhcHBsaWNhdGlvbi94LXJ0cCBjYXBzIHNwZWNpZmljYXRpb24uCgoyMDA2LTA5LTIwIDE5OjM3OjQ1ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cC86IENvcnJlY3RseSBjYWxjdWxhdGUgc2l6ZSBvZiBlYWNoIEgyNjMrIFJUUCBidWZmZXIgdGFraW5nIGludG8gYWNjb3VudCBNVFUgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgQ29ycmVjdGx5IGNhbGN1bGF0ZSBzaXplIG9mIGVhY2ggSDI2MysgUlRQIGJ1ZmZlciB0YWtpbmcgaW50byBhY2NvdW50IE1UVSBhbmQKCSAgUlRQIGhlYWRlci4KCjIwMDYtMDktMjAgMTY6NDE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBBbmQgbWFrZWZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBBbmQgbWFrZWZpbGUgdG9vLgoKMjAwNi0wOS0yMCAxNjowOTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBwcmVsaW1pbmFyeSBBU0YgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhc2ZkZXBheS5jOiAoZ3N0X3J0cF9hc2ZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYXNmX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hc2ZfZGVwYXlfaW5pdCksCgkgIChkZWNvZGVfYmFzZTY0KSwgKGdzdF9ydHBfYXNmX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX2FzZl9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYXNmX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2FzZl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhc2ZkZXBheS5oOgoJICBBZGRlZCBwcmVsaW1pbmFyeSBBU0YgZGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGRlY29kZV9iYXNlNjQpOgoJICBGaXggYmFzZTY0IGRlY29kaW5nLgoKMjAwNi0wOS0yMCAxNjowNjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZGVkIHNvbWUgdGVzdCBVUkxTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGRlZCBzb21lIHRlc3QgVVJMUy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBXaGVuIGNyZWF0aW5nIHN0cmVhbXMsIGdpdmUgYWNjZXNzIHRvIHRoZSBjb21wbGV0ZSBTRFAuCgkgIEZpeCBzb21lIGxlYWtzLgoJICBDb2xsZWN0IGFuZCBtZXJnZSBnbG9iYWwgc3RyZWFtIHByb3BlcnRpZXMgaW4gc3RyZWFtIGNhcHMuCgkgIFByZWxpbWluYXJ5IHN1cHBvcnQgZm9yIFdNU2VydmVyLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgTWFrZSBjb25uZWN0aW9uIGludGVycnVwdGFibGUuCgkgIFJlZmFjdG9yIHRvIG1ha2UgaXQgcmVjb25uZWN0YWJsZS4KCSAgRG9uJ3QgZmFpbCBvbiBzaG9ydCByZWFkcyB3aGVuIHJlYWRpbmcgZGF0YSBwYWNrZXRzLgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKSwgKHJ0c3BfdXJsX3NldF9wb3J0KSwKCSAgKHJ0c3BfdXJsX2dldF9wb3J0KToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIEFkZCBtZXRob2RzIGZvciBnZXR0aW5nL3NldHRpbmcgdGhlIHBvcnQuCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lc3NhZ2VfZ2V0X2F0dHJpYnV0ZV92YWxfbiksCgkgIChzZHBfbWVzc2FnZV9nZXRfYXR0cmlidXRlX3ZhbCksIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZSksCgkgIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZV92YWxfbiksIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZV92YWwpLAoJICAoc2RwX21lZGlhX2dldF9mb3JtYXQpLCAoc2RwX3BhcnNlX2xpbmUpLAoJICAoc2RwX21lc3NhZ2VfcGFyc2VfYnVmZmVyKToKCSAgRml4IGhlYWRlcnMuCgkgIEFkZCBtZXRob2RzIGZvciBnZXR0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLgoJICBJbmNyZWFzZSBidWZmZXIgc2l6ZSB3aGVuIHBhcnNpbmcuCgkgIEZpeCBwYXJzaW5nIG9mIGE9Zm9vIGZpZWxkcy4KCSAgKiBnc3QvcnRzcC90ZXN0LmM6IChtYWluKToKCSAgVXBkYXRlIHRvIG5ldyBjb25uZWN0aW9uIEFQSS4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfZnJlZSksIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgICogZ3N0L3J0c3Avc2RwLmg6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvcnRzcC5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgRHVhbCBsaWNlbnNlZCB1bmRlciBNSVQgYW5kIExHUEwgbm93LgoKMjAwNi0wOS0xOSAxNzoyNToxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUmVvcmdhbml6ZSBzdHJlYW0gcGFyc2luZyBhbmQgY3JlYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X3B0KSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfZnJlZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGZpbmRfc3RyZWFtX2J5X2NoYW5uZWwpLAoJICAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBSZW9yZ2FuaXplIHN0cmVhbSBwYXJzaW5nIGFuZCBjcmVhdGlvbi4KCSAgRGV0ZWN0IGNvbnRhaW5lciBmb3JtYXRzIGluIGludGVybGVhdmVkIG1vZGUuCgkgIEtlZXAgbW9yZSBzdGF0ZSBhYm91dCB0aGUgc3RyZWFtcy4KCSAgQXNzdW1lIGEgc2VydmVyIGFsc28gc3VwcG9ydHMgUExBWSBpZiBpdCBkb2VzIG5vdCBzYXkuCgkgIEFkZCB1bmljYXN0IGFuZCBpbnRlcmxlYXZlZCBwcm9wZXJ0aWVzIHRvIFRDUCB0cmFuc3BvcnQgcmVxdWVzdHMgdG8gbWFrZQoJICBzb21lIHNlcnZlcnMgaGFwcHkgKFdNU2VydmVyKS4KCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgIEFkZCBzb21lIGRlZmluZXMgZm9yIHRoZSBzdGFuZGFyZCBCYW5kd2lkdGggdHlwZXMuCgoyMDA2LTA5LTE5IDE2OjI0OjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCjIwMDYtMDktMTkgMTM6MDg6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCjIwMDYtMDktMTkgMTA6NTM6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC90ZXN0LmM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvdGVzdC5jOiAobWFpbik6CgkgIEZpeCBidWlsZC4KCjIwMDYtMDktMTkgMTA6MTQ6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWRkIG1zLWdzbSB0byB0aGUgc3JjIHRlbXBsYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWRkIG1zLWdzbSB0byB0aGUgc3JjIHRlbXBsYXRlLgoKMjAwNi0wOS0xOCAxNzozNzo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogU21hbGwgY2xlYW51cHMsIGFkZGVkIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF91cmkpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgU21hbGwgY2xlYW51cHMsIGFkZGVkIGRvY3VtZW50YXRpb24uCgkgIFRyeSB0byBjbGVhbiB1cCB0aGUgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcy4KCSAgUmVmYWN0b3IgcGFyc2luZyB0aGUgc3VwcG9ydGVkIG1ldGhvZHMuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9vcGVuKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocGFyc2VfcmVzcG9uc2Vfc3RhdHVzKSwgKHBhcnNlX3JlcXVlc3RfbGluZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X25ldyksCgkgIChydHNwX3RyYW5zcG9ydF9pbml0KSwgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKSwKCSAgKHJ0c3BfdHJhbnNwb3J0X2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVzc2FnZV9uZXcpLCAoc2RwX21lc3NhZ2VfaW5pdCksCgkgIChzZHBfbWVzc2FnZV9jbGVhbiksIChzZHBfbWVzc2FnZV9mcmVlKSwgKHNkcF9tZWRpYV9uZXcpLAoJICAoc2RwX21lZGlhX2luaXQpLCAoc2RwX21lc3NhZ2VfcGFyc2VfYnVmZmVyKSwgKHNkcF9tZXNzYWdlX2R1bXApOgoJICBVc2UgZ19yZXR1cm5fdmFsIHNvbWUgbW9yZS4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGQgbW9yZSBlbnVtIHZhbHVlcyB0byB0cmFjayBpbml0aWFsIHN0YXRlcy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ld19yZXF1ZXN0KSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QpLCAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfZnJlZSksCgkgIChydHNwX21lc3NhZ2VfYWRkX2hlYWRlciksIChydHNwX21lc3NhZ2VfcmVtb3ZlX2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlciksIChydHNwX21lc3NhZ2Vfc2V0X2JvZHkpLAoJICAocnRzcF9tZXNzYWdlX3Rha2VfYm9keSksIChydHNwX21lc3NhZ2VfZ2V0X2JvZHkpLAoJICAocnRzcF9tZXNzYWdlX3N0ZWFsX2JvZHkpLCAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIFJlb3JkZXIgYXJndW1lbnRzLCBvYmplY3QgZ29lcyBhcyB0aGUgZmlyc3Qgb25lLgoJICBVc2UgZ19yZXR1cm5fdmFsIHNvbWUgbW9yZS4KCjIwMDYtMDktMTggMTU6MzY6MTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCjIwMDYtMDktMTggMTQ6MDA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEV4cG9ydCBzb21ldGltZXMgc291cmNlIHBhZCB3aXRoIGNvcnJlY3QgY2FwcyBvbiB0aGUgdGVtcGxhdGUsIGNyZWF0ZSB0aGUgZ2hvc3RwYWQgZnJvbSB0aGUgdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBFeHBvcnQgc29tZXRpbWVzIHNvdXJjZSBwYWQgd2l0aCBjb3JyZWN0IGNhcHMgb24gdGhlIHRlbXBsYXRlLCBjcmVhdGUKCSAgdGhlIGdob3N0cGFkIGZyb20gdGhlIHRlbXBsYXRlLgoJICBSZW1vdmUgUlRDUCB0ZW1wbGF0ZSBhcyB3ZSBuZXZlciBleHBvc2UgUlRDUC4KCSAgUHJvdGVjdCBhZ2FpbnN0IGludmFsaWQgYm9keSBzaXplLgoJICBBdm9pZCBtZW1jcHkgd2hlbiBjcmVhdGluZyB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgUHJvcGVybHkgcG9zdCBhbiBlcnJvciBhbmQgc2VuZCBFT1Mgd2hlbiB0aGUgbG9vcCBmdW5jdGlvbiBpcyBzaHV0IGRvd24uCgoyMDA2LTA5LTE4IDExOjI5OjEyICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IE1ha2Ugc3VyZSB3ZSBjYW4gbmV2ZXIgc2V0IGFuIGludmFsaWQgbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF91cmkpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgTWFrZSBzdXJlIHdlIGNhbiBuZXZlciBzZXQgYW4gaW52YWxpZCBsb2NhdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX3N0ZWFsX2JvZHkpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIEFkZGVkIF9zdGVhbF9ib2R5IG1ldGhvZCBmb3IgZnV0dXJlIHVzZS4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSksIChydHNwX3VybF9mcmVlKToKCSAgTWFrZSBmcmVlaW5nIG9mIE5VTEwgdXJsIHJldHVybiBpbW1lZGlhdGx5LgoKMjAwNi0wOS0xOCAxMDo0Mjo1MiArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBVc2UgYm9pbGVycGxhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChfZG9faW5pdCksIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBVc2UgYm9pbGVycGxhdGUuCgkgIE1ha2UgcnRzcHNyYyBzdWJjbGFzcyBHc3RCaW4gdG8gbWFrZSBzdGF0ZSBjaGFuZ2VzIGVhc2llci4KCSAgQWRkIFJhbmdlIGhlYWRlciBmaWVsZCBvbiB0aGUgUExBWSByZXF1ZXN0LgoKMjAwNi0wOS0xOCAwODo1OToxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJICBnc3QvcnRzcC86IFNtYWxsIGNsZWFudXBzLiB3aGVuIG11bHRpY2FzdCBpcyBzZWxlY3RlZCBhcyB0aGUgdHJhbnNwb3J0LCBjcmVhdGUgVURQIHNvdXJjZXMgYW5kIGNvbm5lY3QgdG8gdGhlIG11bHRpY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqcyBkb3QgdmVybWVpciBhdCBiYXJjbyBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9zdGF0ZSksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoaW5ldF9hdG9uKToKCSAgU21hbGwgY2xlYW51cHMuCgkgIHdoZW4gbXVsdGljYXN0IGlzIHNlbGVjdGVkIGFzIHRoZSB0cmFuc3BvcnQsIGNyZWF0ZSBVRFAgc291cmNlcyBhbmQKCSAgY29ubmVjdCB0byB0aGUgbXVsdGljYXN0IGdyb3VwLgoJICBNb3ZlIHBhcnNpbmcgYW5kIHNldHRpbmcgb2YgY2FwcyB0byBhIGNvbW1vbiBwbGFjZS4KCSAgRml4ZXMgIzM0OTg5NC4KCjIwMDYtMDktMTYgMjI6MTQ6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzoKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoKMjAwNi0wOS0xNiAyMTo1NzoyOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCjIwMDYtMDktMTYgMTQ6MzA6NTkgKzAwMDAgIFl2ZXMgTGVmZWJ2cmUgPGl2YW5vaGVAYWJhY29tLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IENvcnJlY3RseSBzZXQgdGhlIGR3TGVuZ3RoIGluIHN0cmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWXZlcyBMZWZlYnZyZSA8aXZhbm9oZSBhdCBhYmFjb20gZG90IGNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKToKCSAgQ29ycmVjdGx5IHNldCB0aGUgZHdMZW5ndGggaW4gc3RyaC4KCSAgV2l0aCB0aGlzIHBhdGNoLCB0aGUgZmlsZSBkdXJhdGlvbiBpcyBub3cgZGlzcGxheWVkIGNvcnJlY3RseSBpbiB3aW5kb3cKCSAgbWVkaWEgcGxheWVyIGFuZCB0aGUgQVZJIHBsYXlzIGNvbXBsZXRlbHkuIEZpeGVzICMzNTYxNDcKCjIwMDYtMDktMTUgMTk6MTE6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoKMjAwNi0wOS0xNSAxNzoxMDoyMiArMDAwMCAgRGFycmVuIEtlbm55IDxkYXJyZW4ua2VubnlAc3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOiBTZXQgdGhlIG91dHB1dCB0cmFjayBhcyB0aGUgTUFTVEVSIHNvIHRoYXQgdGhlIGdub21lLXNldHRpbmdzLWRhZW1vbiBrZXliaW5kaW5ncy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhcnJlbiBLZW5ueSA8ZGFycmVuIGRvdCBrZW5ueSBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCk6CgkgIFNldCB0aGUgb3V0cHV0IHRyYWNrIGFzIHRoZSBNQVNURVIgc28gdGhhdCB0aGUgZ25vbWUtc2V0dGluZ3MtZGFlbW9uCgkgIGtleWJpbmRpbmdzIGZvciBjaGFuZ2luZyB0aGUgdm9sdW1lIHVzaW5nIHRoZSBrZXlib2FyZCB3b3Jrcy4KCSAgRml4ZXMgIzM1NjE0Mi4KCjIwMDYtMDktMTUgMTY6MDE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEZpeCBkb2N1bWVudGF0aW9uLCBpdCBpcyBub3QgcG9zc2libGUgdG8gY29udHJvbCB0aGUgZnJhbWVyYXRlIG9mIGpwZWdkZWMgdXNpbmcgZmlsdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgIEZpeCBkb2N1bWVudGF0aW9uLCBpdCBpcyBub3QgcG9zc2libGUgdG8gY29udHJvbCB0aGUgZnJhbWVyYXRlIG9mIGpwZWdkZWMKCSAgdXNpbmcgZmlsdGVyZWQgY2FwcyB5ZXQuIEZpeGVzICMzNTUyMTAuCgkgIFJldHVybiB0aGUgZG93bnN0cmVhbSBHc3RGbG93UmV0dXJuIGluc3RlYWQgb2YgR1NUX0ZMT1dfT0sgc28gdGhhdCB3ZQoJICBzdG9wIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IuCgoyMDA2LTA5LTE0IDExOjA1OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRG9uJ3QgaW50ZXJwcmV0IGEgZmlyc3QgYnVmZmVyIHdpdGggYW4gb2Zmc2V0IG9mIE5PTkUgYXMgJ2Zyb20gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtJywgYnV0IG9ubHkgYSBmaXJzdCBidWZmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW5fcGFyc2VfdGFnKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIERvbid0IGludGVycHJldCBhIGZpcnN0IGJ1ZmZlciB3aXRoIGFuIG9mZnNldCBvZiBOT05FIGFzCgkgICdmcm9tIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbScsIGJ1dCBvbmx5IGEgZmlyc3QgYnVmZmVyCgkgIHRoYXQgaGFzIGEgdmFsaWQgYnVmZmVyIG9mZnNldCB0aGF0J3Mgbm9uLXplcm8gKHNlZSAjMzQ1NDQ5KS4KCjIwMDYtMDktMTQgMTA6Mzg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguKjogV2hlbiB3ZSBtZXJnZS9jb2xsZWN0IG11bHRpcGxlIGluY29taW5nIGJ1ZmZlcnMgZm9yIHR5cGVmaW5kaW5nIHB1cnBvc2VzLCBrZWVwIGFuIGluaXRpYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICBXaGVuIHdlIG1lcmdlL2NvbGxlY3QgbXVsdGlwbGUgaW5jb21pbmcgYnVmZmVycyBmb3IgdHlwZWZpbmRpbmcKCSAgcHVycG9zZXMsIGtlZXAgYW4gaW5pdGlhbCAwIG9mZnNldCBvbiB0aGUgZmlyc3Qgb3V0Z29pbmcgYnVmZmVyCgkgIGFzIHdlbGwgKG90aGVyd2lzZSBpZDNkZW11eCB3b24ndCB3b3JrIHJpZ2h0KS4gRml4ZXMgIzM0NTQ0OS4KCSAgQWxzbyBNYWtlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBidWZmZXIgY2Fwcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAodHlwZWZpbmRfc3VjY2VlZCksCgkgIChjbGVhbnVwX2ljeWRlbXV4KSwgKHB1c2hfZGF0YSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChpY3lkZW11eF9zdWl0ZSk6CgkgIFNtYWxsIHRlc3QgY2FzZSBmb3IgdGhlIGFib3ZlLgoKMjAwNi0wOS0xMyAxMzoyNjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNb3JlIGNvZGUgcmV1c2UgYW5kIGJldHRlciBsb2dnaW5nIGluIF9wZWVrX2NodW5rKCkuIFJlaW50cm9kdWNlIGNoZWNrIGZvciBjaHVuayBzaXplcyBiZWZvcmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGVla19jaHVuayksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N5bmMpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBNb3JlIGNvZGUgcmV1c2UgYW5kIGJldHRlciBsb2dnaW5nIGluIF9wZWVrX2NodW5rKCkuIFJlaW50cm9kdWNlIGNoZWNrCgkgIGZvciBjaHVuayBzaXplcyBiZWZvcmUgcmVhZGluZyB0aGVtIChhdm9pZCBvb20pLiBCZXR0ZXIgaGFuZGxpbmcgZm9yCgkgIGludmFsaWQgY2h1bmtzaXplcyB3aGVuIHN0cmVhbWluZy4KCjIwMDYtMDktMTIgMjA6MTg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zdGFydCksIChnc3Rfc3BlY3RydW1fc3RvcCksIChnc3Rfc3BlY3RydW1fZXZlbnQpOgoJICBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUKCSAgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZCBFT1MuCgoyMDA2LTA5LTExIDIwOjM4OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogRml4IHR5cGUgbWl4dXAgaW4gbGV2ZWwtPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgRml4IHR5cGUgbWl4dXAgaW4gbGV2ZWwtPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgUmVuw6kgU3RhZGxlcgoKMjAwNi0wOS0xMSAxODoyMzo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIFJlbsOpIFN0YWRsZXIKCjIwMDYtMDktMTEgMTg6MDI6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiBVc2UgbW9yZSBkZWZpbmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtYWluKToKCSAgVXNlIG1vcmUgZGVmaW5lcwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBBcHBseSBzb21lIG9mIHRoZSBzcGVjdHJ1bSBjbGVhbnVwIGNoYW5nZXMgc3VnZ2VzdGVkIGluICMzNDgwODUuCgoyMDA2LTA5LTA4IDE2OjQ3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBEb2N1bWVudCBzbG9wcHkgaGFuZGxpbmcgb2Ygc3Vic2FtcGxlZCBjaHJvbWEgcGxhbmVzIGlmCgkgIGxlZnQvdG9wIGNyb3BwaW5nIGlzIGFuIG9kZCBudW1iZXIuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksIChjaGVja18xeDFfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF9zdWl0ZSksIChtYWluKToKCSAgQWRkIGFub3RoZXIgdW5pdCB0ZXN0IHRoYXQgY3JvcHMgdGhlIGlucHV0IHRvIDF4MSAoYW5kIGNoZWNrcwoJICB0aGF0IHRoYXQgcGl4ZWwgaGFzIHRoZSBleHBlY3RlZCB2YWx1ZXMgaW4gYSBudW1iZXIgb2YgZm9ybWF0cykuCgoyMDA2LTA5LTA4IDExOjA0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC86IFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKToKCSAgU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwKCSAgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QgZm9yIHRoZSBtZW1jcHkoKXMKCSAgd2UgZG8sIHNvIHJlbW92ZSBsaWJvaWwgdXNhZ2UgdW50aWwgdGhlcmUgaXMgY2xlYXIgZXZpZGVuY2UKCSAgaXQgYWN0dWFsbHkgbWFrZXMgYSBwb3NpdGl2ZSBkaWZmZXJlbmNlIHNvbWV3aGVyZS4KCjIwMDYtMDktMDYgMDk6MDU6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUmV2ZXJ0IG9uZSBjaGFuZ2UgdG8gZml4IHN0cmVhbWluZyBhdmkgKGFkYXB0ZXIgc2l6ZSAhPSBkYXRhIHNpemUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgUmV2ZXJ0IG9uZSBjaGFuZ2UgdG8gZml4IHN0cmVhbWluZyBhdmkgKGFkYXB0ZXIgc2l6ZSAhPSBkYXRhIHNpemUpLgoKMjAwNi0wOS0wNCAxNjoyMToxNyArMDAwMCAgRnLDqWTDqXJpYyBSaXNzIDxmcmVkZXJpYy5yaXNzQGdtYWlsLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBzdXBwb3J0IGZvciBWT0JTVUIgc3VidGl0bGUgdHJhY2tzIGFuZCB6bGliLWNvbXByZXNzZWQgdHJhY2tzLiBNYWtlIHN1cmUgd2Ugc3RhcnQgb24gYSBrZXlmcmFtZSBhZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyw6lkw6lyaWMgUmlzcyAgPGZyZWRlcmljLnJpc3MgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV90cmFja19mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIFZPQlNVQiBzdWJ0aXRsZSB0cmFja3MgYW5kIHpsaWItY29tcHJlc3NlZAoJICB0cmFja3MuIE1ha2Ugc3VyZSB3ZSBzdGFydCBvbiBhIGtleWZyYW1lIGFmdGVyIGEgc2Vlay4gKCMzNDMzNDgpCgoyMDA2LTA5LTA0IDE1OjA2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogbm90IHBlcmZlY3QgeWV0IHRob3VnaCwgbmVlZHMgc29tZSB0d2Vha2luZyBpbiBmbGFjZGVjOyBhbHNvLCBzZWVraW5nIGNvdWxkIGJlIGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9oZHJfYnVmKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2ZsYWNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZCBiYXNpYyBGTEFDIHN1cHBvcnQgKCMzMTE1ODYpLCBub3QgcGVyZmVjdCB5ZXQgdGhvdWdoLCBuZWVkcyBzb21lCgkgIHR3ZWFraW5nIGluIGZsYWNkZWM7IGFsc28sIHNlZWtpbmcgY291bGQgYmUgYmV0dGVyLgoJICBEbyBiZXR0ZXIgYm91bmRzIGNoZWNraW5nIHdoZW4gZGVzZXJpYWxpc2luZyB2b3JiaXMgc3RyZWFtIGhlYWRlcnMKCSAgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciBvbiBiYWQgaW5wdXQuCgoyMDA2LTA5LTA0IDA5OjM0OjI1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogU2Vla2luZyBiYWNrIGluIGEgZmlsZSBjb250YWluaW5nIGEgQ01NTCBzdHJlYW0gZXJyb3JzIG91dCBpZiB0aGUgc2VlayBnb2VzIGJhY2sgdXAgdG8gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6IChnc3RfY21tbF9kZWNfY2hhaW4pOgoJICBTZWVraW5nIGJhY2sgaW4gYSBmaWxlIGNvbnRhaW5pbmcgYSBDTU1MIHN0cmVhbSBlcnJvcnMgb3V0IGlmIHRoZSBzZWVrCgkgIGdvZXMgYmFjayB1cCB0byB0aGUgQ01NTCBoZWFkZXJzLiBUaGlzIGlzIGJlY2F1c2UgYWZ0ZXIgdGhlIHNlZWsgdGhlIHhtbAoJICBwcm9jZXNzaW5nIGluc3RydWN0aW9uIDw/eG1sIC4uLj8+IGlzIHN1Ym1pdHRlZCB0byB0aGUgeG1sIHBhcnNlciBhZ2FpbiwKCSAgd2hpY2ggcmVzdWx0cyBpbiBhbiBlcnJvci4gVGhlIGF0dGFjaGVkIHBhdGNoIGZpeGVzIHRoZSBwcm9ibGVtLgoJICBGaXhlcyAjMzUzOTA4LgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgRml4IGF1dGhvcnMgbmFtZS4KCjIwMDYtMDktMDMgMTA6NDY6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4gYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKGJ1ZmZlcl9wcm9iZV9jYiksICh0ZXN0X2NhcHNfdHJhbnNmb3JtKSwgKHRlc3RfcGFzc3Rocm91Z2gpLAoJICAobm90Z3N0X3ZhbHVlX2xpc3RfZ2V0X250aF9pbnQpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4KCSAgYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQgdmFsdWVzLCByYW5nZXMgYW5kIGxpc3RzLgoKMjAwNi0wOS0wMiAxODo0OTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIE1vdmUgYm9pbGVycGxhdGUgc3R1ZmYgYW5kIHN0cnVjdHVyZXMgaW50byBhIGhlYWRlciBmaWxlLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6ICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLAoJICAodGVzdF91bml0X3NpemVzKSwgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksICh0ZXN0X2Nyb3BwaW5nKSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB2aWRlb2Nyb3AuCgoyMDA2LTA5LTAyIDE1OjMwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZSBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wbGFuYXIpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb24pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbl92YWx1ZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZQoJICBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoKMjAwNi0wOS0wMiAxNDo0NTowNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgoyMDA2LTA5LTAyIDE0OjI4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgoyMDA2LTA4LTMwIDE4OjAxOjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDEzOjMwOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCjIwMDYtMDgtMzAgMTE6MzY6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTE6Mjc6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIFJlbW92aW5nIG15c3RpYyBtb2RpZmljYXRpb25zIGZvciBnb29kLgoKMjAwNi0wOC0zMCAxMTowNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkgdGhlIGxhc3QgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5CgkgIHRoZSBsYXN0IGNvbW1pdAoKMjAwNi0wOC0zMCAxMDo0Mzo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgoyMDA2LTA4LTI5IDIwOjU5OjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgoyMDA2LTA4LTI4IDE3OjQ3OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoKMjAwNi0wOC0yOCAxNjo1OToxMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmMgKGdzdF9kdjEzOTRzcmNfZnJvbV9yYXcxMzk0aGFuZGxlKTogTmV3IGhlbHBlciBmdW5jdGlvbiB0byBsZXNzZW4gdGhlIGlmZGVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMjggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmMgKGdzdF9kdjEzOTRzcmNfZnJvbV9yYXcxMzk0aGFuZGxlKToKCSAgTmV3IGhlbHBlciBmdW5jdGlvbiB0byBsZXNzZW4gdGhlIGlmZGVmcy4KCSAgKEdTVF9JTkZPX09CSkVDVCk6CgkgIChnc3RfZHYxMzk0c3JjX2lzb19yZWNlaXZlKTogVXNlIGl0LgoJICAoZ3N0X2R2MTM5NHNyY19jcmVhdGUpOiBBbHNvIHVzZSB0aGUgY29udHJvbCBzb2NrZXRzIGluIGllYzYxODgzCgkgIG1vZGUuCgkgIChnc3RfZHYxMzk0c3JjX3N0YXJ0LCBnc3RfZHYxMzk0c3JjX3N0b3ApOiBBbHdheXMgdXNlIGEgc2VwYXJhdGUKCSAgaGFuZGxlIGZvciBBVkMgb3BlcmF0aW9uczsgZml4ZXMgIzM0ODIzMy4KCjIwMDYtMDgtMjggMTQ6NTk6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDA2LTA4LTI3IDE3OjE0OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZW5hbWUgYWdhaW4gKGF1ZGlvZnhnb29kIC0+IGF1ZGlvZngpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4Z29vZC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgUmVuYW1lIGFnYWluIChhdWRpb2Z4Z29vZCAtPiBhdWRpb2Z4KS4KCjIwMDYtMDgtMjcgMTM6MTI6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW5pdGlhbHplIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBJbml0aWFsemUgdmFyaWFibGVzLgoKMjAwNi0wOC0yNSAxNjoyMTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogTW9yZSBhdHRlbXB0cyB0byB0dXJuIHRoaXMgaW50byByZWFkYWJsZSBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbml0KSwgKGdzdF9hdmlfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X2luZGV4X2xhc3QpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X2xvb3ApLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbiksIChnc3RfYXZpX2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgTW9yZSBhdHRlbXB0cyB0byB0dXJuIHRoaXMgaW50byByZWFkYWJsZSBjb2RlLgoJICBEb24ndCBsZWFrIGFkYXB0ZXJzLgoJICBDYWxjdWxhdGUgZHVyYXRpb24gYWNjb3JkaW5nIHRvIGluZGV4IG1vcmUgZWZmaWNpZW50bHkuCgkgIERvbid0IHRyeSB0byBhY3QgbGlrZSB3ZSBkcml2ZSB0aGUgcGlwZWxpbmUgaW4gY2hhaW4gbW9kZS4KCjIwMDYtMDgtMjUgMDk6NTM6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX2Nsb2NrX3RpbWVfZnJvbV9ucHQpOgoJICBGaXggYnVpbGQuCgoyMDA2LTA4LTI1IDA5OjQyOjQzICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzogRG8gc29tZSBleHRyYSBzYW5pdHkgY2hlY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6IChnc3RfYW5ub2RleF9ncmFudWxlX3RvX3RpbWUpOgoJICBEbyBzb21lIGV4dHJhIHNhbml0eSBjaGVja3MuCgkgIEZpeGVzICMzNTAzNDAuCgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfY21tbF9lbmNfcGFyc2VfdGFnX2hlYWQpLCAoZ3N0X2NtbWxfZW5jX3BhcnNlX3RhZ19jbGlwKSwKCSAgKGdzdF9jbW1sX2VuY19wdXNoX2NsaXApLCAoZ3N0X2NtbWxfZW5jX3B1c2gpOgoJICBDaGVjayBpZiBjbGlwLT5zdGFydF90aW1lIGlzIHZhbGlkIGJlZm9yZSBhZGRpbmcgdGhlIGNsaXAgdG8gdGhlCgkgIHRyYWNrIGxpc3QuCgkgIFJlc2V0IGVuYy0+cHJlYW1ibGUgZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkuCgkgIERvbid0IHVzZSBHU1RfRkxPV19VTkVYUEVDVEVEIGZvciB3cm9uZyB1c2FnZSBvZiB0aGUgZWxlbWVudCwgaXQgaXMKCSAgb25seSB1c2VkIGZvciBFT1MuCgkgIE9ubHkgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIHdlIHdlcmUgdGhlIG9uZSB0aGF0IGNyZWF0ZWQgdGhlIGZhdGFsCgkgIEdzdEZsb3dSZXR1cm4gdmFsdWUuCgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF9jbG9ja190aW1lX2Zyb21fbnB0KSwKCSAgKGdzdF9jbW1sX2Nsb2NrX3RpbWVfdG9fZ3JhbnVsZSksIChnc3RfY21tbF90cmFja19saXN0X2hhc19jbGlwKToKCSAgUGFyc2UgdGhlIHNlY29uZHMgZmllbGQgb2YgdGhlIG5wdC1zZWMgdGltZSBmb3JtYXQgdXNpbmcgJWxsdSByYXRoZXIgdGhhbgoJICAlZCBhbmQgY2hlY2sgdGhhdCB0aGUgdmFsdWUgc2NhbGVkIGJ5IEdTVF9TRUNPTkQgZG9lc24ndCBvdmVyZmxvdy4KCSAgVXNlIGd1aW50NjQocykgdG8gcmVwcmVzZW50IHRoZSBrZXlpbmRleCBhbmQga2V5b2Zmc2V0IGZpZWxkcyBvZiBhIGdyYW51bGVwb3MuCgkgIExvb2t1cCBhIGNsaXAncyB0cmFjayB3aXRoIGNsaXAtPnRyYWNrIHJhdGhlciB0aGFuIGNsaXAtPmlkIHdoaWNoCgkgIG1ha2VzIG5vIHNlbnNlLgoJICBJZGVudGlmeSBhIGNsaXAgYnkgaXRzIHRyYWNrIGFuZCBzdGFydCB0aW1lIGFuZCBub3QgaXRzIHhtbCBpZC4KCSAgZG8gc29tZSBtb3JlIGlucHV0IGNoZWNraW5nIGFuZCBtYWtlIHN1cmUgd2UgZG9uJ3QgZG8gdW5kZWZpbmVkIHNoaWZ0cy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpLCAoY2hlY2tfb3V0cHV0X2J1ZmZlcl9pc19lcXVhbCksIChwdXNoX2RhdGEpLAoJICAoY21tbF90YWdfbWVzc2FnZV9wb3ApLCAoY2hlY2tfaGVhZGVycyksIChwdXNoX2NsaXBfZnVsbCksCgkgIChwdXNoX2NsaXApLCAocHVzaF9lbXB0eV9jbGlwKSwgKGNoZWNrX291dHB1dF9jbGlwKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGNtbWxkZWNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyksIChjaGVja19vdXRwdXRfYnVmZmVyX2lzX2VxdWFsKSwgKHB1c2hfZGF0YSksCgkgIChjaGVja19oZWFkZXJzKSwgKHB1c2hfY2xpcCksIChjaGVja19jbGlwX3RpbWVzKSwgKGNoZWNrX2NsaXApLAoJICAoY2hlY2tfZW1wdHlfY2xpcCksIChHU1RfU1RBUlRfVEVTVCksIChjbW1sZW5jX3N1aXRlKToKCSAgQWRkZWQgc29tZSBtb3JlIGNoZWNrcy4KCjIwMDYtMDgtMjQgMTk6MDA6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2UgYWxzbyB0aGUgcGFuLXByb3BlcnR5IGZsb2F0IChzYXZlcyBzY2FsaW5nIGFuZCB5aWVsZHMgYmV0dGVyIHJlc29sdXRpb24pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdCk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2UgYWxzbyB0aGUgcGFuLXByb3BlcnR5IGZsb2F0IChzYXZlcyBzY2FsaW5nIGFuZCB5aWVsZHMgYmV0dGVyCgkgIHJlc29sdXRpb24pCgoyMDA2LTA4LTI0IDE4OjIzOjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiBDaGFuZ2VMb2cgc3VyZ2VyeSB0byBhZGQgY3ltYXgncyByZWFsIG5hbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdCk6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IHRvIGFkZCBjeW1heCdzIHJlYWwgbmFtZQoKMjAwNi0wOC0yNCAxODoxNzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuKjogQWRkZWQgZmxvYXQgc3VwcG9ydCAodGhhbmtzIGN5bWF4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgQWRkZWQgZmxvYXQgc3VwcG9ydCAodGhhbmtzIGN5bWF4KQoKMjAwNi0wOC0yNCAxNDoxNjo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogRml4IGRvY3MgJiBkZWJ1ZyBjYXRlZ29yeS4gQWRkIEZpeG1lIGZvciB2b2x1bWUgcGFuIGxldmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzoKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzKToKCSAgRml4IGRvY3MgJiBkZWJ1ZyBjYXRlZ29yeS4gQWRkIEZpeG1lIGZvciB2b2x1bWUgcGFuIGxldmVscy4KCjIwMDYtMDgtMjQgMTM6NTE6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogdW5icmVhayBBVkkgaW5kZXggaGFuZGxpbmcsIHNvbWUgbW9yZSBkZWJ1ZywgcmVtb3ZlIGFuIG9ic29sZXRlIGFkYXB0ZXJfZmx1c2ggdGhhdCBjYXVzZWQgc3RyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICB1bmJyZWFrIEFWSSBpbmRleCBoYW5kbGluZywgc29tZSBtb3JlIGRlYnVnLCByZW1vdmUgYW4gb2Jzb2xldGUKCSAgYWRhcHRlcl9mbHVzaCB0aGF0IGNhdXNlZCBzdHJlYW1pbmcgdG8gd2FuZGVyIG9mZiBpbiB0aGUgd2lsZAoKMjAwNi0wOC0yNCAxMToyMTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogU29tZSBtb3JlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9vZG1sKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgU29tZSBtb3JlIGNsZWFudXBzLgoJICBGaXggdG90YWxGcmFtZXMgcGFyc2luZyBpbiBPRE1MLgoJICBEaXNhYmxlIHVzZSBvZiBpbmRleCBmb3IgbGVuZ3RoIGNhbGN1bGF0aW9uIGluIGNhc2Ugb2YgT0RNTCBhcyB0aGlzIGlzCgkgIGJyb2tlbiBub3cuCgoyMDA2LTA4LTI0IDEwOjAzOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBVc2UgbGliZ3N0dGFnIGhlbHBlciBmdW5jdGlvbiBoZXJlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3VwZGF0ZV9tZXRhZGF0YSk6CgkgIFVzZSBsaWJnc3R0YWcgaGVscGVyIGZ1bmN0aW9uIGhlcmUgdG9vLgoKMjAwNi0wOC0yNCAwOToyNDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRm9yd2FyZCBxdWVyaWVzIGluIG90aGVyIGZvcm1hdHMgKEJZVEUgZm9ybWF0IGluIHBhcnRpY3VsYXIpCgkgIHVwc3RyZWFtOyBhZGQgU2ViYXN0aWFuIHRvIGF1dGhvcnMuCgoyMDA2LTA4LTI0IDAwOjQwOjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgoyMDA2LTA4LTIzIDE1OjMzOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IEluaXRpYWwgc3RyZWFtaW5nIHN1cHBvcnQgZm9yIGF2aWRlbXV4IChmaXhlcyAjMzM2NDY1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbml0KSwgKGdzdF9hdmlfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwgKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmtfaW5mbyksIChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmspLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdF9wdXNoKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXRfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChzb3J0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAocHVzaF90YWdfbGlzdHMpLCAoZ3N0X2F2aV9kZW11eF9sb29wKSwgKGdzdF9hdmlfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2F2aV9kZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9hdmlfZGVtdXhfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBJbml0aWFsIHN0cmVhbWluZyBzdXBwb3J0IGZvciBhdmlkZW11eCAoZml4ZXMgIzMzNjQ2NSkKCjIwMDYtMDgtMjMgMTA6MzA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkIGFzIHdlbGwgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkCgkgIGFzIHdlbGwgKCMzNTI0NzYpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgUmVzdG9yZSBvcmlnaW5hbCBhdXRob3IgKG9uIFNlYmFzdGlhbidzIHJlcXVlc3QpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgKHNvIGZhciBlbXB0eSkgc3VwcHJlc3Npb24gZmlsZSBmb3IgLWJhZC4gUmVtb3ZlCgkgIHdhdnBhY2tlbmMgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBub3cgdGhhdCB0aGUgbGVhawoJICBpcyBmaXhlZC4KCjIwMDYtMDgtMjMgMDk6MjI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tkZWNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2VuY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpLAoJICAoc2V0dXBfd2F2cGFja3BhcnNlKSwgKGNsZWFudXBfd2F2cGFja3BhcnNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHdhdnBhY2twYXJzZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMyAwODo1Mjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMiAyMDozOToyNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCjIwMDYtMDgtMjIgMTc6MjA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDogVGhlcmUgaXMgbm8gdGFnbGlibXV4IGVsZW1lbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBUaGVyZSBpcyBubyB0YWdsaWJtdXggZWxlbWVudCAuLi4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFVzZSAnJScgcmF0aGVyIHRoYW4gJyZwZXJjOycgaW4gZ3RrLWRvYyBibHVyYiwgZG9jcyBidWlsZAoJICB3YXMgY29tcGxhaW5pbmcgYWJvdXQgdW5rbm93biBlbnRpdHkgaGVyZS4KCjIwMDYtMDgtMjIgMTc6MDI6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IE1hcmsgRElTQ09OVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgTWFyayBESVNDT05ULgoJICBSZW1vdmUgb2xkIHVudXNlZCBmaWVsZHMgYW5kIHJlb3JkZXIgdGhlIHN0cnVjdCBhIGJpdC4KCjIwMDYtMDgtMjIgMTY6NDU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTbWFsbCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3Npbmtfb3BlbiksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSksIChnc3Rfb3NzX3NpbmtfdW5wcmVwYXJlKToKCSAgU21hbGwgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoKMjAwNi0wOC0yMiAxNjo0MjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogUHJlY2FsYyBtb3N0IG9mIHRoZSBkdXJhdGlvbiBxdWVyeSBmb3IgZWFjaCBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfYWdncmVnYXRlZF9mbG93KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfbG9vcCksCgkgIChnc3RfYXZpX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBQcmVjYWxjIG1vc3Qgb2YgdGhlIGR1cmF0aW9uIHF1ZXJ5IGZvciBlYWNoIHN0cmVhbS4KCSAgTWFrZSBzZWVraW5nIG1vcmUgY29ycmVjdC4KCSAgVXNlIEdzdFNlZ21lbnQgdG8gdHJhY2sgcG9zaXRpb24gYW5kIGR1cmF0aW9uLgoJICBDb2RlIGNsZWFudXBzIGFuZCBsZWFrIGZpeGVzLgoJICBDYWxjdWxhdGUgY29ycmVjdCB0b3RhbCBkdXJhdGlvbiBiYXNlZCBvbiBpbmRleCBsZW5ndGguCgoyMDA2LTA4LTIyIDEzOjUzOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBJZiBzdHJpbmdzIGluIHRleHQgZmllbGRzIGFyZSBtYXJrZWQgSVNPODg1OS0xLCBidXQgY29udGFpbiB2YWxpZCBVVEYtOCBhbHJlYWR5LCB0aGVuIGhhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCk6CgkgIElmIHN0cmluZ3MgaW4gdGV4dCBmaWVsZHMgYXJlIG1hcmtlZCBJU084ODU5LTEsIGJ1dCBjb250YWluCgkgIHZhbGlkIFVURi04IGFscmVhZHksIHRoZW4gaGFuZGxlIHRoZW0gYXMgVVRGLTggYW5kIGlnbm9yZQoJICB0aGUgZW5jb2RpbmcuICgjMzUxNzk0KQoKMjAwNi0wOC0yMiAxMjoyODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogTWFrZSBmbGFjLWluLW9nZyB3b3JrICgjMzUyMTAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NjYW5fZ290X2ZyYW1lKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSksIChnc3RfZmxhY19kZWNfbG9vcCksCgkgIChnc3RfZmxhY19kZWNfc2lua19ldmVudCksIChnc3RfZmxhY19kZWNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBNYWtlIGZsYWMtaW4tb2dnIHdvcmsgKCMzNTIxMDApLgoKMjAwNi0wOC0yMiAxMjoxMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IERvbid0IHVucmVmIGJ1ZmZlcnMgb2Ygd2hpY2ggd2UndmUgYWxyZWFkeSBnaXZlbiBhd2F5IG93bmVyc2hpcCB0byB0aGUgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfY2hhaW4pOgoJICBEb24ndCB1bnJlZiBidWZmZXJzIG9mIHdoaWNoIHdlJ3ZlIGFscmVhZHkgZ2l2ZW4gYXdheQoJICBvd25lcnNoaXAgdG8gdGhlIGFkYXB0ZXIuCgoyMDA2LTA4LTIyIDEwOjMyOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IE1ha2UgbWV0YWRhdGEgZXh0cmFjdGlvbiBhY3R1YWxseSB3b3JrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9jb21tZW50cyk6CgkgIE1ha2UgbWV0YWRhdGEgZXh0cmFjdGlvbiBhY3R1YWxseSB3b3JrLgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlZXhlbmNfaW5pdCksIChnc3Rfc3BlZXhlbmNfY3JlYXRlX21ldGFkYXRhX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICBGaXggbWV0YWRhdGEgd3JpdGluZzogcmVwbGFjZSBvbGQgY29kZSB3aGljaCB3cm90ZSBjb21wbGV0ZWx5CgkgIGJyb2tlbiB0YWdzIHdpdGggbGliZ3N0dGFnLWJhc2VkIGNvZGUuIFBsdXMgbWlzY2VsbGFuZW91cwoJICBjb2RlIGNsZWFudXBzICh1c2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgZXRjLikgYW5kIGEgYnVuY2gKCSAgb2YgbGVhayBmaXhlcy4KCjIwMDYtMDgtMjEgMTk6MzQ6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb3Bhbm9yYW1hLzogZGllISBkaWUhIGRpZSEgeW91IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gdGhlcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvYXVkaW9wYW5vcmFtYS5jOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL2F1ZGlvcGFub3JhbWEuaDoKCSAgZGllISBkaWUhIGRpZSEgeW91IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gdGhlcmUKCjIwMDYtMDgtMjEgMTY6MjQ6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIEZpeCBzb21lIHBhbGV0dGVkIGRhdGEgZm9ybWF0cyBhZ2Fpbi4KCSAgRml4IHVsYXcvYWxhdyBpbiBxdC4KCSAgU2V0IGNvcnJlY3QgY2FwcyBmb3IgcmF3IFJHQi4KCSAgQWRkIHN1cHBvcnQgZm9yIHl1djIsIHdoaWNoIGlzIGxpa2UgWXV2Mi4KCSAgQWRkIHN1cHBvcnQgZm9yIHJhdyBhdWRpbyB3aXRoIHRoZSBOT05FIGZvdXJjYywgd2hpY2ggaXMgbGlrZSByYXcuCgoyMDA2LTA4LTIxIDEzOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svOiBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0byByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8KCSAgcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdGggJ0dzdCcgdG8gbWFrZSBpdCBjbGVhcmVyCgkgIHdoZXJlIHRoZXkgY29tZSBmcm9tLgoKMjAwNi0wOC0yMSAxMzoyNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2Ni4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpOgoJICBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkKCSAgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Myk7IHVzZSBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZgoJICBHU1RfRUxFTUVOVF9XQVJOSU5HOyBzaW1wbGlmeSBwdXNoX2Jsb2NrKCk7IGRvIHNvbWUgc21hbGwKCSAgY2xlYW4tdXBzIGhlcmUgYW5kIHRoZXJlOyBmaXggbWVtbGVhayAoIzM1MTY2MykuCgoyMDA2LTA4LTIxIDEzOjEyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBpbiBhdWRpb3Bhbm9yYW1hIHRlc3Qgc3VpdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBpbiBhdWRpb3Bhbm9yYW1hIHRlc3Qgc3VpdGUuCgoyMDA2LTA4LTIxIDExOjM0OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogaWdub3JlIGJ1aWx0IGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgaWdub3JlIGJ1aWx0IGZpbGUKCjIwMDYtMDgtMjEgMTA6NDY6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBGaXggdGhlIGJ1aWxkIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBGaXggdGhlIGJ1aWxkIGFnYWluLgoKMjAwNi0wOC0yMSAwOToyMToyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kLzogcmVzdWJtaXQgd2l0aCB0aGUgZGVzaXJlZCBuYW1lICphZ2FpbioKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvZnhnb29kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fY2FwcyksIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgcmVzdWJtaXQgd2l0aCB0aGUgZGVzaXJlZCBuYW1lICphZ2FpbioKCjIwMDYtMDgtMjAgMTM6MDk6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2dldF91bml0X3NpemUpOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKToKCSAgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgoyMDA2LTA4LTIwIDEzOjA2OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBjbGVhbnVwIC11bnVzZWQudHh0IHRvIG1ha2UgaXQgdXNlZnVsLCBhZGQgcHJldmlvdXNseSBtaXNzaW5nIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhnb29kLnhtbDoKCSAgY2xlYW51cCAtdW51c2VkLnR4dCB0byBtYWtlIGl0IHVzZWZ1bCwgYWRkIHByZXZpb3VzbHkgbWlzc2luZyBkb2NzCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgICogZXh0L2VzZC9nc3Rlc2QuYzogKHBsdWdpbl9pbml0KToKCSAgcmVmbG93IHRvIGdldCByaWQgb2YgdHdvIGV4dGVybmFsIHN5bWJvbHMKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICByZS1hZGQKCjIwMDYtMDgtMjAgMTI6MDk6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jCgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fY2FwcyksIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChzZXR1cF9wYW5vcmFtYV9tKSwKCSAgKHNldHVwX3Bhbm9yYW1hX3MpLCAoY2xlYW51cF9wYW5vcmFtYSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChwYW5vcmFtYV9zdWl0ZSksIChtYWluKToKCSAgQWRkIGF1ZGlvZnhnb29kIHBsdWdpbiB3aXRoIGF1ZGlvcGFub3JhbWEgZWxlbWVudAoKMjAwNi0wOC0xOCAyMTozOTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkIHplcm9lczsgc2tpcCBnYXJiYWdlIGJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmRfbWFya2VyKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpOgoJICBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZAoJICB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZXR3ZWVuIGZyYW1lcyBpbiBwdWxsIG1vZGUgYXMgd2VsbCBpZgoJICBuZWNlc3Nhcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKTsgcHVzaCBFT1MgYW5kCgkgIE5FV1NFR01FTlQgZXZlbnQgaW4gcmlnaHQgZGlyZWN0aW9uICgjMzUxNjU5KS4KCjIwMDYtMDgtMTggMTc6MDA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IE1vcmUgT3NzIGRvY3MgZml4YWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIE1vcmUgT3NzIGRvY3MgZml4YWdlLgoKMjAwNi0wOC0xOCAxNjo1MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBleHBlcmltZW50YWwgU1ZRMyBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3Yzdl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3N2M3ZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX3N2M3ZfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkgIEFkZGVkIGV4cGVyaW1lbnRhbCBTVlEzIGRlcGF5bG9hZGVyLgoKMjAwNi0wOC0xOCAxMzoyNTowNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4Lio6IFdoZW4gaGFuZGxpbmcgc2VlayByZXF1ZXN0cywgZG9uJ3Qgc2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBmcm9tIHRoZSBjYWxsaW5nIHRocmVhZC4gSW5zdGVhZCBzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1bGxfc2VlayksCgkgIChnc3RfZHZkZW11eF9sb29wKSwgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgV2hlbiBoYW5kbGluZyBzZWVrIHJlcXVlc3RzLCBkb24ndCBzZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlCgkgIGNhbGxpbmcgdGhyZWFkLiBJbnN0ZWFkIHNhdmUgaXQgc28gaXQgY2FuIGJlIHNlbnQgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZC4KCjIwMDYtMDgtMTcgMTU6NTE6NTAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQWNjZXB0IGxlYWRpbmcgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIGJvdW5kYXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChtdWx0aXBhcnRfcGFyc2VfaGVhZGVyKToKCSAgQWNjZXB0IGxlYWRpbmcgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIGJvdW5kYXJ5CgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIGRlbXV4ZXIgYWxsb3cgc29tZSB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgYWN0dWFsCgkgIGJvdW5kYXJ5LiBUaGlzIG1ha2VzIHRoZSBkZW11eGVyIHdvcmsgd2l0aCB0aGUgYGBvbGQnJyBnc3RyZWFtZXIKCSAgbXVsdGlwYXJ0bXV4ZXIgYWdhaW4gKHdoaWNoIHBsYWNlZCBhbiBleHRyYSBcbiBiZWZvcmUgdGhlIHN0YXJ0CgkgIG9mIHRoZSBzdHJlYW0pIEZpeGVzICMzNDkwNjguCgoyMDA2LTA4LTE3IDE1OjQ3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogRXJyb3Igb3V0IG9uIG5vbi1pbXBsZW1lbnRlZCBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgRXJyb3Igb3V0IG9uIG5vbi1pbXBsZW1lbnRlZCBzdHVmZi4KCjIwMDYtMDgtMTYgMTY6NTA6MDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHkgV2luZ28gPHdpbmdvIGF0IHBvYm94IGRvdCBjb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoKMjAwNi0wOC0xNiAxNTozMzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlIG5hbWVzIGFzIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOgoJICBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZQoJICBuYW1lcyBhcyBwb3NzaWJsZS4KCjIwMDYtMDgtMTYgMTQ6NDc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZSBwZW4gYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyk6CgkgIEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlCgkgIHBlbiBhbnltb3JlLgoKMjAwNi0wOC0xNiAxMzo0ODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IERvbid0IGxlYWsgZGV2aWNlIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9maW5hbGl6ZSk6CgkgIERvbid0IGxlYWsgZGV2aWNlIHN0cmluZy4KCjIwMDYtMDgtMTYgMTM6MDE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ1ZTIG9mIEdTdHJlYW1lciBjb3JlIGFuZCAtYmFzZSAoZm9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBDVlMgb2YgR1N0cmVhbWVyIGNvcmUgYW5kIC1iYXNlIChmb3IKCSAgR1NUX1RBR19FWFRFTkRFRF9DT01NRU5UIGFuZCBnc3RfdGFnX3BhcnNlX2V4dGVuZGVkX2NvbW1lbnQoKSkuCgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgV3JpdGUgZXh0ZW5kZWQgY29tbWVudCB0YWdzIHByb3Blcmx5ICgjMzQ4NzYyKS4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2NvbW1lbnRfZnJhbWUpOgoJICBFeHRyYWN0IENPTU0gZnJhbWVzIGludG8gZXh0ZW5kZWQgY29tbWVudHMsIHdoaWNoIG1ha2VzIGl0CgkgIGVhc2llciB0byBwcm9wZXJseSByZXRhaW4gdGhlIGRlc2NyaXB0aW9uIGJpdCBvZiB0aGUgdGFnCgkgIGFuZCBtYWludGFpbiB0aGlzIGluZm9ybWF0aW9uIHdoZW4gcmUtdGFnZ2luZyAoIzM0ODc2MikuCgoyMDA2LTA4LTE2IDEyOjAyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERvbid0IHRyeSB0byBydW4gYW5ub2RleCB1bml0IHRlc3RzIGlmIHRoZSBhbm5vZGV4IHBsdWdpbiBoYXMgbm90IGJlZW4gYnVpbHQgKEZpeGVzICMzNTExMTYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgdHJ5IHRvIHJ1biBhbm5vZGV4IHVuaXQgdGVzdHMgaWYgdGhlIGFubm9kZXgKCSAgcGx1Z2luIGhhcyBub3QgYmVlbiBidWlsdCAoRml4ZXMgIzM1MTExNikuCgoyMDA2LTA4LTE2IDEwOjUzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBXaGVuIHdlIGNhbid0IGZpbmQgYSB1c2FibGUgYXVkaW9zaW5rLCBkb24ndCBlcnJvciBvdXQsIGJ1dCB1c2UgYSBmYWtlIHNpbmsgaW5zdGVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgV2hlbiB3ZSBjYW4ndCBmaW5kIGEgdXNhYmxlIGF1ZGlvc2luaywgZG9uJ3QgZXJyb3Igb3V0LAoJICBidXQgdXNlIGEgZmFrZSBzaW5rIGluc3RlYWQgYW5kIHBvc3QgYSB3YXJuaW5nIG1lc3NhZ2UKCSAgb24gdGhlIGJ1cyAoIzM0MTI3OCkuCgoyMDA2LTA4LTE2IDEwOjQwOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdCAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QKCSAgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kZXJzY29yZXMgaW4KCSAgR09iamVjdCBwcm9wZXJ0eSBuYW1lcy4KCjIwMDYtMDgtMTYgMTA6MjI6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogRG9jdW1lbnQgT1NTIGVsZW1lbnRzOyBhZGQgZ3RrLWRvYyBibHVyYiB3aXRoICdTaW5jZSAwLjEwLjUnIGZvciBvc3NtaXhlcidzIG5ldyBkZXZpY2UgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgRG9jdW1lbnQgT1NTIGVsZW1lbnRzOyBhZGQgZ3RrLWRvYyBibHVyYiB3aXRoICdTaW5jZSAwLjEwLjUnIGZvcgoJICBvc3NtaXhlcidzIG5ldyBkZXZpY2UgcHJvcGVydHkuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBkb2NzIGZvciBPU1MgZWxlbWVudHMuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgdG8gQ1ZTIHZlcnNpb24uCgoyMDA2LTA4LTE2IDEwOjA1OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IENhcHMgZXh0cmEgcHJvcGVydGllcyBtdXN0IGJlIGRlZmluZWQgYXMgc3RyaW5ncyBmb3IgZGVwYXlsb2FkZXJzIGJlY2F1c2UgdGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gYW4gU0RQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgQ2FwcyBleHRyYSBwcm9wZXJ0aWVzIG11c3QgYmUgZGVmaW5lZCBhcyBzdHJpbmdzIGZvcgoJICBkZXBheWxvYWRlcnMgYmVjYXVzZSB0aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSBhbiBTRFAuCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2NF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9maW5hbGl6ZSksIChkZWNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgQWRkZWQgYmFzaWMsIG5vdCBjb21wbGV0ZWx5IGZ1bmN0aW9uYWwgUkZDIDM5ODQgSDI2NCBkZXBheWxvYWRlci4KCjIwMDYtMDgtMTYgMDk6NDg6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuYzogQWRkIHBhZHMgYWZ0ZXIgc2V0dGluZyB0aGVtIHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfaW5pdCksIChnc3RfcnRwZGVjX2dldGNhcHMpOgoJICBBZGQgcGFkcyBhZnRlciBzZXR0aW5nIHRoZW0gdXAuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX2ZyZWVfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19jb21iaW5lX2Zsb3dzKSwgKGdzdF9ydHNwc3JjX2xvb3ApLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCBpbnRlcmxlYXZlZCBtb2RlLgoJICAtIFByb3RlY3Qgc3RyZWFtaW5nIHdpdGggbG9jay4KCSAgLSBDb21iaW5lIGZsb3dzCgkgIC0gc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgLSBzdHJpcCB0cmFpbGluZyBcMCBmcm9tIGRhdGEgcGFja2V0cy4KCSAgLSBDb25maWd1cmUgUlRQL1JUQ1AgaW4gc3RyZWFtLgoJICBVc2UgREVCVUdfT0JKRUNUIG1vcmUuCgoyMDA2LTA4LTE2IDA5OjI5OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogVHVybiBhIGdfcHJpbnQgaW50byBhIERFQlVHIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgIFR1cm4gYSBnX3ByaW50IGludG8gYSBERUJVRyBsaW5lLgoKMjAwNi0wOC0xNiAwOToyNToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvOiBTbWFsbCBjbGVhbnVwcy4gQmV0dGVyIGVycm9yIHJlcG9ydGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlci5jOiAoZ3N0X29zc21peGVyX29wZW4pLCAoZ3N0X29zc21peGVyX25ldyk6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9pbml0KSwgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJICBTbWFsbCBjbGVhbnVwcy4gQmV0dGVyIGVycm9yIHJlcG9ydGluZy4KCSAgQWRkIGRldmljZSBwcm9wZXJ0eSBmb3IgdGhlIG1peGVyIGluc3RlYWQgb2YgdGhlIGhhcmRjb2RlZAoJICAvZGV2L21peGVyLiBGaXhlcyAjMzUwNzg1LgoJICBBUEk6IEdzdE9zc01peGVyRWxlbWVudDo6ZGV2aWNlIHByb3BlcnR5CgoyMDA2LTA4LTE1IDIyOjQ0OjI3ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnY29uZi9NYWtlZmlsZS5hbTogTWFrZSAtLWRpc2FibGUtc2NoZW1hcyB3b3JrIHJpZ2h0ICh0aGV5IHN0aWxsIG5lZWQgdG8gYmUgY29waWVkIHRvIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LCBqdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIE1ha2UgLS1kaXNhYmxlLXNjaGVtYXMgd29yayByaWdodCAodGhleSBzdGlsbCBuZWVkCgkgIHRvIGJlIGNvcGllZCB0byB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwganVzdCBub3QKCSAgYXBwbGllZCkuIEZpeGVzICMzNTEzNDcgKGFsc28gIzM0NDEwMCkuCgoyMDA2LTA4LTE1IDIwOjI5OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOyBzb21lIHNtYWxsIGNsZWFuLXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKSwgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOwoJICBzb21lIHNtYWxsIGNsZWFuLXVwcyBhbG9uZyB0aGUgd2F5OyBhZGQgc3VwcG9ydCBmb3IgU0VFS0lORyBxdWVyeQoJICBhbmQgcXVlcnkgdHlwZXMgZnVuY3Rpb24uICgjMzUxNDk1KS4KCjIwMDYtMDgtMTQgMTE6Mzc6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCjIwMDYtMDgtMTQgMTE6MTQ6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICByZWxlYXNpbmcgMC4xMC40CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC40CgoyMDA2LTA4LTE0IDEwOjA2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUKCSAgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmltdW0gcmVxdWlyZWQKCSAgYml0cmF0ZSBpbmZvcm1hdGlvbiBpZiBhdmFpbGFibGUuICgjMzUwMzk5KQoKMjAwNi0wOC0xMCAxNDoxMDoyOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoKCSAgU2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBTZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBGaXhlcyAjMzQ3NTI5CgoyMDA2LTA4LTEwIDE0OjAyOjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgYnVtcGVkIGZvciBwcmVyZWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1bXBlZCBmb3IgcHJlcmVsCgoyMDA2LTA4LTEwIDEzOjEwOjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAwNi0wOC0wOCAxNDo1NTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBzaWxseSB0eXBvLgoKMjAwNi0wOC0wOCAxNDo0NjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIG51bWJlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIG51bWJlcgoKMjAwNi0wOC0wOCAxNDo0MDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnLzogUmVmdXNlIHNpbmsgY2FwcyBpbiB0aGUgZW5jb2RlciBpZiB3aWR0aCBvciBoZWlnaHQgaXMgbm90IGEgbXVsdGlwbGUgb2YgMTYsIHRoZSBlbmNvZGVyIGRvZXMgbm90IHN1cHBvcnQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3Jlc3luYyksIChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBSZWZ1c2Ugc2luayBjYXBzIGluIHRoZSBlbmNvZGVyIGlmIHdpZHRoIG9yIGhlaWdodCBpcyBub3QgYQoJICBtdWx0aXBsZSBvZiAxNiwgdGhlIGVuY29kZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGF0IHlldDsgYWxvbmcgdGhlCgkgIHNhbWUgbGluZXMsIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGVuY29kZXIgc2V0dXAgZnVuY3Rpb247CgkgIGFsc28gcmVtb3ZlIHNvbWUgZGVidWcgbG9nIGNsdXR0ZXIuCgoyMDA2LTA4LTA0IDExOjM4OjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3Jpbmcgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nCgkgIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yIGtlZXBpbmcKCSAgdHJhY2sgb2YgaXRzIHN0YXRlLiBDaGFuZ2UgdGhlIEZsb3dSZXR1cm4gaW5zdGFuY2UgdmFyaWFibGUgZnJvbQoJICAic3RhdGUiIHRvICJmbG93X3N0YXRlIiwgYWxsIGNhbGxlcnMgY2hhbmdlZC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXR1cCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0LCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdG9wKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCk6IE5ldyBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZQoJICBwcm9jZXNzb3IncyBzdGF0ZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBzdGFydCgpIGFzIHdlbGwgYXMgc2V0dXAoKSBoZXJlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6IFJlc3BlY3QgQ0FOX1BST0NFU1NfSU5fUExBQ0UuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOiBTdG9wIGFuZCBjbGVhbnVwIHRoZQoJICBwcm9jZXNzb3IgYXMgd2UgZ28gdG8gTlVMTC4KCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jIChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6IFJldXNlIGJ1ZmZlcnMgaWYKCSAgSU5QTEFDRV9CUk9LRU4gaXMgbm90IHNldC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKToKCSAgRG8gdGhlIGFsbG9jX2J1ZmZlciBpbiBieXRlcywgbm90IGZyYW1lcy4KCjIwMDYtMDgtMDQgMTA6MjE6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogRml4IHJnYiBtYXNrcyB3aGVuIHJlY29yZGluZyBpbiA8IDI0YnBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICBGaXggcmdiIG1hc2tzIHdoZW4gcmVjb3JkaW5nIGluIDwgMjRicHAuCgoyMDA2LTA4LTA0IDA5OjIwOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEJQQgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogQlBCCgoyMDA2LTA4LTA0IDA5OjA1OjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3VwZGF0ZV9pbnB1dHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFJlbW92ZSB0aGUgbGFzdCBvZiB0aGUgY29kZQoJICB0aGF0IGFzc3VtZXMgdGhhdCB3ZSBwcm9jZXNzIHdob2xlIGJ1ZmZlcnMgYXQgYSB0aW1lLiBGaXggc29tZQoJICBkZWJ1Z2dpbmcuIFNlZW1zIHRvIHdvcmsgbm93IGluIHNvbWUgY2FzZXMuCgoyMDA2LTA3LTMxIDIyOjI3OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBJbml0IHBlbmRpbmdfaW4gYW5kIHBlbmRpbmdfb3V0LgoKMjAwNi0wNy0zMSAyMjowMzowOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObwoJICBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYXQgdGhlIHNhbXBsZQoJICByYXRlIGFjdHVhbGx5IGdldHMgc2V0LiBTb21ldGhpbmcgZm9yIHRoZSBmdXR1cmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogU29tZSByZWZjb3VudCBmaXhlcywgZmxvdyBmaXhlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KTogUmVmY291bnQgZml4ZW4uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogUHVsbCB0aGUgbnVtYmVyIG9mIGZyYW1lcyB0bwoJICBwcm9jZXNzIGZyb20gdGhlIHNpemVzIG9mIHRoZSBidWZmZXJzIGluIHRoZSBpbnB1dCBwZW5zLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcik6IFJlbW92ZSBhbiBpbmNvcnJlY3QgRklYTUUgOikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKTogQWRkIGFuIG5mcmFtZXMgYXJndW1lbnQsIGFuZCB1c2UKCSAgaXQgaW5zdGVhZCBvZiBidWZmZXJfZnJhbWVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpOiBSZWZjb3VudCBmaXhlbiwgcGFzcyBuZnJhbWVzIG9uCgkgIHRvIGRvX3B1bGxzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6ICBSZWZjb3VudCBmaXhlbi4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBObyBtb3JlIGJ1ZmZlcl9mcmFtZXMsIHlheS4KCjIwMDYtMDctMzEgMTk6NDQ6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywKCSAgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5MTg5KQoKMjAwNi0wNy0zMSAxNTo1ODo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBGaXggZG9jcy4KCjIwMDYtMDctMjkgMTY6MzI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgRklYTUUgY29tbWVudHMsIGZpbGVkICMzNDkxODkKCjIwMDYtMDctMjkgMTE6MjI6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiBTZXQgY2FwcyBvbiBidWZmZXIgY29ycmVjdGx5LiAgRml4ZXMgYnVnICMzNDkxNTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTI5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIFNldCBjYXBzIG9uIGJ1ZmZlciBjb3JyZWN0bHkuICBGaXhlcyBidWcgIzM0OTE1NS4KCjIwMDYtMDctMjggMTY6MTc6MTcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogVXNlcyBHc3RBZGFwdGVyIGluc3RlYWQgb2Ygb3duIGJ1ZmZlcmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9maW5hbGl6ZSksIChnZXRfbGluZV9lbmQpLAoJICAobXVsdGlwYXJ0X3BhcnNlX2hlYWRlciksIChtdWx0aXBhcnRfZmluZF9ib3VuZGFyeSksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tdWx0aXBhcnRfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXBhcnRfZ2V0X3Byb3BlcnR5KToKCSAgVXNlcyBHc3RBZGFwdGVyIGluc3RlYWQgb2Ygb3duIGJ1ZmZlcmluZy4KCSAgQWN0dWFsbHkgcGFyc2VzIHRoZSBtaW1lLXR5cGUgY29ycmVjdGx5IChJbiB0ZXN0cyB0aGUgbWltZS10eXBlIHdhcwoJICBhbHdheXMgIiIgd2l0aCB0aGUgb2xkIHZlcnNpb24pLgoJICBVc2VzIHRoZSBDb250ZW50LWxlbmd0aCBoZWFkZXIgaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIHRoaW5ncy4KCSAgUmVsaWFibHkgYXV0b3NjYW5zIHRoZSBib3VuZGFyeSBuYW1lIGJ5IGRlZmF1bHQuCgkgIEZpeGVzICMzNDkwNjguCgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIERvbid0IHN0YXJ0IHRoZSBzdHJlYW0gd2l0aCBhIFxuLgoKMjAwNi0wNy0yOCAwODozMjo0NyArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IE9wZW4gc291cmNlIHdpdGggT19OT05CTE9DSyAoIzM0OTAxNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgT3BlbiBzb3VyY2Ugd2l0aCBPX05PTkJMT0NLICgjMzQ5MDE1KS4KCjIwMDYtMDctMjggMDg6MjE6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogV2hpdGVzcGFjZSBmaXhlcyBhbmQgbW9yZSBkZWJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgV2hpdGVzcGFjZSBmaXhlcyBhbmQgbW9yZSBkZWJ1ZwoKMjAwNi0wNy0yNyAxMToyMTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogR2V0IHJpZCBvZiBvbGQgYW5kIHVudXNlZCBtYWdpYyBzb3VuZC1zZXJ2ZXIgcHJvcGVydGllcyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jcmVhdGVfZWxlbWVudF93aXRoX3ByZXR0eV9uYW1lKSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgR2V0IHJpZCBvZiBvbGQgYW5kIHVudXNlZCBtYWdpYyBzb3VuZC1zZXJ2ZXIgcHJvcGVydGllcyBzdHVmZi4KCSAgQWRkIHN1ZmZpeCB0byBjaGlsZCBzaW5rJ3MgbmFtZSB0aGF0IG1ha2VzIGl0IGVhc3kgdG8gc2VlIGZyb20KCSAgdGhlIG5hbWUgYWxvbmUgd2hpY2ggdHlwZSBpdCBhY3R1YWxseSBpcyAoYWxzYSwgb3NzLCBlc2QsIGV0Yy4pLgoKMjAwNi0wNy0yNyAxMDowNToyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IFJlbmFtZSAiYnVmZmVyIiB0byAiYnVmZmVyLXNpemUiIHRvIG1ha2UgY2xlYXIgaXQgaXMgYSBzaXplIHdlIHNldCBhbmQgbm90IHNvbWUgc29ydCBvZiBmZWF0dXJlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBSZW5hbWUgImJ1ZmZlciIgdG8gImJ1ZmZlci1zaXplIiB0byBtYWtlIGNsZWFyIGl0IGlzIGEgc2l6ZSB3ZSBzZXQgYW5kCgkgIG5vdCBzb21lIHNvcnQgb2YgZmVhdHVyZSB3ZSBlbmFibGUuCgoyMDA2LTA3LTI3IDEwOjAxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogVXNlIENMT1NFX1NPQ0tFVCgpIGhlcmUgaW5zdGVhZCBvZiBjbG9zZSgpIHRvIG1haW50YWluIHdpbjMyIHdvcmtpbmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBVc2UgQ0xPU0VfU09DS0VUKCkgaGVyZSBpbnN0ZWFkIG9mIGNsb3NlKCkgdG8gbWFpbnRhaW4KCSAgd2luMzIgd29ya2luZXNzLgoKMjAwNi0wNy0yNyAwOTowNDo1MSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGRlZCAiYnVmZmVyIiBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBrZXJuZWwgcmVjZWl2ZSBidWZmZXIgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqcyBkb3QgdmVybWVpciBhdCBiYXJjbyBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZGVkICJidWZmZXIiIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIGtlcm5lbCByZWNlaXZlIGJ1ZmZlciBzaXplLgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgU21hbGwgY2xlYW51cHMuIEZpeGVzICMzNDg3NTIuCgkgIEFQSTogYnVmZmVyIHByb3BlcnR5CgoyMDA2LTA3LTI2IDE2OjM2OjU5ICswMDAwICBLYWkgVmVobWFuZW4gPGt2MjAwNEBlY2EuY3g+CgoJICBnc3QvcnRwLzogRml4IHRpbWVzdGFtcCBjYWxjdWxhdGlvbiBvbiBvdXRnb2luZyBSVFAgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBLYWkgVmVobWFuZW4gPGt2MjAwNCBhdCBlY2EgZG90IGN4PgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOiAoZ3N0X3J0cF9wY21hX3BheV9mbHVzaCksCgkgIChnc3RfcnRwX3BjbWFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9mbHVzaCksCgkgIChnc3RfcnRwX3BjbXVfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBGaXggdGltZXN0YW1wIGNhbGN1bGF0aW9uIG9uIG91dGdvaW5nIFJUUCBwYWNrZXRzLgoJICBGaXhlcyAjMzQ4Njc1LgoKMjAwNi0wNy0yNiAxMDowNzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IGlzIHN0aWxsIHN1Yi1vcHRpbWFsIHRob3VnaCwgc2luY2Ugd2UgZG9uJ3QgcmV0YWluIG9yIGV4dHJhY3QgdGhlIGNvbW1lbnQgZGVzY3JpcHRpb25zIHByby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBGaXggd3JpdGluZyBvZiBjb21tZW50IGZyYW1lcyAoc2hvdWxkIGJlIENPTU0gbm90IFRDT00pLAoJICBpcyBzdGlsbCBzdWItb3B0aW1hbCB0aG91Z2gsIHNpbmNlIHdlIGRvbid0IHJldGFpbiBvcgoJICBleHRyYWN0IHRoZSBjb21tZW50IGRlc2NyaXB0aW9ucyBwcm9wZXJseSAoIzMzNDM3NSwKCSAgYWxzbyBzZWUgIzMzNDM3NSkuCgoyMDA2LTA3LTI2IDA5OjAyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICNkZWZpbmUgJ2ZhY3QnIFJJRkYgY2h1bmsgaWYgd2UgYXJlIG5vdCBjb21waWxpbmcgYWdhaW5zdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgI2RlZmluZSAnZmFjdCcgUklGRiBjaHVuayBpZiB3ZSBhcmUgbm90IGNvbXBpbGluZyBhZ2FpbnN0CgkgIC1iYXNlIENWUyAod2UgZG9uJ3Qgd2FudCB0byBkZXBlbmQgb24gLWJhc2UgQ1ZTIGZvciB0aGlzCgkgIG9uZSBkZWZpbmUgb25seSwgYW5kIGFsc28gbm90IGZvciByZWxlYXNlIG9yZGVyIHJlYXNvbnMpLgoKMjAwNi0wNy0yNiAwODoxNzo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEhhbmRsZSBtdWx0aXBsZSB0YWdzIG9mIHRoZSBzYW1lIHR5cGUgcHJvcGVybHkuIFJlLWluamVjdCB1bnBhcnNlZCBJRDN2MiBmcmFtZXMgdGhhdCB3ZSBnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBIYW5kbGUgbXVsdGlwbGUgdGFncyBvZiB0aGUgc2FtZSB0eXBlIHByb3Blcmx5LiBSZS1pbmplY3QKCSAgdW5wYXJzZWQgSUQzdjIgZnJhbWVzIHRoYXQgd2UgZ2V0IGFzIGJpbmFyeSBibG9icyBmcm9tCgkgIGlkM2RlbXV4IGludG8gdGhlIHRhZyBhZ2FpbiBzbyB3ZSBkb24ndCBsb3NlIGluZm9ybWF0aW9uCgkgIHdoZW4gcmV0YWdnaW5nICgjMzM0Mzc1KS4KCjIwMDYtMDctMjUgMTc6NTQ6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBEb2N1bWVudCBuZXdseS1hZGRlZCBwcm9wZXJ0aWVzIHByb3Blcmx5LCBzbyB0aGF0IHRoZXJlIGlzIGEgJ1NpbmNlOiAwLjEwLjQnIGluIHRoZSBwbHVnaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpOgoJICBEb2N1bWVudCBuZXdseS1hZGRlZCBwcm9wZXJ0aWVzIHByb3Blcmx5LCBzbyB0aGF0IHRoZXJlIGlzIGEKCSAgJ1NpbmNlOiAwLjEwLjQnIGluIHRoZSBwbHVnaW4gZG9jcy4gQ29udmVydCBzb21lIHByb3BlcnR5CgkgIG5hbWVzIGludG8gY2Fub25pY2FsIEdPYmplY3Qgc3R5bGUgKEdPYmplY3Qgd2lsbCBkbyB0aGF0CgkgIGludGVybmFsbHkgYW55d2F5KS4KCjIwMDYtMDctMjUgMTY6NDc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBFeHRyYWN0IGZyYW1lcyBmb3IgSUQzdjIgdmVyc2lvbnMgcHJpb3IgdG8gSUQzdjIuMy4wIHByb3Blcmx5IGFzIHdlbGwsIGFuZCBhZGQgdGhlIHZlcnNpb24gdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKGlkM2RlbXV4X2FkZF9pZDN2Ml9mcmFtZV9ibG9iX3RvX3RhZ2xpc3QpOgoJICBFeHRyYWN0IGZyYW1lcyBmb3IgSUQzdjIgdmVyc2lvbnMgcHJpb3IgdG8gSUQzdjIuMy4wIHByb3Blcmx5IGFzCgkgIHdlbGwsIGFuZCBhZGQgdGhlIHZlcnNpb24gdG8gdGhlIGJsb2IncyBidWZmZXIgY2Fwcywgc2luY2UgdGhhdAoJICBpbmZvcm1hdGlvbiB3aWxsIGJlIG5lZWRlZCBmb3IgZGVzZXJpYWxpc2F0aW9uIGxhdGVyIG9uICgjMzQ4NjQ0KS4KCjIwMDYtMDctMjUgMTM6MTQ6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTW92ZWQgd2luMzIgdmFyaWFudCBvZiBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIHRvIGdzdGluZm8uaC4gRml4ZWQgaW5kZW50YXRpb24gYW5kIHNwYWNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgTW92ZWQgd2luMzIgdmFyaWFudCBvZiBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIHRvIGdzdGluZm8uaC4gRml4ZWQKCSAgaW5kZW50YXRpb24gYW5kIHNwYWNpbmcuCgoyMDA2LTA3LTI0IDIxOjQzOjA2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZSBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZQoJICBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIENoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZGlyZWN0c291bmQgc2Vjb25kYXJ5IGJ1ZmZlciB0byBhIGhhbGYgc2Vjb25kLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBBZGQgYSBsb2NrIHRvIHByb3RlY3QgZHNvdW5kIGJ1ZmZlciB3cml0ZSBhY2Nlc3MuCgkgIEZpeCBhIGJhZCBpbXBsZW1lbnRhdGlvbiBvZiByZXNldC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQWRkIGEga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkuCgkgIERvIG5vdCB1c2Ugb3ZlcmxheSBpZiBub3Qgc3VwcG9ydGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBSZW1vdmUgb3ZlcndyaXRlIG9mIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBoYW5kbGluZy4gSXQgd2FzIG5vdAoJICByZWRyYXdpbmcgYm9yZGVyIHdoZW4ga2VlcF9hc3BlY3RfcmF0aW8gd2FzIGVuYWJsZWQuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgdmVyc2lvbiB3YWl0aW5nIGFuIGF1dG8tZ2VuZXJhdGVkIGNvbmZpZy5oCgoyMDA2LTA3LTI0IDE1OjI1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGZpbGVzIHRvIENWUy9QcmVyZWxlYXNlIHZlcnNpb24sIGFkZCBlc2RzaW5rIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIGZpbGVzIHRvIENWUy9QcmVyZWxlYXNlIHZlcnNpb24sIGFkZCBlc2RzaW5rIGRvY3MuCgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgIEFkZCBndGstZG9jIGJsdXJiLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBGaXggdHlwbyBpbiBlbGVtZW50IGRlc2NyaXB0aW9uLgoKMjAwNi0wNy0yNCAxNDo1NDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IGZpeCBTdGVmYW4ncyBlLW1haWwgYWRkcmVzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IGZpeCBTdGVmYW4ncyBlLW1haWwgYWRkcmVzcwoKMjAwNi0wNy0yNCAxNDo0OToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBQcmV2ZW50IGxpYmVzZCBmcm9tIGF1dG8tc3Bhd25pbmcgYSBzb3VuZCBkYWVtb24gaWYgaXQgaXMgbm90IGFscmVhZHkgcnVubmluZy4gTm93IHRoYXQgd2UgZG9uJ3QgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX29wZW4pLAoJICAoZ3N0X2VzZHNpbmtfZmFjdG9yeV9pbml0KToKCSAgUHJldmVudCBsaWJlc2QgZnJvbSBhdXRvLXNwYXduaW5nIGEgc291bmQgZGFlbW9uIGlmIGl0CgkgIGlzIG5vdCBhbHJlYWR5IHJ1bm5pbmcuIE5vdyB0aGF0IHdlIGRvbid0IGRvIGV2aWwgc3R1ZmYKCSAgbGlrZSB0aGF0IGFueSBsb25nZXIgd2UgY2FuIGdpdmUgZXNkc2luayBhIHJhbmsgc28gdGhhdAoJICBhdXRvYXVkaW9zaW5rIHdpbGwgdHJ5IGl0IGFzIHdlbGwgaWYgYWxsIG90aGVyIGF1ZGlvCgkgIHNpbmtzIGZhaWwgKCMzNDMwNTEpLgoKMjAwNi0wNy0yNCAxNDo0MjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvTWFrZWZpbGUuYW06IE9vcHMsIG5lZWQgdG8gcmVtb3ZlIFJFQURNRSBmcm9tIEVYVFJBX0RJU1QgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgT29wcywgbmVlZCB0byByZW1vdmUgUkVBRE1FIGZyb20gRVhUUkFfRElTVCBhcyB3ZWxsLgoKMjAwNi0wNy0yNCAxNDozNzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvUkVBRE1FOiBSZW1vdmUsIGl0IGNvbnRhaW5zIG5vdGhpbmcgdXNlZnVsIGFueXdheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9SRUFETUU6CgkgIFJlbW92ZSwgaXQgY29udGFpbnMgbm90aGluZyB1c2VmdWwgYW55d2F5LgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfaW5pdCksIChnc3RfZXNkc2lua19wcmVwYXJlKSwKCSAgKGdzdF9lc2RzaW5rX2RlbGF5KToKCSAgU29tZSBzbWFsbCBjbGVhbi11cHM7IHVzZSBHU1RfQk9JTEVSUExBVEUgZXRjLgoKMjAwNi0wNy0yNCAxNDoxNjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBGaXggbmVnb3RpYXRpb24gdG8gZGVhbCB3aXRoIEFOWS9FTVBUWSBjYXBzIGluc3RlYWQgb2YgbGVha2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoYWxhd2RlY19nZXRjYXBzKToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChhbGF3ZW5jX2dldGNhcHMpLCAoZ3N0X2FsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19nZXRjYXBzKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAobXVsYXdlbmNfZ2V0Y2Fwcyk6CgkgIEZpeCBuZWdvdGlhdGlvbiB0byBkZWFsIHdpdGggQU5ZL0VNUFRZIGNhcHMgaW5zdGVhZCBvZiBsZWFraW5nLgoKMjAwNi0wNy0yNCAxMzo0MDo1NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IFVzZSBpbmZvcm1hdGlvbiBmcm9tICdmYWN0JyBjaHVuayBmb3IgbGVuZ3RoIGNhbGN1bGF0aW9uIG9mIGNvbXByZXNzZWQgc2FtcGxlcy4gQ2FsY3VsYXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9vdGhlciksIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9nZXRfdXBzdHJlYW1fc2l6ZSksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgVXNlIGluZm9ybWF0aW9uIGZyb20gJ2ZhY3QnIGNodW5rIGZvciBsZW5ndGggY2FsY3VsYXRpb24gb2YgY29tcHJlc3NlZAoJICBzYW1wbGVzLiBDYWxjdWxhdGUgYnBzIGlmIGJvZ3VzIHZhbHVlIGlzIGZvdW5kIGluIHdhdiBoZWFkZXIgKGVtYmVkZWQKCSAgbXAyL21wMykuCgoyMDA2LTA3LTI0IDExOjQ4OjAzICswMDAwICBKb25pIFZhbHRhbmVuIDxqb25pLnZhbHRhbmVuQG1vdmlhbC5maT4KCgkgIFBvcnQgdWRwIHBsdWdpbiB0byB3aW4zMiAoIzM0NTI4OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogSm9uaSBWYWx0YW5lbiAgPGpvbmkgZG90IHZhbHRhbmVuIGF0IG1vdmlhbCBmaT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2luaXQpLAoJICAoZ3N0X2R5bnVkcHNpbmtfZmluYWxpemUpLCAoZ3N0X2R5bnVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19maW5hbGl6ZSksIChnc3RfbXVsdGl1ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfaW5pdCksIChnc3RfdWRwc3JjX2NyZWF0ZSksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX25ldF91dGlsc193aW4zMl9pbmV0X2F0b24pLAoJICAoZ3N0X3VkcF9uZXRfdXRpbHNfd2luMzJfd3NhX3N0YXJ0dXApOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgUG9ydCB1ZHAgcGx1Z2luIHRvIHdpbjMyICgjMzQ1Mjg4KS4KCjIwMDYtMDctMjQgMTE6MDA6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBSZW1vdmUgdW53YW50ZWQgREVCVUcgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9zZW5kKToKCSAgUmVtb3ZlIHVud2FudGVkIERFQlVHIGxpbmUuCgoyMDA2LTA3LTIzIDExOjMzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogT24gc2Vjb25kIHRob3VnaHQsIGl0IG1pZ2h0IGJlIHdpc2VyIGFuZCBtb3JlIGVmZmljaWVudCBub3QgdG8gZG8gdGFnIHJlZ2lzdHJhdGlvbiBmcm9tIGEgc3RyZWFtaW5nIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIChpZDNkZW11eF9hZGRfaWQzdjJfZnJhbWVfYmxvYl90b190YWdsaXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICBPbiBzZWNvbmQgdGhvdWdodCwgaXQgbWlnaHQgYmUgd2lzZXIgYW5kIG1vcmUgZWZmaWNpZW50CgkgIG5vdCB0byBkbyB0YWcgcmVnaXN0cmF0aW9uIGZyb20gYSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNi0wNy0yMyAxMDo1NjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IFB1dCBJRDN2MiBmcmFtZXMgd2UgY2FuJ3QgcGFyc2UgYXMgYmluYXJ5IGJsb2JzIGludG8gcHJpdmF0ZSB0YWdzLCBzbyB0aGF0IHRoZXkgYXJlIG5vdCBsb3N0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAoaWQzZGVtdXhfYWRkX2lkM3YyX2ZyYW1lX2Jsb2JfdG9fdGFnbGlzdCksCgkgIChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICBQdXQgSUQzdjIgZnJhbWVzIHdlIGNhbid0IHBhcnNlIGFzIGJpbmFyeSBibG9icyBpbnRvIHByaXZhdGUKCSAgdGFncywgc28gdGhhdCB0aGV5IGFyZSBub3QgbG9zdCB3aGVuIHJldGFnZ2luZywgYXQgbGVhc3Qgb25jZQoJICBpZDN2Mm11eCBoYXMgYmVlbiB0YXVnaHQgdG8gcmUtaW5qZWN0IHRob3NlIGZyYW1lcyBhZ2Fpbi4KCSAgU2VlIGJ1ZyAjMzM0Mzc1LgoKMjAwNi0wNy0yMSAxMDo1NzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHNvbWUgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgRml4IHNvbWUgbGVha3MuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgIERvbid0IHVzZSBcbiBpbiBkZWJ1ZyBsaW5lcy4KCjIwMDYtMDctMjAgMTg6NDg6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBhbm5vZGV4IGFuZCBpY3lkZW11eCwgY2xlYW51cCB0aGUgc2VjdGlvbnMgYSBiaXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBhbm5vZGV4IGFuZCBpY3lkZW11eCwgY2xlYW51cCB0aGUgc2VjdGlvbnMgYSBiaXQKCjIwMDYtMDctMTkgMTQ6MzY6MDAgKzAwMDAgIE1hcnRpbiBTenVsZWNraSA8Y29tcGl6QHN1a2ltYXNoaXRhLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90IG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcnRpbiBTenVsZWNraQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKToKCSAgSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90CgkgIG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idGFpbiB0aGlzCgkgIGluZm9ybWF0aW9uICgjMzQyNDk0KS4KCjIwMDYtMDctMTkgMTE6NTI6NTMgKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBXcml0ZSBHU1RfVEFHX0VOQ09ERVIgYW5kIEdTVF9UQUdfRU5DT0RFUl9WRVJTSU9OIGFzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxleCBMYW5jYXN0ZXIgPGFsZXhsIGF0IHVzZXJzIHNvdXJjZWZvcmdlIG5ldD4KCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBXcml0ZSBHU1RfVEFHX0VOQ09ERVIgYW5kIEdTVF9UQUdfRU5DT0RFUl9WRVJTSU9OIGFzCgkgIElEM3YyIFRTU0UgZnJhbWVzICgjMzQ3ODk4KS4KCjIwMDYtMDctMTkgMDc6NDA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBtZW50aW9uIGZpeGVkIGJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gZml4ZWQgYnVnCgoyMDA2LTA3LTE4IDE5OjU5OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBSZXNwZWN0IG1wZWd2ZXJzaW9uIGZvciAidmlkZW8vbXBlZyIgYW5kIGdpdmUgbWVzc2FnZSBpbiBjYXNlIG9mIHVuaGFuZGxlZCB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpOgoJICBSZXNwZWN0IG1wZWd2ZXJzaW9uIGZvciAidmlkZW8vbXBlZyIgYW5kIGdpdmUgbWVzc2FnZSBpbiBjYXNlIG9mCgkgIHVuaGFuZGxlZCB2ZXJzaW9ucy4KCjIwMDYtMDctMTggMTg6MDU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEZpeCBjYXBzIGFmdGVyIHByZXZpb3VzIGNoYW5nZSB0byBieXRlIG9yZGVyIGVuZGlhbm5lc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIEZpeCBjYXBzIGFmdGVyIHByZXZpb3VzIGNoYW5nZSB0byBieXRlIG9yZGVyIGVuZGlhbm5lc3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFF1ZXVlIGluY29taW5nIGV2ZW50cyBpZiB0aGVyZSdzIG5vIHNvdXJjZSBwYWQgeWV0IGFuZAoJICBzZW5kIHRoZW0gZG93bnN0cmVhbSBsYXRlciB3aGVuIHRoZSBwYWQgaXMgdGhlcmUuCgoyMDA2LTA3LTE4IDE2OjQ3OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldCBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQKCSAgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdXQgc2FtcGxlcyB3aXRoIDIxLTI0IGJpdCBkZXB0aAoJICB3aXRoIDMyIGJpdCB3aWR0aCAobWFrZXMgdGhpbmdzIGVhc2llciBmb3IgdXMpLgoKMjAwNi0wNy0xOCAxNTo1MzozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24gcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uCgkgIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmVyIGdldHMgaW1wbGVtZW50ZWQgYSBsb3Qgb2Ygc3R1ZmYKCSAgd2lsbCBoYXZlIHRvIGJlIHJld3JpdHRlbiBhbnl3YXk7IHJlZG8gY2hhaW4gZnVuY3Rpb24sIG1vdmUKCSAgZXJyb3JzIHRvIGVuZCwgZXJyb3Igb3V0IGluc3RlYWQgb2YgZ19hc3NlcnQoKWluZy4gQWxzbyByZW5hbWUKCSAgb3Zlcmx5IGxvbmcgdmFyaWFibGUgJ3dhdnBhY2tkZWMnIHRvIGp1c3QgJ2RlYyc7IG1pc2NlbGxhbmVvdXMKCSAgb3RoZXIgc21hbGwgc3R1ZmYuCgoyMDA2LTA3LTE4IDE0OjA4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciB3YXZwYWNrIHZlcnNpb24gYW5kIGRlZmluZSBXQVZQQUNLX09MRF9BUEkgaWYgbmVjZXNzYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciB3YXZwYWNrIHZlcnNpb24gYW5kIGRlZmluZSBXQVZQQUNLX09MRF9BUEkgaWYKCSAgbmVjZXNzYXJ5LgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzogKGdzdF93YXZwYWNrX3JlYWRfaGVhZGVyKSwKCSAgKGdzdF93YXZwYWNrX3JlYWRfbWV0YWRhdGEpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9maW5hbGl6ZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJICBQb3J0IHRvIG5ldy9vZmZpY2lhbCB3YXZwYWNrIEFQSSwgZG9uJ3QgdXNlIEFQSSB0aGF0IHdhcyBleHBvcnRlZAoJICBpbiB3YXZwYWNrIGhlYWRlciBmaWxlcyBhbmQgaW4gdGhlIGxpYiBidXQgbWVhbnQgdG8gYmUgcHJpdmF0ZSwgYXQKCSAgbGVhc3Qgbm90IGZvciByZWNlbnQgd2F2cGFjayB2ZXJzaW9uczsgbWlzYy4gJ2NsZWFudXBzJyAoIzM0NzQ0MykuCgoyMDA2LTA3LTE3IDEwOjI1OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIFdoZW4gd2UgZG8gYSBrZXlmcmFtZSBzZWVrIGFuZCB0aGUgcmVxdWVzdGVkIHRpbWUgaXMgYXQgdGhlCgkgIGtleWZyYW1lLCBkb24ndCBzZWVrIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUga2V5ZnJhbWUuCgkgIEZpeGVzICMzNDc0MzkuCgoyMDA2LTA3LTE3IDEwOjIyOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogVXNlIHN0YXRpY2FsbHkgYWxsb2NhdGVkIHNlZ21lbnQgaW5zdGVhZCBvZiBsZWFraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwgKGJ1ZmZlcl9jbGlwKSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksIChnc3RfcG5nZGVjX3Rhc2spLAoJICAoZ3N0X3BuZ2RlY19jaGFpbiksIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3BuZ2RlY19saWJwbmdfaW5pdCksIChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcG5nZGVjX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgVXNlIHN0YXRpY2FsbHkgYWxsb2NhdGVkIHNlZ21lbnQgaW5zdGVhZCBvZiBsZWFraW5nLgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBGaXggZmx1c2ggYW5kIHNlZWsgaGFuZGxpbmcuCgoyMDA2LTA3LTE2IDE0OjMxOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHNpbXBsZSBnZW5lcmljIG1wZWc0IGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfYXVkaW9fY29uZmlnKSwgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKToKCSAgQWRkZWQgc2ltcGxlIGdlbmVyaWMgbXBlZzQgZGVwYXlsb2FkZXIuCgkgIEZpeCBnZW5lcmljIG1wZWc0IHBheWxvYWRlci4KCjIwMDYtMDctMTUgMTU6MjU6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IHRyeSBkb2luZyBzdGF0ZSBjaGFuZ2VzIG9uIGEgTlVMTCBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXRfc3RhdGUpOgoJICBEb24ndCB0cnkgZG9pbmcgc3RhdGUgY2hhbmdlcyBvbiBhIE5VTEwgcG9pbnRlci4KCjIwMDYtMDctMTUgMTE6NTA6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoKMjAwNi0wNy0xNCAxMzozMzo1NCArMDAwMCAgU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyQHlhaG9vLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS4qOiBydHBhbXJkZWMgaXNuJ3QgYSBzdWJjbGFzcyBvZiBHc3RCYXNlUnRwRGVwYXlsb2FkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MiBhdCB5YWhvbyBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hbXJfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgcnRwYW1yZGVjIGlzbid0IGEgc3ViY2xhc3Mgb2YgR3N0QmFzZVJ0cERlcGF5bG9hZC4KCSAgRml4ZXMgIzMyMTE5MQoKMjAwNi0wNy0xNCAxMjowMTowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZpeCBzZWdmYXVsdCB3aGVuIG1vdmluZyBtb3VzZSBwb2ludGVyIHRvIHRoZSBib3R0b20gcmlnaHQgY29ybmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0xNCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpOgoJICBGaXggc2VnZmF1bHQgd2hlbiBtb3ZpbmcgbW91c2UgcG9pbnRlciB0byB0aGUgYm90dG9tIHJpZ2h0IGNvcm5lci4KCjIwMDYtMDctMTMgMTU6MjI6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCjIwMDYtMDctMTIgMDk6MzQ6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgbXBlZzIgVFMgZGVwYXlsb2FkZXIuIENsb3NpbmcgIzM0NzIzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXAydF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSAgQWRkZWQgbXBlZzIgVFMgZGVwYXlsb2FkZXIuIENsb3NpbmcgIzM0NzIzNC4KCjIwMDYtMDctMTIgMDk6Mjg6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgIEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgoyMDA2LTA3LTExIDIyOjQ2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogUmVtb3ZlIGdfYXNzZXJ0IHRoYXQgc2hvdWxkbid0IGJlIHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfY2xvc2UpOgoJICBSZW1vdmUgZ19hc3NlcnQgdGhhdCBzaG91bGRuJ3QgYmUgdGhlcmUuCgoyMDA2LTA3LTEwIDIwOjExOjM0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBEb24ndCBwdXNoIHRhZyBldmVudHMgZm91bmQgYnkgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIGJlZm9yZSBvdXRwdXR0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKHB1c2hfdGFnX2xpc3RzKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIERvbid0IHB1c2ggdGFnIGV2ZW50cyBmb3VuZCBieSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgYmVmb3JlIG91dHB1dHRpbmcKCSAgR1NUX0VWRU5UX05FV1NFR01FTlQuCgoyMDA2LTA3LTEwIDE2OjQxOjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiByZXBsYWNlZCBjbG9zZXNvY2tldCBhbmQgY2xvc2UgaW4gY29kZSB3aXRoIG9uZSBDTE9TRV9TT0NLRVQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIHJlcGxhY2VkIGNsb3Nlc29ja2V0IGFuZCBjbG9zZSBpbiBjb2RlIHdpdGggb25lIENMT1NFX1NPQ0tFVC4KCSAgU29tZSBtb3JlIGNsZWFudXBzLiBGaXhlcyAjMzQ1MzAxLgoKMjAwNi0wNy0xMCAxNToyNjozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogRml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICBGaXggZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzLgoKMjAwNi0wNy0xMCAxNDo0OTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoKMjAwNi0wNy0xMCAxNDo0MjoxNSArMDAwMCAgTWF0aGlzIEhvZmVyIDxtYXRoaXMuaG9mZXJAZHJlYW1sYWIubmV0PgoKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hdGhpcyBIb2ZlciA8bWF0aGlzIGRvdCBob2ZlciBhdCBkcmVhbWxhYiBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0X2NhcHMpLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9kaXNwb3NlKSwgKGdzdF9paXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2luaXQpLCAoaWlyX3NldF9jYXBzKSwKCSAgKGlpcl90cmFuc2Zvcm1faXApLCAoaWlyX3NldF9wcm9wZXJ0eSksIChpaXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldF9jYXBzKSwgKGxwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoKMjAwNi0wNy0xMCAxMDoyMTo1NyArMDAwMCAgUm9iIFRheWxvciA8cm9idGF5bG9yQGZsb29waWx5Lm9yZz4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IElmIGEgZGVzdGluYXRpb24gaXMgYWRkZWQgYmVmb3JlIHRoZSBzdHJlYW0gaXMgc2V0IHRvIFBBVVNFRCwgdGhlIG11bHRpY2FzdCBncm91cCBpcyBub3Qgai4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYiBUYXlsb3IgPHJvYnRheWxvciBhdCBmbG9vcGlseSBkb3Qgb3JnPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChqb2luX211bHRpY2FzdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgIElmIGEgZGVzdGluYXRpb24gaXMgYWRkZWQgYmVmb3JlIHRoZSBzdHJlYW0gaXMgc2V0IHRvIFBBVVNFRCwgdGhlCgkgIG11bHRpY2FzdCBncm91cCBpcyBub3Qgam9pbmVkIGFzIHRoZSBzb2NrZXQgaXMgbm90IGNyZWF0ZWQgeWV0LgoJICBBbHNvIFRUTCBhbmQgTE9PUCBzaG91bGQgYWxzbyBiZSBzZXQuIEZpeGVzICMzNDY5MjEuCgoyMDA2LTA3LTEwIDA5OjU3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGNvbW1lbnQgaW5mb3JtYXRpb24hIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBFeHRyYWN0IGNvbW1lbnQgaW5mb3JtYXRpb24hIQoKMjAwNi0wNy0xMCAwOTo0NjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpOgoJICBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgoyMDA2LTA3LTA4IDIyOjQxOjI1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuKjogRml4IHVzZS1kYW1hZ2UgcHJvcGVydHkgdG8gYWN0dWFsbHkgd29yayA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0wOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfeGltYWdlX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZV9zcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlX3NyY19pbml0KToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICBGaXggdXNlLWRhbWFnZSBwcm9wZXJ0eSB0byBhY3R1YWxseSB3b3JrIDopCgkgIEFkZCBzdGFydHgsIHN0YXJ0eSwgZW5keCwgZW5keSBwcm9wZXJ0aWVzIHNvIHNjcmVlbmNhc3RzIG90aGVyIHRoYW4gZnVsbAoJICBzY3JlZW4gb25lcyBjYW4gd29yay4KCjIwMDYtMDctMDggMTk6MDM6NTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy4qOiBBZGQgdXNlX2RhbWFnZSBwcm9wZXJ0eSB0byBvZmZlciBhYmlsaXR5IHRvIGNob29zZSB3aGV0aGVyIHRvIHVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0wOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfeGltYWdlX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCksIChnc3RfeGltYWdlX3NyY19pbml0KToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICBBZGQgdXNlX2RhbWFnZSBwcm9wZXJ0eSB0byBvZmZlciBhYmlsaXR5IHRvIGNob29zZSB3aGV0aGVyIHRvIHVzZQoJICBYRGFtYWdlIG9yIG5vdC4KCjIwMDYtMDctMDcgMTU6MDQ6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ29vbS9maWx0ZXJzLmM6IEF2b2lkIGdvb20gY29yZWR1bXBpbmcgYnkgY2xlYXJpbmcgbWVtb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tRmlsdGVyU2V0UmVzb2x1dGlvbik6CgkgIEF2b2lkIGdvb20gY29yZWR1bXBpbmcgYnkgY2xlYXJpbmcgbWVtb3J5LgoJICBGaXhlcyAzNDU2NzkuCgoyMDA2LTA3LTA3IDE0OjMwOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjcmFzaCBvbiB0d29zL3Nvd3QvcmF3IGF1ZGlvLiAjMzQ1ODMwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBjcmFzaCBvbiB0d29zL3Nvd3QvcmF3IGF1ZGlvLiAjMzQ1ODMwLgoKMjAwNi0wNy0wNSAyMDoyMTowMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDogQWRkIGEgbGluayB0byBsaWJnc3R0YWctMC4xMC5saWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgIEFkZCBhIGxpbmsgdG8gbGliZ3N0dGFnLTAuMTAubGliLgoKMjAwNi0wNy0wNSAxNDo1MjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IERvbid0IHJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhIGJ1ZmZlciBpcyBiZWZvcmUgdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0gKHdoaWNoIG1pZ2h0IGhhcHBlbiB3aXRoIGxhcmdlIElEMy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF90YWdfZGVtdXhfcmVhZF9yYW5nZSk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBEb24ndCByZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYSBidWZmZXIgaXMgYmVmb3JlCgkgIHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtICh3aGljaCBtaWdodCBoYXBwZW4gd2l0aAoJICBsYXJnZSBJRDN2MiB0YWdzIGlmIHRoZSB0YWcgcmVhZGluZyB3YXMgZG9uZSBwdWxscmFuZ2UKCSAgYmFzZWQgYW5kIHdlIHRoZW4gc3dpdGNoZWQgdG8gcHVzaCBtb2RlIGxhdGVyIG9uKS4KCSAgRml4ZXMgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCBmcm9tIEp1bmUgMjl0aC4KCjIwMDYtMDctMDUgMTA6MTQ6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBNYWtlIFVURi04IHRoZSBkZWZhdWx0IGVuY29kaW5nIHdoZW4gd3JpdGluZyBzdHJpbmcgdGFncyAoYmVmb3JlLCBvdXIgVVRGLTggc3RyaW5ncyB3b3VsZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgTWFrZSBVVEYtOCB0aGUgZGVmYXVsdCBlbmNvZGluZyB3aGVuIHdyaXRpbmcgc3RyaW5nCgkgIHRhZ3MgKGJlZm9yZSwgb3VyIFVURi04IHN0cmluZ3Mgd291bGQgYXV0b21hdGljYWxseQoJICBiZSBjb252ZXJ0ZWQgdG8gSVNPLTg4NTktMSBieSB0YWdsaWIgYW5kIHdyaXR0ZW4gYXMKCSAgSVNPLTg4NTktMSBmaWVsZHMgaWYgdGhhdCB3YXMgcG9zc2libGUpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh1dGY4X3N0cmluZ19pbl9idWYpLAoJICAodGVzdF90YWdsaWJfaWQzbXV4X2NoZWNrX3RhZ19idWZmZXIpLCAoaWRlbnRpdHlfY2IpLAoJICAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgIEFkZCB0ZXN0IGNhc2UgdGhhdCBtYWtlcyBzdXJlIG91ciBVVEYtOCBzdHJpbmdzIGhhdmUKCSAgYWN0dWFsbHkgYmVlbiB3cml0dGVuIGludG8gdGhlIHRhZyBhcyBVVEYtOC4KCjIwMDYtMDctMDQgMTY6MDA6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IExldCdzIHRyeSB0aGF0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIExldCdzIHRyeSB0aGF0IGFnYWluLgoKMjAwNi0wNy0wNCAxNTo0MDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBtb25vc2NvcGUgcGx1Z2luIGZvciBub3cgdW50aWwgaXQgZnVsZmlsbHMgYWxsIHRoZSByZXF1aXJlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBtb25vc2NvcGUgcGx1Z2luIGZvciBub3cgdW50aWwgaXQgZnVsZmlsbHMKCSAgYWxsIHRoZSByZXF1aXJlbWVudHMuCgoyMDA2LTA3LTAzIDIwOjM1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBtb25vc2NvcGUgdmlzdWFsaXNhdGlvbiB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9iYXNlX2luaXQpLAoJICAoZ3N0X21vbm9zY29wZV9jbGFzc19pbml0KSwgKGdzdF9tb25vc2NvcGVfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX2ZpbmFsaXplKSwgKGdzdF9tb25vc2NvcGVfcmVzZXQpLAoJICAoZ3N0X21vbm9zY29wZV9zaW5rX3NldGNhcHMpLCAoZ3N0X21vbm9zY29wZV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfbW9ub3Njb3BlX3NyY19uZWdvdGlhdGUpLCAoZ2V0X2J1ZmZlciksIChnc3RfbW9ub3Njb3BlX2NoYWluKSwKCSAgKGdzdF9tb25vc2NvcGVfc2lua19ldmVudCksIChnc3RfbW9ub3Njb3BlX3NyY19ldmVudCksCgkgIChnc3RfbW9ub3Njb3BlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSAgUG9ydCBtb25vc2NvcGUgdmlzdWFsaXNhdGlvbiB0byAwLjEwLgoKMjAwNi0wNy0wMyAyMDowMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIElWNDEgZm91cmNjIChzZWUgYnVnICMxNzExMTEpOyBkb24ndCBvdXRwdXQgY29uZnVzaW5nCgkgIGRlYnVnIG1lc3NhZ2Ugd2hlbiBza2lwcGluZyBhdG9tcy4KCjIwMDYtMDctMDMgMTY6NDM6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwgbm90CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUsIG5vdAoJICBGTE9XX0VSUk9SLiBGaXhlcyAnaW50ZXJuYWwgc3RyZWFtIGVycm9yJyBlcnJvcnMgdGhhdAoJICB3b3VsZCBzb21ldGltZXMgb2NjdXIgaW4gdG90ZW0gd2hlbiBzY3J1YmJpbmcgdG8gdGhlCgkgIGVuZCBvZiBhbiBJRDN2MSB0YWdnZWQgbXAzIGZpbGUuCgoyMDA2LTA3LTAzIDE1OjMxOjIyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogSW1wbGVtZW50IGJ1ZmZlciBjbGlwcGluZy9kcm9wcGluZyB1c2luZyBHc3RTZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwgKHVzZXJfaW5mb19jYWxsYmFjayksCgkgIChidWZmZXJfY2xpcCksICh1c2VyX2VuZF9jYWxsYmFjayksIChnc3RfcG5nZGVjX2NoYWluKSwKCSAgKGdzdF9wbmdkZWNfc2lua19ldmVudCksIChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgSW1wbGVtZW50IGJ1ZmZlciBjbGlwcGluZy9kcm9wcGluZyB1c2luZyBHc3RTZWdtZW50LgoJICBUaGlzIHByb3ZpZGVzIGFjY3VyYXRlIHNlZWtpbmcuCgoyMDA2LTA3LTAzIDE1OjI4OjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBQcm9wZXIgYWdncmVnYXRpb24gb2YgZWFjaCBzdHJlYW0ncyBHc3RGbG93UmV0dXJuIGluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgd2hldGhlciB0aGUgdGFzayBzaG91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXMpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X2FnZ3JlZ2F0ZWRfZmxvdyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChwdXNoX3RhZ19saXN0cyksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBQcm9wZXIgYWdncmVnYXRpb24gb2YgZWFjaCBzdHJlYW0ncyBHc3RGbG93UmV0dXJuIGluIG9yZGVyIHRvIGZpZ3VyZSBvdXQKCSAgd2hldGhlciB0aGUgdGFzayBzaG91bGQgc3RvcCBvciBub3QuCgkgIERvbid0IHNlbmQgaW5saW5lIGV2ZW50cyBiZWZvcmUgcHVzaGluZyBvdXQgYSBORVdfU0VHTUVOVCwgbW9yZQoJICBzcGVjaWZpY2FsbHkgZm9yIEdTVF9UQUdfRVZFTlQuCgkgIENoYW5nZSBhIEdTVF9FUlJPUiB0byBhIEdTVF9XQVJOSU5HIGZvciBhIG5vbi1mYXRhbCBzaXR1YXRpb24gaW4gcmVhZGluZwoJICBzdWItaW5kZXhlcy4KCjIwMDYtMDYtMzAgMDc6MTE6MjQgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOiBNb3ZlICJNb25pdG9yIiBzbGlkZXIgdG8gaW5wdXQgdGFiIHNvIGl0IHdvcmtzIG1vcmUgbGlrZSBzZHRhdWRpb2NvbnRyb2wsIHdoaWNoIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCk6CgkgIE1vdmUgIk1vbml0b3IiIHNsaWRlciB0byBpbnB1dCB0YWIgc28gaXQgd29ya3MgbW9yZSBsaWtlCgkgIHNkdGF1ZGlvY29udHJvbCwgd2hpY2ggaXMgd2hhdCBwZW9wbGUgb24gU29sYXJpcyBhcmUgdXNlZAoJICB0byB1c2luZyBmb3IgdGhlaXIgbWl4ZXIgcHJvZ3JhbSAoIzM0NjI1OSkuCgoyMDA2LTA2LTI5IDE0OjUwOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IGZpeCBhIGxlYWssIGNsZWFuIHVwIGF0IHRoZSBlbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgZml4IGEgbGVhaywgY2xlYW4gdXAgYXQgdGhlIGVuZAoKMjAwNi0wNi0yOSAxMTo0MTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFNlbmQgdGFnIGV2ZW50IGFmdGVyIG5ld3NlZ21lbnQgZXZlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFNlbmQgdGFnIGV2ZW50IGFmdGVyIG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA2LTA2LTI5IDExOjExOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gR1NUX0ZMT1dfT0sgd2l0aCBhIE5VTEwgYnVmZmVyIGluIGNlcnRhaW4gY2FzZXMgd2hlcmUgYSByZWFkIGJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKToKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJldHVybiBHU1RfRkxPV19PSyB3aXRoIGEgTlVMTCBidWZmZXIgaW4KCSAgY2VydGFpbiBjYXNlcyB3aGVyZSBhIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgaXMKCSAgcmVxdWVzdGVkLiBGaXhlcyAjMzQ1OTMwLgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X3RhZ19kZW11eF9yZWFkX3JhbmdlKToKCSAgRml4IHNhbWUgaXNzdWUgaGVyZSBhcyB3ZWxsLgoKMjAwNi0wNi0yOSAxMTowNToxNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZpeCBoeXBvdGhldGljYWwgY3Jhc2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTI5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBGaXggaHlwb3RoZXRpY2FsIGNyYXNoLgoKMjAwNi0wNi0yOCAwODozNjozMCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiBEbyBub3QgbW9kaWZ5IHRoZSBwb3J0cyB2YWx1ZS4gSWYgdGhlIHVzZXIgaGFzIHR1cm5lZCBvZmYgdGhlIGJ1aWx0LWluIHNwZWFrZXJzLCB0aGVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSk6CgkgIERvIG5vdCBtb2RpZnkgdGhlIHBvcnRzIHZhbHVlLiBJZiB0aGUgdXNlciBoYXMgdHVybmVkIG9mZiB0aGUKCSAgYnVpbHQtaW4gc3BlYWtlcnMsIHRoZW4gd2Ugc2hvdWxkIG5vdCByZXNldCBpdCBpbiB0aGUgcHJlcGFyZQoJICBmdW5jdGlvbiwgc2luY2UgdGhpcyBjYXVzZXMgdGhlIGJ1aWx0LWluIHNwZWFrZXJzIHRvIHR1cm4KCSAgYmFjayBvbiBhbnl0aW1lIHRoZSB1c2VyIGNoYW5nZXMgYSB0cmFjayBpbiB0b3RlbSwgcmh5dGhtYm94LAoJICBldGMuICgjMzQ2MDY2KS4KCjIwMDYtMDYtMjMgMDk6MzU6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ29vbS9nc3Rnb29tLmM6IEZpeCBkb3VibGUgY2FwcyB1bnJlZiB3aGVuIG5lZ290aWF0aW9uIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKToKCSAgRml4IGRvdWJsZSBjYXBzIHVucmVmIHdoZW4gbmVnb3RpYXRpb24gZmFpbHMuCgoyMDA2LTA2LTIyIDE5OjMxOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIHBsdXMgdHdvIG1pbm9yIG1hY3JvIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKQoJICBwbHVzIHR3byBtaW5vciBtYWNybyBmaXhlcy4KCjIwMDYtMDYtMjIgMTY6Mjc6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBUcnkgdG8gZml4IHVwIGJyb2tlbiBtYXRyb3NrYSBmaWxlcyBjb250YWluaW5nIHN1YnRpdGxlIHN0cmVhbXMgd2l0aCBub24tVVRGOCBjaGFyYWN0ZXIgZW5jb2RpbmdzIChjb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9zdWJ0aXRsZV9jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFRyeSB0byBmaXggdXAgYnJva2VuIG1hdHJvc2thIGZpbGVzIGNvbnRhaW5pbmcgc3VidGl0bGUKCSAgc3RyZWFtcyB3aXRoIG5vbi1VVEY4IGNoYXJhY3RlciBlbmNvZGluZ3MgKGNvdXJ0ZXN5IG9mCgkgIG1rdm1lcmdlKSB1c2luZyBlaXRoZXIgdGhlIGVuY29kaW5nIHNwZWNpZmllZCBpbiB0aGUKCSAgR1NUX1NVQlRJVExFX0VOQ09ESU5HIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZQoJICBjdXJyZW50IGxvY2FsZSdzIGNoYXJhY3RlciBzZXQgaWYgaXQgaXMgbm9uLVVURjguCgkgIEZpeGVzICMzMzcwNzYuCgoyMDA2LTA2LTIyIDEyOjE3OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFNldCBpbWFnZSB0eXBlIGZyb20gQVBJQyBmcmFtZSBhcyAiaW1hZ2UtdHlwZSIgZmllbGQgb2YgR1NUX1RBR19JTUFHRSBidWZmZXIgY2FwcyAoIzM0NDYwNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIFNldCBpbWFnZSB0eXBlIGZyb20gQVBJQyBmcmFtZSBhcyAiaW1hZ2UtdHlwZSIgZmllbGQKCSAgb2YgR1NUX1RBR19JTUFHRSBidWZmZXIgY2FwcyAoIzM0NDYwNSkuCgoyMDA2LTA2LTIwIDE5OjQwOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvOiBTdXBwb3J0IGNoYWluLWJhc2VkIG9wZXJhdGlvbiwgc2hvdWxkIG1ha2UgZmxhYy1vdmVyLURBQVAgd29yayAoIzM0MDQ5MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19yZXNldF9kZWNvZGVycyksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLCAoZ3N0X2ZsYWNfZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2tfc2Vla2FibGUpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrX3N0cmVhbSksCgkgIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrX3NlZWthYmxlKSwKCSAgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFja19zdHJlYW0pLCAoZ3N0X2ZsYWNfZGVjX3JlYWRfc2Vla2FibGUpLAoJICAoZ3N0X2ZsYWNfZGVjX3JlYWRfc3RyZWFtKSwgKGdzdF9mbGFjX2RlY193cml0ZSksCgkgIChnc3RfZmxhY19kZWNfd3JpdGVfc2Vla2FibGUpLCAoZ3N0X2ZsYWNfZGVjX3dyaXRlX3N0cmVhbSksCgkgIChnc3RfZmxhY19kZWNfbG9vcCksIChnc3RfZmxhY19kZWNfc2lua19ldmVudCksCgkgIChnc3RfZmxhY19kZWNfY2hhaW4pLCAoZ3N0X2ZsYWNfZGVjX2NvbnZlcnRfc2luayksCgkgIChnc3RfZmxhY19kZWNfZ2V0X3NpbmtfcXVlcnlfdHlwZXMpLCAoZ3N0X2ZsYWNfZGVjX3NpbmtfcXVlcnkpLAoJICAoZ3N0X2ZsYWNfZGVjX2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSksCgkgIChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X2ZsYWNfZGVjX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2ZsYWNfZGVjX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfZmxhY19kZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9mbGFjX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgU3VwcG9ydCBjaGFpbi1iYXNlZCBvcGVyYXRpb24sIHNob3VsZCBtYWtlIGZsYWMtb3Zlci1EQUFQCgkgIHdvcmsgKCMzNDA0OTIpLgoKMjAwNi0wNi0yMCAxNTozNTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBEb2MgdXBkYXRlcywgbWVyZ2Ugc29tZSB1bnVzZWQgc3ltYm9scy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIERvYyB1cGRhdGVzLCBtZXJnZSBzb21lIHVudXNlZCBzeW1ib2xzLgoKMjAwNi0wNi0yMCAxNDo1NzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBydHNwIHBsdWdpbi4gRml4ZXMgIzM0NTM5My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgcnRzcCBwbHVnaW4uIEZpeGVzICMzNDUzOTMuCgoyMDA2LTA2LTIwIDEyOjEwOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogVXNlIGJldHRlciBHX09TXyogbWFjcm9zLiBGaXhlcyAjMzQ1MzAxIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGluZXRfYXRvbiksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpLCAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBVc2UgYmV0dGVyIEdfT1NfKiBtYWNyb3MuIEZpeGVzICMzNDUzMDEgc29tZSBtb3JlLgoKMjAwNi0wNi0yMCAxMDozNTo0OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogQWRkIGEgU3VuQXVkaW8gc291cmNlIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9uZXcpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9saXN0X3RyYWNrcyksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X211dGUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfcmVjb3JkKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19pbml0KSwgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX25ldyk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2Jhc2VfaW5pdCksIChnc3Rfc3VuYXVkaW9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zcmNfaW5pdCksIChnc3Rfc3VuYXVkaW9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3N1bmF1ZGlvc3JjX2dldGNhcHMpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pLCAoZ3N0X3N1bmF1ZGlvc3JjX2Nsb3NlKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19wcmVwYXJlKSwgKGdzdF9zdW5hdWRpb3NyY191bnByZXBhcmUpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3JlYWQpLCAoZ3N0X3N1bmF1ZGlvc3JjX2RlbGF5KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19yZXNldCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIEFkZCBhIFN1bkF1ZGlvIHNvdXJjZSBwbHVnaW4uCgkgIFN1cHBvcnQgc3RlcmVvIGFuZCByaWdodC9sZWZ0IGNoYW5uZWwgZ2FpbiBpbiB0aGUgbWl4ZXIgcGx1Z2luLgoJICBTdXBwb3J0IHRoZSBSRUNPUkQgZmxhZyBzbyB0aGF0IHlvdSBjYW4gc3dpdGNoIGJldHdlZW4gbGluZS1pbnB1dCBhbmQKCSAgbWljcm9waG9uZSBpbiBnbm9tZS12b2x1bWUtY29udHJvbC4KCSAgQ29kZSBjbGVhbnVwcyBsaWtlIHVzaW5nIGFuIGVudW1lcmF0b3IgZm9yIHRyYWNrIG51bWJlciBpbnN0ZWFkIG9mIGFuCgkgIGludGVnZXIuIEZpeGVzICMzNDQ5MjMuCgoyMDA2LTA2LTIwIDEwOjMxOjQxICswMDAwICBKb25pIFZhbHRhbmVuIDxqb25pLnZhbHRhbmVuQG1vdmlhbC5maT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IE1ha2UgUlRTUCBwbHVnaW4gY29tcGlsZSBvbiB3aW5kb3dzLiBGaXhlcyAjMzQ1MzAxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmkgVmFsdGFuZW4gPGpvbmkgZG90IHZhbHRhbmVuIGF0IG1vdmlhbCBkb3QgZmk+CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGluZXRfYXRvbiksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICBNYWtlIFJUU1AgcGx1Z2luIGNvbXBpbGUgb24gd2luZG93cy4gRml4ZXMgIzM0NTMwMS4KCSAgU29tZSBjaGFuZ2VzIHRvIG9yaWdpbmFsIHBhdGNoIHRvIGNhdGNoIGVycm9ycyBiZXR0ZXIuCgkgIHVzZSBpZmRlZiBXSU4zMiBpbnN0ZWFkIG9mIGlmbmRlZi4KCjIwMDYtMDYtMTkgMTA6MDA6MTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBjb25maWd1cmUuYWM6IElmIHdlIGhhdmUgbGlicmF3MTM5NCA+PSAxLjIuMSwgdGhlbiB3ZSBuZWVkIGxpYmllYzYxODgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0xOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgSWYgd2UgaGF2ZSBsaWJyYXcxMzk0ID49IDEuMi4xLCB0aGVuIHdlIG5lZWQgbGliaWVjNjE4ODMuCgoyMDA2LTA2LTE4IDE0OjAwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBBZnRlciBhIGZhaWxlZCBidWZmZXIgYWxsb2MsIHdlIG5lZWQgdG8gYWJvcnQgdGhlIGpwZWcgZGVjb2RpbmcgKGl0IHN0YXJ0ZWQgd2hlbiBwYXJzaW5nIGhlYWRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEFmdGVyIGEgZmFpbGVkIGJ1ZmZlciBhbGxvYywgd2UgbmVlZCB0byBhYm9ydCB0aGUganBlZyBkZWNvZGluZyAoaXQKCSAgc3RhcnRlZCB3aGVuIHBhcnNpbmcgaGVhZGVycyB0byBmaWd1cmUgb3V0IGhvdyBtYW55IGJ5dGVzIHdlIG5lZWQKCSAgdG8gcmVxdWVzdCBkb3duc3RyZWFtKS4KCjIwMDYtMDYtMTggMTI6Mzc6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKCMzNDUyMzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2Vlayk6CgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICgjMzQ1MjMyKS4KCjIwMDYtMDYtMTcgMTQ6MzU6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwgIzM0MzYwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LAoJICAjMzQzNjAyKS4KCjIwMDYtMDYtMTYgMTI6MzU6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMTYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCjIwMDYtMDYtMTYgMTA6NTY6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX1BMVUdJTl9ET0NTLCAtLWVuYWJsZS1wbHVnaW4tZG9jcyBldGMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfUExVR0lOX0RPQ1MsIC0tZW5hYmxlLXBsdWdpbi1kb2NzIGV0Yy4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgIEFkZC9maXggYXBldjJtdXggZG9jcy4KCjIwMDYtMDYtMTYgMDk6NDk6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IHBvcnQgdG8gdXNlIG1lc3NhZ2UgdG8gZ2V0IHJlc3VsdHMsIGNsZWFubHkgZXhpdCB3aGVuIGNsb3NpbmcgdGhlIHdpbmRvdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG9uX3dpbmRvd19kZXN0cm95KSwKCSAgKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIHBvcnQgdG8gdXNlIG1lc3NhZ2UgdG8gZ2V0IHJlc3VsdHMsIGNsZWFubHkgZXhpdCB3aGVuIGNsb3NpbmcgdGhlIHdpbmRvdwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfY2FwcyksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KSwgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBwb3J0IHRvIGRlcml2ZSBmcm9tIGJhc2V0cmFuc2Zvcm0gYW5kIHNlbmQgcmVzdWx0cyB2aWEgbWVzc2FnZXMKCSAgKGxpa2UgbGV2ZWwgZWxlbWVudCkKCjIwMDYtMDYtMTUgMTU6NTg6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgoyMDA2LTA2LTE1IDA4OjUwOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIEZpeGVzICMzNDQ5NDQuCgoyMDA2LTA2LTE0IDE1OjU5OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLmM6IFJlc2V0IHNlZ21lbnQgaW5mbyBvbiBmbHVzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2xhc3NfaW5pdCksIChnc3RfZHZkZWNfaW5pdCksCgkgIChnc3RfZHZkZWNfZmluYWxpemUpLCAoZ3N0X2R2ZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIFJlc2V0IHNlZ21lbnQgaW5mbyBvbiBmbHVzaC4KCSAgQWxsb2Mgc2VnbWVudCBpbiBfaW5pdCwgZnJlZSBpbiBfZmluYWxpemUuCgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9wdWxsX3NlZWspOgoJICBEb24ndCBzZW5kIHNlZ21lbnRzIHR3aWNlLgoKMjAwNi0wNi0xNCAxNTowNzoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IFJlc3BlY3Qgc2VnbWVudC5zdG9wLiBGaXhlcyAjMzQyNTkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICBSZXNwZWN0IHNlZ21lbnQuc3RvcC4gRml4ZXMgIzM0MjU5Mi4KCjIwMDYtMDYtMTQgMTE6Mjg6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogTm8gbGFuZ3VhZ2Ugc3BlY2lmaWVkIG1lYW5zIHRoZSBpbXBsaWVkIGxhbmd1YWdlIGlzIEVuZ2xpc2ggYWNjb3JkaW5nIHRvIHRoZSBtYXRyb3NrYSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSk6CgkgIE5vIGxhbmd1YWdlIHNwZWNpZmllZCBtZWFucyB0aGUgaW1wbGllZCBsYW5ndWFnZSBpcyBFbmdsaXNoCgkgIGFjY29yZGluZyB0byB0aGUgbWF0cm9za2Egc3BlYyAocGFydGlhbGx5IGZpeGVzICMzNDQ3MDgpOwoJICBhZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dC4KCjIwMDYtMDYtMTQgMDk6MzI6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldyBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcyBvcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcKCSAgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3RoZXIgc3R1ZmYuIFNldCBkdXJhdGlvbgoJICB0byAndW5rbm93bicgaW4gaW5pdGlhbCBoZWFkZXIgYW5kIHJlc2VuZCBoZWFkZXIgd2l0aCBwcm9wZXIKCSAgZHVyYXRpb24gb24gRU9TOyB1cGRhdGUgU2ViYXN0aWFuJ3MgZS1tYWlsIGFkZHJlc3MuCgoyMDA2LTA2LTE0IDA4OjA2OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFdoZW4gb3BlcmF0aW5nIGNoYWluLWJhc2VkLCBkb24ndCBtYWtlIGFueSBhc3N1bXB0aW9ucyBhYm91dCB0aGUgY2h1bmtpbmcgb2YgdGhlIGluY29taW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksCgkgIChnc3Rfd2F2cGFyc2VfcGVla19jaHVuayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgV2hlbiBvcGVyYXRpbmcgY2hhaW4tYmFzZWQsIGRvbid0IG1ha2UgYW55IGFzc3VtcHRpb25zIGFib3V0IHRoZQoJICBjaHVua2luZyBvZiB0aGUgaW5jb21pbmcgZGF0YSBhbmQgbWFrZSBzdHJlYW1pbmcgd29yayBvbiBkYXlzIG90aGVyCgkgIHRoYW4gdGhlIHNlY29uZCBUaHVyc2RheSBhZnRlciBhIGZ1bGwgbW9vbi4gQWxzbyBmaXggdXAgZGVidWcKCSAgbWVzc2FnZXMgaGVyZSBhbmQgdGhlcmUgYW5kIG1ha2UgdXNlIG9mIHRoZSBtb3N0IGV4Y2VsbGVudCBuZXcKCSAgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgdXRpbGl0eSBmdW5jdGlvbi4KCSAgU2tpcCBhbnkgJ2JleHQnIGNodW5rcyBpbiBmcm9udCBvZiB0aGUgJ2ZtdCAnIGNodW5rLiBGaXhlcyAjMzQzODM3LgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBSZW1vdmUgdHJhaWxpbmcgY29tbWEgYWZ0ZXIgbGFzdCBlbnVtIHZhbHVlLCBzb21lIGNvbXBpbGVycyBkb24ndAoJICBsaWtlIHRoYXQuCgoyMDA2LTA2LTEzIDE3OjA1OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSBwcmVtYXR1cmUgRU9TIGdyYWNlZnVsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgSGFuZGxlIHByZW1hdHVyZSBFT1MgZ3JhY2VmdWxseS4KCjIwMDYtMDYtMTMgMDk6NTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFByZXZlbnQgb3V0IG9mIGJvdW5kcyBhcnJheSBhY2Nlc3Mgd2hlbiBzY3J1YmJpbmcgdG93YXJkcyB0aGUgZW5kIG9mIHRoZSBmaWxlIGJldHdlZW4gdGhlIGxhc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIFByZXZlbnQgb3V0IG9mIGJvdW5kcyBhcnJheSBhY2Nlc3Mgd2hlbiBzY3J1YmJpbmcgdG93YXJkcwoJICB0aGUgZW5kIG9mIHRoZSBmaWxlIGJldHdlZW4gdGhlIGxhc3QgaW5kZXggZW50cnkgYW5kIHRoZQoJICBlbmQuIEZpeGVzIG9jY2FzaW9uYWwgJ3N0YXJ0IDw9IHN0b3AnIG5ld3NlZ21lbnQgZXZlbnQKCSAgYXNzZXJ0aW9ucyB3aGVuIHNjcnViYmluZyBpbiBNSlBFRyBmaWxlcy4KCjIwMDYtMDYtMTIgMTE6MTM6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBBbmQgYW5vdGhlciBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFuZCBhbm90aGVyIG9uZS4KCjIwMDYtMDYtMTIgMTE6MDQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDYtMDYtMTIgMTA6NTM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGlyZWN0ZHJhd3NpbmtfaW5pdCk6CgkgIENvbW1lbnQgb3V0IHVudXNlZCBnbG9iYWwgaW5zdGFuY2UgdmFyaWFibGUuCgoyMDA2LTA2LTExIDE5OjMxOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEV4dHJhY3QgaW1hZ2VzIGZyb20gSUQzdjIgdGFncyAoQVBJQyBmcmFtZXMpLiBGaXhlcyAjMzM5NzA0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHNjYW5fZW5jb2RlZF9zdHJpbmcpLCAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIEV4dHJhY3QgaW1hZ2VzIGZyb20gSUQzdjIgdGFncyAoQVBJQyBmcmFtZXMpLiBGaXhlcyAjMzM5NzA0LgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlID49IDAuMTAuOCAoZm9yIEdTVF9UQUdfSU1BR0UgYW5kCgkgIEdTVF9UQUdfUFBFVklFV19JTUFHRSB1c2VkIGluIHRoZSBwYXRjaCBhYm92ZSkuCgoyMDA2LTA2LTExIDE4OjU2OjI0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9yYXcxMzk0Ly5naXRpZ25vcmU6CgkqIGV4dC90YWdsaWIvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvLmdpdGlnbm9yZToKCSAgbW9hcCBpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vYXAgaWdub3JlCgoyMDA2LTA2LTExIDE4OjUyOjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBncmF0dWl0b3VzIGNvbW1lbnQgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpOgoJICBncmF0dWl0b3VzIGNvbW1lbnQgY2hhbmdlcwoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGZpeCBsZXZlbCB0ZXN0IGxlYWtzCgoyMDA2LTA2LTExIDE4OjQ0OjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNi0xMSAxODoyMDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB1dGlsaXR5IGZ1bmN0aW9uIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoaWQzZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpOgoJICBVc2UgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgdXRpbGl0eSBmdW5jdGlvbiBoZXJlLgoKMjAwNi0wNi0xMSAxMzo1NzoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiByZXF1aXJlIGFtMTcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgcmVxdWlyZSBhbTE3CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgY2xlYW4gdXAgYnVpbGQgZnVydGhlcgoKMjAwNi0wNi0xMSAxMzo1NTozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUKCjIwMDYtMDYtMTAgMTU6MzM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGV4dC93YXZwYWNrLzogQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlPgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL21kNS5jOgoJICAqIGV4dC93YXZwYWNrL21kNS5oOgoJICBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoKMjAwNi0wNi0wOSAyMDozNjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdjb25mL01ha2VmaWxlLmFtOiBIb25vdXIgLS1kaXNhYmxlLXNjaGVtYXMtaW5zdGFsbCBjb25maWd1cmUgb3B0aW9uLiBGaXhlcyAjMzQ0MTAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgSG9ub3VyIC0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwgY29uZmlndXJlIG9wdGlvbi4gRml4ZXMgIzM0NDEwMC4KCjIwMDYtMDYtMDkgMTg6MzM6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbTogQWRkIC1sbSB0byBMSUJTIGZvciBwb3coKSBmdW5jdGlvbiwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIgZGVwZW5kZW5jaWVzIChzdWNoIGFzIGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkgIEFkZCAtbG0gdG8gTElCUyBmb3IgcG93KCkgZnVuY3Rpb24sIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyCgkgIGRlcGVuZGVuY2llcyAoc3VjaCBhcyBsaWJ4bWwtMi4wKSBkcmFncyBpdCBpbiBhdXRvbWF0aWNhbGx5CgkgICgjMzQzNjAzKS4KCjIwMDYtMDYtMDkgMTg6MTc6MjMgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBXZSBzaG91bGQgdXNlICRTRUQgYW5kIG5vdCAkKFNFRCkgaW4gY29uZmlndXJlLmFjICgjMzQzNjc4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2Ugc2hvdWxkIHVzZSAkU0VEIGFuZCBub3QgJChTRUQpIGluIGNvbmZpZ3VyZS5hYyAoIzM0MzY3OCkuCgoyMDA2LTA2LTA5IDE3OjM4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMsIGZpeGVzIGJ1aWxkIG9uIGN5Z3dpbiAoIzM0Mzg2NikuCgoyMDA2LTA2LTA5IDE3OjI5OjA4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBBdHRhY2hlZCBmaW5kIGEgcGF0Y2ggdGhhdCBmaXhlcyBhIG51bWJlciBvZiBidWdzIHdpdGggdGhlIFN1bkF1ZGlvIG1peGVyIHBsdWdpbiBhbmQgZml4ZXMgIzM0NDEwMTogMS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfb3BlbiksIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9uZXcpLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X211dGUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfd3JpdGUpOgoJICBBdHRhY2hlZCBmaW5kIGEgcGF0Y2ggdGhhdCBmaXhlcyBhIG51bWJlciBvZiBidWdzIHdpdGggdGhlIFN1bkF1ZGlvIG1peGVyCgkgIHBsdWdpbiBhbmQgZml4ZXMgIzM0NDEwMToKCSAgMS4gVGhlIGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCBrZXB0IGFwcGVuZGluZyB0aGUgc2FtZSAzIHRyYWNrcyBvbnRvCgkgIHRoZSB0cmFja2xpc3QgY2F1c2luZyBnbm9tZS12b2x1bWUtY29udHJvbCdzIHByZWZlcmVuY2VzIGRpYWxvZyB0byBiZSBtZXNzZWQKCSAgdXAgYW5kIHdvdWxkIGNvcmUgZHVtcCBpZiB5b3UgY2hlY2tlZC91bmNoZWNrZWQgYW55IGl0ZW0uCgkgIDIuIFdlIHdlcmVuJ3QgcHJldmlvdXNseSBzZXR0aW5nIHRoZSBNVVRFIGZsYWcgcHJvcGVybHkuICBGaXhpbmcgdGhpcyBtYWtlcwoJICBnbm9tZS12b2x1bWUtY29udHJvbCB3b3JrIGJldHRlci4KCSAgMy4gTm93IHdlIHByb3Blcmx5IGRlZmluZSB0aGUgaW5wdXQgdHJhY2sgdG8gYmUgR1NUX01JWEVSX1RSQUNLX0lOUFVUIGFuZAoJICB0aGUgbW9uaXRvciB0byBiZSBHU1RfTUlYRVJfVFJBQ0tfT1VUUFVULCBzbyB0aGF0IG1ha2VzIGdub21lLXZvbHVtZS1jb250cm9sCgkgIGxvb2sgYmV0dGVyLgoJICBBbHNvIHNvbWUgbWlub3IgY2xlYW51cCBpbiBnc3RzdW5hdWRpb3NpbmsuYy4KCjIwMDYtMDYtMDkgMTc6MTI6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IEFQSTogQWRkZWQgSURDVCBtZXRob2QgcHJvcGVydHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2lkY3RfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9qcGVnX2RlY19jbGFzc19pbml0KSwgKGdzdF9qcGVnX2RlY19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19kZWNvZGVfaW5kaXJlY3QpLCAoZ3N0X2pwZWdfZGVjX2RlY29kZV9kaXJlY3QpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKSwgKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9qcGVnX2RlY19zZXRfcHJvcGVydHkpLCAoZ3N0X2pwZWdfZGVjX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBBUEk6IEFkZGVkIElEQ1QgbWV0aG9kIHByb3BlcnR5CgkgIFNtYWxsIGNsZWFudXBzLgoJICBBdm9pZCBkeW5hbWljIGFsbG9jYXRpb24gb2YgdHJpdmlhbCBmaXhlZCBzdHJ1Y3R1cmUuCgkgIEFsbG9jYXRlIGVub3VnaCBzcGFjZSBmb3IgdGVtcCA0OjQ6NCBZVVYgYnVmZmVycy4gRml4ZXMgIzM0MzY2MS4KCjIwMDYtMDYtMDcgMDk6MjU6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBjb25maWd1cmUuYWM6IFdlIG5vdyByZXF1aXJlIGxpYnJhdzEzOTQgPj0gMS4xLjAgYW5kIHRoYXQgdmVyc2lvbiBvbndhcmRzIGFsbCBoYXZlIC5wYyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIG5vdyByZXF1aXJlIGxpYnJhdzEzOTQgPj0gMS4xLjAgYW5kIHRoYXQgdmVyc2lvbiBvbndhcmRzIGFsbAoJICBoYXZlIC5wYyBmaWxlcy4KCjIwMDYtMDYtMDIgMTU6MDI6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IFRyeWluZyB0byBnZXQgaXRlbXMgZnJvbSBhbiBBTlkgb3IgRU1QVFkgY2FwcyBpcyAuLi4gc3R1cGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChhbGF3ZGVjX2dldGNhcHMpOgoJICBUcnlpbmcgdG8gZ2V0IGl0ZW1zIGZyb20gYW4gQU5ZIG9yIEVNUFRZIGNhcHMgaXMgLi4uIHN0dXBpZC4KCjIwMDYtMDYtMDIgMTE6MzM6MTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuKjogQWRkZWQgR3N0U2VnbWVudCBoYW5kbGluZywgbm93IGltcGxlbWVudHMgZHJvcHBpbmcvY2xpcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpLCAoZ3N0X2R2ZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVjX2NoYWluKSwgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBBZGRlZCBHc3RTZWdtZW50IGhhbmRsaW5nLCBub3cgaW1wbGVtZW50cyBkcm9wcGluZy9jbGlwcGluZy4KCjIwMDYtMDYtMDEgMjI6MDA6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNi0wMSAyMTowNzoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgICogZXh0L2VzZC9lc2Rtb24uaDoKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmg6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmg6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuaDoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmg6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDUtMzEgMTY6MjM6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ29vbS9nc3Rnb29tLio6IEhhbmRsZSBRb1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksCgkgIChnc3RfZ29vbV9maW5hbGl6ZSksIChnc3RfZ29vbV9yZXNldCksIChnc3RfZ29vbV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLCAoZ3N0X2dvb21fc3JjX2V2ZW50KSwKCSAgKGdzdF9nb29tX3NpbmtfZXZlbnQpLCAoZ2V0X2J1ZmZlciksIChnc3RfZ29vbV9jaGFpbiksCgkgIChnc3RfZ29vbV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgSGFuZGxlIFFvUy4KCSAgSGFuZGxlIGZsdXNoaW5nLCBkaXNjb250IGFuZCBldmVudHMuCgkgIEZpeCB0aW1lc3RhbXBzIGFuZCB2YXJpb3VzIG90aGVyIGNsZWFudXBzLgoKMjAwNi0wNS0zMSAxNTozNzoxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBGaXggYnVzIHJlc2V0IHdoZW4gdXNpbmcgbGliaWVjNjE4ODMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KToKCSAgRml4IGJ1cyByZXNldCB3aGVuIHVzaW5nIGxpYmllYzYxODgzCgoyMDA2LTA1LTMxIDEwOjMxOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEZXRlY3QgbGliaWVjNjE4ODMgYW5kIHNldCBuZWNlc3NhcnkgQ0ZMQUdTIGFuZCBMSUJTIGZvciBkdjEzOTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBEZXRlY3QgbGliaWVjNjE4ODMgYW5kIHNldCBuZWNlc3NhcnkgQ0ZMQUdTIGFuZCBMSUJTIGZvciBkdjEzOTQuCgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgIEFkZCBDRkxBR1MuCgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2llYzYxODgzX3JlY2VpdmUpLAoJICBOZXcgbWV0aG9kLCB0byByZWNlaXZlIHVzaW5nIGxpYmllYzYxODgzLgoJICAoZ3N0X2R2MTM5NHNyY19pc29fcmVjZWl2ZSksCgkgICNpZmRlZidkIG91dCBpZiBsaWJpZWM2MTg4MyBpcyBwcmVzZW50LgoJICAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpLAoJICBHZXQgdXNlcmRhdGEgY29ycmVjdGx5IGlmIHVzaW5nIGxpYmllYzYxODgzLgoJICAoZ3N0X2R2MTM5NHNyY19jcmVhdGUpLAoJICBXaGVuIHVzaW5nIGxpYmllYzYxODgzLCBvbmx5IHBvbGwgb25lIGZkIGFuZCBubyBuZWVkIHRvIHJlYWQuCgkgIChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwKCSAgUmVwbGFjZSBnX3dhcm5pbmdzLgoJICAoZ3N0X2R2MTM5NHNyY19zdGFydCksCgkgIENyZWF0ZSBuZXcgaGFuZGxlIHdoZW4gd2Uga25vdyB3aGljaCBkdiBwb3J0LiAgTW9yZSByZWxpYWJsZQoJICB0aGFuIHNldHRpbmcgcG9ydCBvbiBhbiBleGlzdGluZyBoYW5kbGUuICBJbml0aWFsaXNlIGxpYmllYzYxODgzLgoJICAoZ3N0X2R2MTM5NHNyY19zdG9wKToKCSAgSWYgdXNpbmcgbGliaWVjNjE4ODMsIHRoZW4gY2xlYW51cCBpdHMgaGFuZGxlIHByb3Blcmx5LgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBBZGQgbGliaWVjNjE4ODMgaGFuZGxlLgoKMjAwNi0wNS0zMCAyMTowNzozOCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBhZGQgYW4gZXhwbGljaXQgZGxsIGltcG9ydGVkIGRlY2xhcmF0aW9uIGZvciBHU1RfQ0FUX0VWRU5UK1dJTjMyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYWRkIGFuIGV4cGxpY2l0IGRsbCBpbXBvcnRlZCBkZWNsYXJhdGlvbiBmb3IgR1NUX0NBVF9FVkVOVCtXSU4zMgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBzb3J0IGZpbGUgbGlzdGluZwoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICBhZGQgZ3N0YXZpbXV4LmMgdG8gdGhlIHByb2plY3QKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICBhZGQgbGluayB0byB6bGliIGxpYnJhcnkKCSAgKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJICBhZGQgbWF0cm9za2EtaWRzLmMgdG8gdGhlIHByb2plY3QKCjIwMDYtMDUtMzAgMTQ6MzU6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIEFkZCBhcGV2Mm11eCBlbGVtZW50ICgjMzQzMTIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlID4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICBBZGQgYXBldjJtdXggZWxlbWVudCAoIzM0MzEyMikuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSAgKHRlc3RfdGFnbGliX2FwZXYybXV4X2NyZWF0ZV90YWdzKSwKCSAgKHRlc3RfdGFnbGliX2FwZXYybXV4X2NoZWNrX3RhZ3MpLCAoZmlsbF9tcDNfYnVmZmVyKSwgKGdvdF9idWZmZXIpLAoJICAoZGVtdXhfcGFkX2FkZGVkKSwgKHRlc3RfdGFnbGliX2FwZXYybXV4X2NoZWNrX291dHB1dF9idWZmZXIpLAoJICAodGVzdF90YWdsaWJfYXBldjJtdXhfd2l0aF90YWdzKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGFwZXYybXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhcGV2Mm11eCBlbGVtZW50LgoKMjAwNi0wNS0yOCAxNzozMzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEdTVF9QVFJfRk9STUFUIHNob3VsZCBiZSB1c2VkIHRvIHByaW50IGNhcHMgaW4gZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2Fwcyk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fdXBkYXRlX2NhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2Fwcyk6CgkgIEdTVF9QVFJfRk9STUFUIHNob3VsZCBiZSB1c2VkIHRvIHByaW50IGNhcHMgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDYtMDUtMjggMTQ6Mzg6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQHVidW50dS5jb20+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IFNvbWUgY2xlYW4tdXBzIGFuZCBhZGRpdGlvbnM6IG1hcCBBUEUgJ2ZpbGUnIHRhZyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tbyBhdCB1YnVudHUgZG90IGNvbT4KCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfZ2V0X2dzdF90YWdfZnJvbV90YWcpLAoJICAoYXBlX2RlbXV4X3BhcnNlX3RhZ3MpOgoJICBTb21lIGNsZWFuLXVwcyBhbmQgYWRkaXRpb25zOiBtYXAgQVBFICdmaWxlJyB0YWcgdG8KCSAgR1NUX1RBR19MT0NBVElPTiAoIzM0MzEyMyk7IGFkZCBzdXBwb3J0IGZvciBleHRyYWN0aW5nCgkgIHRoZSB0cmFjayBjb3VudCBhbmQgY2xlYW4gdXAgcGFyc2luZyBhIGJpdCAoIzM0MzEyNykuCgoyMDA2LTA1LTI4IDEzOjQ5OjEyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBJbml0aWFsaXplIHNlZ21lbnQgdG8gR1NUX0ZPUk1BVF9VTkRFRklORUQgaW4gUkVBRFktPlBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIEluaXRpYWxpemUgc2VnbWVudCB0byBHU1RfRk9STUFUX1VOREVGSU5FRCBpbiBSRUFEWS0+UEFVU0VELgoKMjAwNi0wNS0yOCAxMzozMDoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogQ2xpcCBvdXRnb2luZyBidWZmZXJzIGFjY29yZGluZyB0byBjdXJyZW50bHkgY29uZmlndXJlZCBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfZmluYWxpemUpLAoJICAoZ3N0X2pwZWdfZGVjX2luaXQpLCAoZ3N0X2pwZWdfZGVjX2NoYWluKSwKCSAgKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KSwgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgQ2xpcCBvdXRnb2luZyBidWZmZXJzIGFjY29yZGluZyB0byBjdXJyZW50bHkgY29uZmlndXJlZCBzZWdtZW50LgoKMjAwNi0wNS0yOCAxMDozOTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEhhbmRsZSAgd3JpdGluZyBvZiB0cmFjay1jb3VudCBvciBhbGJ1bS12b2x1bWUtY291bnQgd2l0aG91dCB0cmFjay1udW1iZXIgb3IgYWxidW1lLXZvbHVtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBIYW5kbGUgIHdyaXRpbmcgb2YgdHJhY2stY291bnQgb3IgYWxidW0tdm9sdW1lLWNvdW50IHdpdGhvdXQKCSAgdHJhY2stbnVtYmVyIG9yIGFsYnVtZS12b2x1bWUtbnVtYmVyIChpbiB0aGlzIGNhc2UgdGhlIG51bWJlcgoJICB3aWxsIGp1c3QgYmUgc2V0IHRvIDApLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh0ZXN0X3RhZ2xpYl9pZDNtdXhfY2hlY2tfdGFncyk6CgkgIEl0IHdvdWxkIGJlIG5pY2UgaWYgd2UgYWN0dWFsbHkgY2hlY2tlZCB0aGUgdmFsdWVzIHJlY2VpdmVkIGZvcgoJICB0cmFjay9hbGJ1bS12b2x1bWUgbnVtYmVyL2NvdW50IGluICBfY2hlY2tfdGFncygpLCByYXRoZXIgdGhhbgoJICBzZXR0aW5nIHRoZW0gYWdhaW4gLi4uCgoyMDA2LTA1LTI4IDEwOjA1OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEEgdHJhY2svdm9sdW1lIG51bWJlciBvciBjb3VudCBvZiAwIGRvZXMgbm90IG1ha2Ugc2Vuc2UsIGp1c3QgaWdub3JlIGl0IGFsb25nIHdpdGggbmVnYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBBIHRyYWNrL3ZvbHVtZSBudW1iZXIgb3IgY291bnQgb2YgMCBkb2VzIG5vdCBtYWtlIHNlbnNlLAoJICBqdXN0IGlnbm9yZSBpdCBhbG9uZyB3aXRoIG5lZ2F0aXZlIG51bWJlcnMgKGEgdGFnIG1pZ2h0CgkgIG9ubHkgY29udGFpbiBhIHRyYWNrIGNvdW50IHdpdGhvdXQgYSB0cmFjayBudW1iZXIpLgoKMjAwNi0wNS0yNyAxMzoxMTozNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWJvcnQgZGVjb21wcmVzc2lvbiB3aGVuIHJlY2VpdmluZyBGTFVTSF9TVE9QLiBUaGlzIHNob3VsZCBhdm9pZCBpc3N1ZXMgd2hlbiBpbnRlcnJ1cHRpbmcgZGVjby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfaW5pdCksCgkgIChnc3RfanBlZ19kZWNfc2lua19ldmVudCk6CgkgIEFib3J0IGRlY29tcHJlc3Npb24gd2hlbiByZWNlaXZpbmcgRkxVU0hfU1RPUC4gVGhpcyBzaG91bGQgYXZvaWQKCSAgaXNzdWVzIHdoZW4gaW50ZXJydXB0aW5nIGRlY29kaW5nIHdpdGggZmx1c2hlcy4KCjIwMDYtMDUtMjcgMTI6MTA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjLmM6IERvbid0ICNpbmNsdWRlIGZpbGUgd2UgZG9uJ3QgZGlzdCBhbnkgbG9uZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkgIERvbid0ICNpbmNsdWRlIGZpbGUgd2UgZG9uJ3QgZGlzdCBhbnkgbG9uZ2VyLgoKMjAwNi0wNS0yNyAxMToyNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJFQURNRTogUmVwbGFjZSBjdXJyZW50IFJFQURNRSAoY29udGFpbmluZyB0aGUgcmVsZWFzZSBub3RlcyBmcm9tIHNvbWUgMC45LnggdmVyc2lvbikgd2l0aCBhIHByb3BlciBSRUFETUUgdGFrZW4gZnJvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRUFETUU6CgkgIFJlcGxhY2UgY3VycmVudCBSRUFETUUgKGNvbnRhaW5pbmcgdGhlIHJlbGVhc2Ugbm90ZXMgZnJvbQoJICBzb21lIDAuOS54IHZlcnNpb24pIHdpdGggYSBwcm9wZXIgUkVBRE1FIHRha2VuIGZyb20gdGhlIGNvcmUuCgoyMDA2LTA1LTI2IDIyOjM1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fZnJlcXVlbmN5X2NoYW5nZWQpLAoJICAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgZml4IHR5cG8KCjIwMDYtMDUtMjYgMTM6MTY6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcCB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wCgkgIHRpbWUuCgoyMDA2LTA1LTI2IDExOjQ4OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCjIwMDYtMDUtMjQgMTY6MDM6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBJbXBsZW1lbnQgRU9TIGNvcnJlY3RseSBieSBlaXRoZXIgcG9zdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfbG9vcCk6CgkgIEltcGxlbWVudCBFT1MgY29ycmVjdGx5IGJ5IGVpdGhlciBwb3N0aW5nCgkgIFNFR01FTlRfRE9ORSBvciBwdXNoaW5nIGFuIEVPUyBtZXNzYWdlIGRlcGVuZGluZwoJICBvbiB0aGUgc2VlayB0eXBlLiBGaXhlcyAjMzQyNTkyCgoyMDA2LTA1LTI0IDExOjU2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCjIwMDYtMDUtMjQgMTA6MDA6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogU29tZSBjbGVhbnVwcyBpbiB0aGUgY2hhaW4gZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19jaGFpbik6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICBTb21lIGNsZWFudXBzIGluIHRoZSBjaGFpbiBmdW5jdGlvbnMuCgkgIFJlbW92ZSBzb21lIEdTdHJlYW1lciAwLjAuMiBiaXRzLgoKMjAwNi0wNS0yMyAyMDoxNTowNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogZ3N0X2NvbGxlY3RfcGFkc19zdG9wKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IGNsYXNzICgjMzQyNy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgZ3N0X2NvbGxlY3RfcGFkc19zdG9wKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSBjaGFpbmluZyB1cAoJICB0byB0aGUgcGFyZW50IGNsYXNzICgjMzQyNzM0KS4KCjIwMDYtMDUtMjMgMTY6NDU6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy86IFJlbW92ZSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBjcnVmdCBmb3IgZGVhbGluZyB3aXRoIEZMQUMgQVBJIGNoYW5nZXMgaW4gdGhlIDEuMC54IHNlcmllcyAtIHdlIHJlcXVpcmUgMS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZmxhY19jb21wYXQuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgUmVtb3ZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGNydWZ0IGZvciBkZWFsaW5nIHdpdGggRkxBQyBBUEkKCSAgY2hhbmdlcyBpbiB0aGUgMS4wLnggc2VyaWVzIC0gd2UgcmVxdWlyZSAxLjEuMSBvciBuZXdlciB0aGVzZSBkYXlzLgoKMjAwNi0wNS0yMyAxMzo0NDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcvZGVtdXhpbmcgdGhlb3JhIHZpZGVvICgjMzQyNDQ4OyB0b28gYmFkIG5vbmUgb2YgdGhlIHVzdWFsIGxpbnV4IHBsYXllcnMgY2FuIGFjdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgICh4aXBoM19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHZvcmJpc19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHRoZW9yYV9zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyB0aGVvcmEgdmlkZW8gKCMzNDI0NDg7IHRvbyBiYWQKCSAgbm9uZSBvZiB0aGUgdXN1YWwgbGludXggcGxheWVycyBjYW4gYWN0dWFsbHkgcGxheSB0aGlzKS4gUGxheWJhY2sKCSAgaW4gR1N0cmVhbWVyIHdpbGwgcmVxdWlyZSBhZGRpdGlvbmFsIGNoYW5nZXMgdG8gdGhlb3JhZGVjIGluIC1iYXNlLgoJICBSZWZhY3RvciBzdHJlYW1oZWFkZXJzIDw9PiBDb2RlY1ByaXZhdGVEYXRhIGNvZGUgYSBiaXQ7IHNvbWUgc21hbGwKCSAgY2xlYW51cHMuCgoyMDA2LTA1LTIyIDE4OjAwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwby9QT1RGSUxFUy5pbjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwgKHBsdWdpbl9pbml0KToKCSAgcG8vUE9URklMRVMuaW46CgkgIFRocm93IGFuIGVycm9yIHdoZW4gdGhlIGZpbGUgaXMgZW5jcnlwdGVkLiBNb3ZlIHBsdWdpbl9pbml0IHN0dWZmCgkgIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUsIGFkZCBzdHVmZiBmb3IgaTE4biwgbWFrZSBkZWJ1ZyBjYXRlZ29yeQoJICBzdGF0aWMuCgoyMDA2LTA1LTIyIDE1OjIzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBGaXggY3Jhc2hlcyB3aGVuIHRoZSBob3Jpem9udGFsIHN1YnNhbXBsaW5nIGlzIDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGhyZXNhbXBsZWNweTEpLAoJICAoZ3N0X2pwZWdfZGVjX2RlY29kZV9pbmRpcmVjdCksIChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBGaXggY3Jhc2hlcyB3aGVuIHRoZSBob3Jpem9udGFsIHN1YnNhbXBsaW5nIGlzIDEuCgkgIEZpeGVzICMzNDIwOTcuCgoyMDA2LTA1LTIyIDE0OjU2OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgY292ZXIgdXAgdGhlIGRpcnR5IHRydXRoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb3ZlciB1cCB0aGUgZGlydHkgdHJ1dGgKCjIwMDYtMDUtMjIgMTM6NTM6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiAtIGFkZCBvZG1sIChsYXJnZSBmaWxlKSBpbmRleCBzdXBwb3J0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2ZpbmFsaXplKSwgKGdzdF9hdmlfbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9hdmlfbXV4X3dyaXRlX3RhZyksIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aXhfaGVhZGVyKSwgKGdzdF9hdmlfbXV4X3dyaXRlX2F2aXhfaW5kZXgpLAoJICAoZ3N0X2F2aV9tdXhfYWRkX2luZGV4KSwgKGdzdF9hdmlfbXV4X2JpZ2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSksIChnc3RfYXZpX211eF9zdG9wX2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfaGFuZGxlX2V2ZW50KSwgKGdzdF9hdmlfbXV4X2RvX2F1ZGlvX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9kb192aWRlb19idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fb25lX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIFNvbWUgZW5oYW5jZW1lbnRzIGZvciBhdmltdXggKCMzNDI1MjYpOgoJICAtIGFkZCBvZG1sIChsYXJnZSBmaWxlKSBpbmRleCBzdXBwb3J0CgkgIC0gc3RvcmUgY29kZWMgaW5pdCBkYXRhIChlLmcuIGh1ZmZ5dXYpCgkgIC0gbWlzY2VsbGFuZW91cyBvdGhlciBmaXhlcy9jbGVhbnVwcwoKMjAwNi0wNS0yMiAxMzo1MTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIGZpeCBkZXNjcmlwdGlvbnMgYW5kIGxpY2Vuc2UgYmxvY2tzIGN1dCBhbmQgcGFzdGUgYW55b25lID8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkZXNjcmlwdGlvbnMgYW5kIGxpY2Vuc2UgYmxvY2tzCgkgIGN1dCBhbmQgcGFzdGUgYW55b25lID8KCjIwMDYtMDUtMjEgMTY6NDE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCjIwMDYtMDUtMjEgMTY6MjM6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogTGluayB0byBiYXNlIGxpYnJhcmllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICB1c2UgbmV3IHRocmVzaGhvbGQgcHJvcGVydHkKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKSwKCSAgKGdzdF9zcGVjdHJ1bV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgZ3N0X2FkYXB0ZXIsIHN1cHBvcnQgbXVsdGlwbGUtY2hhbm5lbHMsIGFkZCB0aHJlc2hvbGQgcHJvcGVydHkgZm9yCgkgIHJlc3VsdCwgYWRkIGRvY3MsIGZpeCByZXN1bHRpbmcgc3BlY3RydW0gcmFuZ2UgKHdhcyBpbmNsdWRpbmcgbWlycm9yZWQKCSAgcmVzdWx0cykKCjIwMDYtMDUtMjAgMjI6NDI6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOiAoZ3N0X3NwZWN0cnVtX2ZpeF9kb3QpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2dldF90eXBlKSwKCSAgKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCjIwMDYtMDUtMTkgMTg6NTg6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCjIwMDYtMDUtMTkgMTg6MzE6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xOSAxNDowNTo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRG9uJ3Qgb3V0cHV0IGFueSB0YWcgd2hlbiB3ZSBlbmNvdW50ZXIgYSBuZWdhdGl2ZSB0cmFjayBudW1iZXIgLSB0aGUgdGFnIHR5cGUgaXMgdWludCwgc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIERvbid0IG91dHB1dCBhbnkgdGFnIHdoZW4gd2UgZW5jb3VudGVyIGEgbmVnYXRpdmUgdHJhY2sgbnVtYmVyIC0gdGhlCgkgIHRhZyB0eXBlIGlzIHVpbnQsIHNvIHdlIGVuZCB1cCBvdXRwdXR0aW5nIGh1Z2UgcG9zaXRpdmUgbnVtYmVycwoJICBpbnN0ZWFkLiAoRml4ZXM6ICMzNDIwMjkpCgoyMDA2LTA1LTE4IDIzOjA0OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogdXBkYXRlIGZvciBuZXcgR1NUUEJfUExVR0lOU19ESVIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICB1cGRhdGUgZm9yIG5ldyBHU1RQQl9QTFVHSU5TX0RJUgoKMjAwNi0wNS0xOCAxOTozNDo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWDExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFgxMQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pZmFjZV9zdXBwb3J0ZWQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICBDb2RlIGNsZWFudXBzLCBmaXggZGVidWcgbWFjcm9zCgoyMDA2LTA1LTE4IDE0OjQ1OjMzICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgcnRwL2dzdC9nc3RydHBoMjYzcGF5LmM6IFByb3Blcmx5IHNldCBzdGF0aWMgY2FwcyBmb3IgSDI2MyBhdCAzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMTggIFBoaWxpcHBlIEthbGFmICA8cGhpbGlwcGUua2FsYWYgYXQgY29sbGFib3JhLmNvLnVrPgoJICAqIHJ0cC9nc3QvZ3N0cnRwaDI2M3BheS5jOgoJICBQcm9wZXJseSBzZXQgc3RhdGljIGNhcHMgZm9yIEgyNjMgYXQgMzQuCgoyMDA2LTA1LTE4IDEyOjQ2OjA4ICswMDAwICBKYW1lcyBEb2MgTGl2aW5nc3RvbiA8ZG9jbGl2aW5nc3RvbkBnbWFpbC5jb20+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiBNZXJnZSBldmVudCB0YWdzIGFuZCB0YWcgc2V0dGVyIHRhZ3MgY29ycmVjdGx5ICgjMzM5OTE4KS4gQWxzbywgZG9uJ3QgbGVhayB0YWdsaXN0IGluIGNhc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBnbWFpbCBjb20+CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogKGdzdF90YWdfbGliX211eF9yZW5kZXJfdGFnKToKCSAgTWVyZ2UgZXZlbnQgdGFncyBhbmQgdGFnIHNldHRlciB0YWdzIGNvcnJlY3RseSAoIzMzOTkxOCkuIEFsc28sCgkgIGRvbid0IGxlYWsgdGFnbGlzdCBpbiBjYXNlIG9mIGFuIGVycm9yLgoKMjAwNi0wNS0xNyAxODowOTowNiArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIEZpeGVkIGNhcHMgZm9yIEgyNjMgKG5vdCB0aGUgc2FtZSBhcyBIMjYzKykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGNhcHMgZm9yIEgyNjMgKG5vdCB0aGUgc2FtZSBhcyBIMjYzKykKCjIwMDYtMDUtMTcgMTI6MzY6MjYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGF3L211bGF3LWRlY29kZS5jOiBXZSBjYW4gb25seSBkbyBjYXBzIGludGVyc2VjdGlvbiBpZiB0aGUgb3RoZXJjYXBzIGFyZSBub24tZW1wdHkgYW5kIG5vdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfZ2V0Y2Fwcyk6CgkgIFdlIGNhbiBvbmx5IGRvIGNhcHMgaW50ZXJzZWN0aW9uIGlmIHRoZSBvdGhlcmNhcHMgYXJlIG5vbi1lbXB0eSBhbmQgbm90CgkgIEFOWS4gRWxzZSB3ZSByZXR1cm4gdGhlIHBhZCB0ZW1wbGF0ZSAoYmFzZV9jYXBzKS4KCjIwMDYtMDUtMTcgMTE6MjA6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEZpeCBjcmFzaCB3aGVuIG91dHB1dHRpbmcgZGVidWdnaW5nIGluZm9ybWF0aW9uIGZvciBjZXJ0YWluIHBpY3R1cmVzIChhbHdheXMgZ29vZCB0byB1c2UgdGhlIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgRml4IGNyYXNoIHdoZW4gb3V0cHV0dGluZyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gZm9yIGNlcnRhaW4KCSAgcGljdHVyZXMgKGFsd2F5cyBnb29kIHRvIHVzZSB0aGUgcmlnaHQgc3RydWN0IG1lbWJlciBmb3IKCSAgdGhlIG51bWJlciBvZiByZWNvcmRzIGluIGFuIGFycmF5KS4KCjIwMDYtMDUtMTcgMDg6MTA6MzEgKzAwMDAgIEppbmRyaWNoIE1ha292aWNrYSA8amluZHJpY2gubWFraXZpY2thQGl0b25pcy50dj4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogRG9uJ3QgY3JlYXRlIHVubmVjZXNzYXJ5IHN1Yi1idWZmZXJzIGFsbCB0aGUgdGltZS4gRHJhbWF0aWNhbGx5IGltcHJvdmVzIHBlcmZvcm1hbmNlIHdpdGggbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEppbmRyaWNoIE1ha292aWNrYSAgPGppbmRyaWNoLm1ha2l2aWNrYSBhdCBpdG9uaXMgdHY+CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfcHVsbF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9yZWFkX2J1ZmZlciksCgkgIChnc3RfZWJtbF9yZWFkX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfdWludCksIChnc3RfZWJtbF9yZWFkX3NpbnQpLAoJICAoZ3N0X2VibWxfcmVhZF9mbG9hdCksIChnc3RfZWJtbF9yZWFkX2FzY2lpKSwKCSAgKGdzdF9lYm1sX3JlYWRfYmluYXJ5KToKCSAgRG9uJ3QgY3JlYXRlIHVubmVjZXNzYXJ5IHN1Yi1idWZmZXJzIGFsbCB0aGUgdGltZS4gRHJhbWF0aWNhbGx5CgkgIGltcHJvdmVzIHBlcmZvcm1hbmNlIHdpdGggbXVsdGlwbGUgY29uY3VycmVudGx5IHJ1bm5pbmcKCSAgbWF0cm9za2FkZW11eCBpbnN0YW5jZXMgKCMzNDE4MTgpIChhbmQgYXZvaWRzIGRvaW5nCgkgIHVubmVjZXNzYXJpbHkgaW5lZmZpY2llbnQgdGhpbmdzIGluIHRoZSBnZW5lcmFsIGNhc2UpLgoKMjAwNi0wNS0xNiAxNzoyMDowNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IEluIHNuYXBzaG90IG1vZGUsIHdlIGFsd2F5cyByZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGF0ZXZlciB0aGUgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgIEluIHNuYXBzaG90IG1vZGUsIHdlIGFsd2F5cyByZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGF0ZXZlciB0aGUKCSAgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfcHVzaF9ldmVudCgpLgoKMjAwNi0wNS0xNiAxNDowNzoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IE1ha2UgdGhlIG5hbWUgb2YgdGhlIGNoaWxkIGVsZW1lbnQgYmUgYmFzZWQgb24gdGhlIG5hbWUgb2YgdGhlIHBhcmVudCwgc28gdGhhdCBkZWJ1ZyBvdXRwdXQgaXMgbW9yZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KToKCSAgTWFrZSB0aGUgbmFtZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBiZSBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUKCSAgcGFyZW50LCBzbyB0aGF0IGRlYnVnIG91dHB1dCBpcyBtb3JlIHVzZWZ1bC4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGZpbmRfdXRmMTZfYm9tKSwKCSAgKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpLCAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIFJld29yayBzdHJpbmcgcGFyc2luZyB0byBhbHdheXMgd2FsayBvdmVyIEJPTSBtYXJrZXJzIGluIFVURjE2CgkgIHN0cmluZ3MsIHVzaW5nIHRoZSBlbmRpYW5uZXNzIGluZGljYXRlZCBieSB0aGUgaW5uZXJtb3N0IG9uZSwKCSAgdGhlbiB0cnlpbmcgdGhlIG9wcG9zaXRlIGVuZGlhbm5lc3MgaWYgdGhhdCBmYWlscyB0byBjb252ZXJ0CgkgIHRvIHZhbGlkIFVURi04LiBGaXhlcyAjMzQxNzc0CgoyMDA2LTA1LTE2IDEzOjMxOjAyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xpYnBuZy9NYWtlZmlsZS5hbTogQWRkIExJQlBOR19DRkxBR1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTE2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgIFBhdGNoIGZyb206IE1hdHRoaWV1IDxtYXR0aGlldSBhdCBmbHVlbmRvIGRvdCBjb20+CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgQWRkIExJQlBOR19DRkxBR1MuCgoyMDA2LTA1LTE1IDExOjIwOjIxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwNi0wNS0xNSAwOTowMDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIGltYWdlcyAoQVBJQyBmcmFtZXMpIGludG8gSUQzdjIgdGFncyAocGljdHVyZSB0eXBlIGFsd2F5cyBzZXQgdG8gJy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBpbWFnZXMgKEFQSUMgZnJhbWVzKSBpbnRvIElEM3YyCgkgIHRhZ3MgKHBpY3R1cmUgdHlwZSBhbHdheXMgc2V0IHRvICdvdGhlcicgZm9yIG5vdyB0aG91Z2gpLgoKMjAwNi0wNS0xNCAxMjo1MDowNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVwZGF0ZSBkb2NzOyB3YXZwYXJzZSBpbXBsZW1lbnRzIHB1c2ggYW5kIHB1bGwgbW9kZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBVcGRhdGUgZG9jczsgd2F2cGFyc2UgaW1wbGVtZW50cyBwdXNoIGFuZCBwdWxsIG1vZGVzLgoKMjAwNi0wNS0xMiAxODoxMDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogT29vcHMsIGJpdHRlbiBieSB0aGUgY29weS1hbmQtcGFzdGUgZGVzaWduIHBhcmFkaWdtLCBmaXhlcyBzZWVrIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBPb29wcywgYml0dGVuIGJ5IHRoZSBjb3B5LWFuZC1wYXN0ZSBkZXNpZ24gcGFyYWRpZ20sIGZpeGVzCgkgIHNlZWsgYWdhaW4uCgoyMDA2LTA1LTEyIDE4OjA0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBTb21lIGNsZWFudXBzLCBwcmVwYXJlIHRvIHVzZSBHc3RTZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFNvbWUgY2xlYW51cHMsIHByZXBhcmUgdG8gdXNlIEdzdFNlZ21lbnQuCgkgIEZpeCBlcnJvciBpbiBlbnRyeSB3YWxraW5nIGNvZGUuCgkgIEZpeCBWQlIgZGV0ZWN0aW9uLgoJICBTbWFydGVyIHRpbWVzdGFtcCBjYWxjdWxhdGlvbiBjb2RlLgoJICBVbmlmb3JtIGVycm9yL2VvcyBoYW5kbGluZy4KCjIwMDYtMDUtMTIgMTc6NDQ6MTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggdXNlIG9mIHVuaW5pdGlhbGlzZWQgdmFsdWVzIGlmIHdlJ3JlIE5PVCBzZWVraW5nIGluIHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9mbXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBGaXggdXNlIG9mIHVuaW5pdGlhbGlzZWQgdmFsdWVzIGlmIHdlJ3JlIE5PVCBzZWVraW5nIGluIHJlYWR5LgoJICBGaXggdHlwb3MuCgoyMDA2LTA1LTEyIDA4OjIzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOiBBZGQgQ0ZMQUdTIGFuZCBMSUJTIGZvciBsaWJnc3RiYXNlLCBmaXhlcyBidWlsZCBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCBDRkxBR1MgYW5kIExJQlMgZm9yIGxpYmdzdGJhc2UsIGZpeGVzIGJ1aWxkIG9uCgkgIEN5Z3dpbiAoIzM0MTQ4OSkuCgoyMDA2LTA1LTEyIDA4OjIxOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBObyBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHN0cmluZyByZXR1cm5lZCBieSBnX2NvbnZlcnQoKSBpcyByZWFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCk6CgkgIFNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBObyBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHN0cmluZwoJICByZXR1cm5lZCBieSBnX2NvbnZlcnQoKSBpcyByZWFsbHkgVVRGLTggLSBlaXRoZXIgaXQgaXMgb3IKCSAgd2UgZ2V0IE5VTEwgcmV0dXJuZWQuCgoyMDA2LTA1LTExIDE3OjU5OjU5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTEgMDk6MDk6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZQoJICBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uYWwgZXNkcyBib3guIFByb21vdGUgdGhlCgkgIGRlZmF1bHQgQUFDIHRvIG1wMyB3aGVuIGluZGljYXRlZC4gRml4ZXMgIzMzMDYzMi4KCjIwMDYtMDUtMTAgMTc6NDQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBEb24ndCAjZGVmaW5lIGdzdF91dGlsX2R1bXBfbWVtKCksIHVzZSBzb21ldGhpbmcgbW9yZQoJICBzcGVjaWZpYyBpbnN0ZWFkIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDYtMDUtMTAgMTM6NTE6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEZpeCBwYXJzaW5nIG9mIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBzb21lIG1vcmUsIGJ5IGVuc3VyaW5nIHRoYXQgd2Ugb25seSB0cnkgYW5kIHBhcnNlIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpOgoJICBGaXggcGFyc2luZyBvZiBudW1lcmljIGdlbnJlIHN0cmluZ3Mgc29tZSBtb3JlLCBieSBlbnN1cmluZyB0aGF0CgkgIHdlIG9ubHkgdHJ5IGFuZCBwYXJzZSBzdHJpbmdzIHRoYXQgYSkgU3RhcnQgd2l0aCAnKCcgYW5kIGIpIENvbnNpc3QKCSAgb25seSBvZiBkaWdpdHMuCgkgIEFsc28sIHdoZW4gZmluZGluZyBhbiBlc2NhcGluZyAnKCgnIHNlcXVlbmNlLCBidXN0IGl0IGJhY2sgdG8gJygnIGJ5CgkgIHN3YWxsb3dpbmcgdGhlIGZpcnN0IHBhcmVudGhlc2lzCgoyMDA2LTA1LTEwIDExOjE3OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9lc2RzaW5rLio6IE1vdmUgdGhlIGVzZF9nZXRfc2VydmVyX2luZm8oKSBpbnRvIGdzdF9lc2RzaW5rX29wZW4oKSBhbmQgZmFpbCB3aXRoIGEgZGVjZW50IGVycm9yIG1lc3NhZ2Ugb24gZXJyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfZmluYWxpemUpLCAoZ3N0X2VzZHNpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZXNkc2lua19vcGVuKSwgKGdzdF9lc2RzaW5rX2Nsb3NlKToKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgTW92ZSB0aGUgZXNkX2dldF9zZXJ2ZXJfaW5mbygpIGludG8gZ3N0X2VzZHNpbmtfb3BlbigpIGFuZCBmYWlsCgkgIHdpdGggYSBkZWNlbnQgZXJyb3IgbWVzc2FnZSBvbiBlcnJvcnMuCgoyMDA2LTA1LTEwIDEwOjI5OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ29uc3QtaWZ5IEdFbnVtVmFsdWUgYXJyYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9kZXB0aHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2VzZG1vbl9jaGFubmVsc19nZXRfdHlwZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfcHJvZmlsZV9nZXRfdHlwZSk6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9tZXRob2RfZ2V0X3R5cGUpOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IChnc3RfY2FjYXNpbmtfZGl0aGVyX2dldF90eXBlKToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfcHJvdG9jb2xfZ2V0X3R5cGUpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX21ldGhvZF9nZXRfdHlwZSk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9pbGJjX21vZGVfZ2V0X3R5cGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX3Byb3RvX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfZmlsbF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvX2ZsaXBfbWV0aG9kX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9fbWl4ZXJfYmFja2dyb3VuZF9nZXRfdHlwZSk6CgkgIENvbnN0LWlmeSBHRW51bVZhbHVlIGFycmF5cy4KCjIwMDYtMDUtMDkgMTQ6MDg6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogV29yayBhcm91bmQgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgYnVnIHRoYXQgcmVzdWx0cyBpbiBhdmltdXggbWFya2luZyBhbGwgZnJhbWVzIGluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmV0PgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9kb19hdWRpb19idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfZG9fdmlkZW9fYnVmZmVyKToKCSAgV29yayBhcm91bmQgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgYnVnIHRoYXQKCSAgcmVzdWx0cyBpbiBhdmltdXggbWFya2luZyBhbGwgZnJhbWVzIGluIHRoZSBpbmRleCBhcwoJICBrZXlmcmFtZXMgKCMzNDA4NTkpLgoKMjAwNi0wNS0wOCAxOToyMToxOCArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoKMjAwNi0wNS0wOCAxNToyMDoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKHF0ZGVtdXhfZHVtcF9tdmhkKToKCSAgRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBBbHNvIHJlcG9ydCBkdXJhdGlvbiBpbiBwdXNoIG1vZGUgc2luY2Ugd2UgY2FuLgoKMjAwNi0wNS0wOCAxNDozNToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B1cmwuYzogTWFrZSBwYXJzaW5nIG9mIHVybHMgc3VjayBzbGlnaHRseSBsZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgIE1ha2UgcGFyc2luZyBvZiB1cmxzIHN1Y2sgc2xpZ2h0bHkgbGVzcy4KCjIwMDYtMDUtMDggMTE6NTM6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBhdXRvZ2VuLnNoOiBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOiAoQ09ORklHVVJFX0RFRl9PUFQpOgoJICBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplLgoKMjAwNi0wNS0wOCAxMDo1OTowNSArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgQzg5IGNvbXBsaWFuY2UgZml4ZXMuIEZpeGVzICMzNDA5ODAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfaW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZGlzcG9zZSk6CgkgIEM4OSBjb21wbGlhbmNlIGZpeGVzLiBGaXhlcyAjMzQwOTgwCgoyMDA2LTA1LTA2IDA5OjAxOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBIYW5kbGUgc2VnbWVudCBzZWVrcyB0aGF0IGluY2x1ZGUgdGhlIGVuZCBvZiB0aGUgZmlsZSBhcyBzdG9wIHBvaW50IHByb3Blcmx5OiB3aGVuIHRoZSBkZWNvZGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIEhhbmRsZSBzZWdtZW50IHNlZWtzIHRoYXQgaW5jbHVkZSB0aGUgZW5kIG9mIHRoZSBmaWxlIGFzIHN0b3AgcG9pbnQKCSAgcHJvcGVybHk6IHdoZW4gdGhlIGRlY29kZXIgaGl0cyBFT1Mgd2Ugd2FudCB0byBzZW5kIGEgU0VHTUVOVF9ET05FCgkgIG1lc3NhZ2UgaW5zdGVhZCBvZiBhbiBFT1MgZXZlbnQgaW4gY2FzZSB3ZSdyZSBpbiBzZWdtZW50IHNlZWsKCSAgbW9kZSAoZml4ZXMgIzM0MDY5OSkuCgoyMDA2LTA1LTA2IDAwOjE0OjA5ICswMDAwICBNYWNpZWogS2F0YWZpYXN6IDxtYXRocmlja0BtYXRocmljay5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgoyMDA2LTA1LTA1IDIwOjEyOjU5ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uLgoKMjAwNi0wNS0wNCAxNzoyNzoyNyArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRG9uJ3QgbGVhayBjYXBzIHdoZW4gZnJlZWluZyB0aGUgc3RyZWFtIGNvbnRleHQgKCMzNDA2MjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbCBkb3QgYmVuZXMgYXQgeGVyaXMgZG90IGN6PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KToKCSAgRG9uJ3QgbGVhayBjYXBzIHdoZW4gZnJlZWluZyB0aGUgc3RyZWFtIGNvbnRleHQgKCMzNDA2MjMpLgoKMjAwNi0wNS0wNCAxNTo0MDoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCj09PSByZWxlYXNlIDAuMTAuMyA9PT0KCjIwMDYtMDUtMDQgMTU6MzY6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zCgoyMDA2LTA1LTA0IDE1OjI4OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoKMjAwNi0wNS0wNCAxNTowNTowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4zCgoyMDA2LTA1LTAzIDE4OjQ0OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0wNS0wMyAxODo0MTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRG9uJ3Qgc3RyY21wKCkgTlVMTCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3N0cmVhbV9pc192b3JiaXNfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIERvbid0IHN0cmNtcCgpIE5VTEwgc3RyaW5ncy4KCSAgT25seSBzdGFydCBuZXcgY2x1c3RlcnMgb24gdmlkZW8ga2V5ZnJhbWVzLCBub3Qgb24gYW55CgkgIHJhbmRvbSBhdWRpbyBidWZmZXIgdGhhdCBkb2Vzbid0IGhhdmUgdGhlIERFTFRBX1VOSVQKCSAgZmxhZyBzZXQgKGZpeGVzICdtYWtlIGNoZWNrJyBhZ2FpbikuCgoyMDA2LTA1LTAzIDE0OjUxOjUwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBEb24ndCBtaXNpbnRlcnByZXQgR1NUX0NMT0NLX1RJTUVfTk9ORSBhcyB2ZXJ5IGhpZ2ggdGltZXN0YW1wIHZhbHVlIGFuZCB0aGVuIGRlYWQtbG9jayB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3N0cmVhbV9pc192b3JiaXNfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIERvbid0IG1pc2ludGVycHJldCBHU1RfQ0xPQ0tfVElNRV9OT05FIGFzIHZlcnkgaGlnaCB0aW1lc3RhbXAKCSAgdmFsdWUgYW5kIHRoZW4gZGVhZC1sb2NrIHdoZW4gbXV4aW5nIHZvcmJpcyBhdWRpbyBzdHJlYW1zCgkgICh0aGUgdGhyZWUgdm9yYmlzIGhlYWRlciBidWZmZXJzIGNhcnJ5IG5vIHRpbWVzdGFtcCwgYW5kIGl0CgkgIHdvdWxkIHRyeSB0byBtdXggdGhlc2UgYWZ0ZXIgYWxsIHZpZGVvIGJ1ZmZlcnMpLiBGaXhlcyAjMzQwMzQ2LgoJICBJbXByb3ZlIGNsdXN0ZXJpbmc6IHN0YXJ0IGEgbmV3IGNsdXN0ZXIgYWxzbyB3aGVuZXZlciB3ZSBnZXQKCSAgYSBrZXlmcmFtZS4KCjIwMDYtMDUtMDMgMTQ6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhIGRlYWQgY29kZSBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYQoJICBkZWFkIGNvZGUgYmxvY2suCgoyMDA2LTA1LTAzIDE0OjI4OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCB3aW4zMiBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBhZGQgd2luMzIgc3R1ZmYKCjIwMDYtMDUtMDMgMTQ6MjY6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIHdpbjMyIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIGFkZCB3aW4zMiBzdHVmZgoKMjAwNi0wNS0wMiAyMjozNDo1MiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IEZpeCB0aW1lb3ZlcmxheSBmb3Igbm9uLW11bHRpcGxlLW9mLTQgd2lkdGhzLiBUaGlzIGZvdXJjYyBjcmFwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV90cmFuc2Zvcm0pOgoJICBGaXggdGltZW92ZXJsYXkgZm9yIG5vbi1tdWx0aXBsZS1vZi00IHdpZHRocy4gVGhpcyBmb3VyY2MgY3JhcAoJICBTVUNLUy4KCjIwMDYtMDUtMDIgMjE6NTI6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgoyMDA2LTA1LTAyIDE4OjUwOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBkb24ndCBsZWFrIGNhcHMtc3RyaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX3VwZGF0ZV9jYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpOgoJICBkb24ndCBsZWFrIGNhcHMtc3RyaW5nCgoyMDA2LTA1LTAyIDE1OjQ2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IExldCBjb3JlIGluc2VydCBkZWZhdWx0IGVycm9yIG1lc3NhZ2UgZm9yIFRZUEVfTk9UX0ZPVU5EIGVycm9ycywgaXQncyBqdXN0IGFzIGdvb2QgYXMgb3VyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgTGV0IGNvcmUgaW5zZXJ0IGRlZmF1bHQgZXJyb3IgbWVzc2FnZSBmb3IgVFlQRV9OT1RfRk9VTkQKCSAgZXJyb3JzLCBpdCdzIGp1c3QgYXMgZ29vZCBhcyBvdXIgb3duIGFuZCBoYXMgdGhlIGFkZGVkCgkgIGJvbnVzIG9mIGJlaW5nIHRyYW5zbGF0ZWQuCgoyMDA2LTA1LTAyIDE1OjQwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBhbmQgd2VyZSBub3QgYWJsZSB0byBmaW5kIG91dCB0aGUgdHlwZSBvZiBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfaW5pdCksCgkgIChnc3RfdGFnX2RlbXV4X3NpbmtfZXZlbnQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2luaXQpLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfZXZlbnQpOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGFuZCB3ZXJlIG5vdAoJICBhYmxlIHRvIGZpbmQgb3V0IHRoZSB0eXBlIG9mIHN0cmVhbS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAoZmlsbF9tcDNfYnVmZmVyKSwgKGdvdF9idWZmZXIpLAoJICAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgIERlY3JlYXNlIG51bS1idWZmZXJzIHRvIDE2IHBlciBpdGVyYXRpb24gYWdhaW4sIG90aGVyd2lzZSB0aGUKCSAgbWFueSBtZW1jcHkoKXMgYW5kIHJlYWxsb2NhdGlvbnMgaW4gdGhlIHRlc3Qgd2lsbCBoYW1tZXIgc2xvdwoJICBDUFVzIGNvbXBsZXRlbHkgYW5kIG1ha2UgdGhlIHRlc3QgdGltZW91dC4KCjIwMDYtMDUtMDIgMTM6MjQ6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBmaWd1cmUgb3V0IHdoZXJlIHBsdWdpbnMtYmFzZSBwbHVnaW5zIGFyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGZpZ3VyZSBvdXQgd2hlcmUgcGx1Z2lucy1iYXNlIHBsdWdpbnMgYXJlCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHVzZSBwbHVnaW5zLWJhc2UgcGx1Z2lucywgc28gd2UgaGF2ZSB0eXBlZmluZCBmdW5jdGlvbnMKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgIGluY3JlYXNlIG51bS1idWZmZXJzLCB0aGlzIG1ha2VzIHN1cmUgdGhlIHRlc3QgZXJyb3JzIG91dCBpbnN0ZWFkCgkgIG9mIHRpbWluZyBvdXQgd2hlbiBubyB0eXBlZmluZCBmdW5jdGlvbnMgYXJlIHByZXNlbnQKCjIwMDYtMDUtMDIgMTM6MDE6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGZpeCBkb2NzIGZvciB3YXZwYXJzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRvY3MgZm9yIHdhdnBhcnNlCgoyMDA2LTA1LTAxIDIxOjM3OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCjIwMDYtMDUtMDEgMTE6NDY6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBhbHNvIGNoZWNrIC5jYyBmaWxlcyBmb3IgZ3RrLWRvYyBtYXJrdXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBhbHNvIGNoZWNrIC5jYyBmaWxlcyBmb3IgZ3RrLWRvYyBtYXJrdXAKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKGlkM3YybXV4X3N1aXRlKSwgKG1haW4pOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIG1vdmUgdGFnbGliLWJhc2VkIGlkM3YybXV4ZXIgdG8gLWdvb2QuICBGaXhlcyAjMzM2MTEwLgoKMjAwNi0wNS0wMSAxMTo0NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICBhZGQgaWN5ZGVtdXggaW5zcGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGljeWRlbXV4IGluc3BlY3Rpb24KCjIwMDYtMDUtMDEgMTE6NDM6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgYWRkIHhpbWFnZXNyYyBmb3IgdHJhbnNsYXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB4aW1hZ2VzcmMgZm9yIHRyYW5zbGF0aW9uCgoyMDA2LTA0LTMwIDE2OjE2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0zMCAxNTozMjoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBmaXggZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRvY3MKCjIwMDYtMDQtMzAgMTQ6NTU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCjIwMDYtMDQtMjkgMTg6NDY6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpIGNhc2Ugb2YgYW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkKCSAgY2FzZSBvZiBhbiBlcnJvci4KCjIwMDYtMDQtMjkgMTg6MTg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50byBpdHMgb3duIHN1YmNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8KCSAgaXRzIG93biBzdWJjbGFzcy4KCjIwMDYtMDQtMjkgMTY6MTQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogLi4uIGFuZCBmaXggbXVsdGljaGFubmVsL1dBVkZPUk1BVEVYIHN1cHBvcnQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgLi4uIGFuZCBmaXggbXVsdGljaGFubmVsL1dBVkZPUk1BVEVYIHN1cHBvcnQgYWdhaW4uCgoyMDA2LTA0LTI4IDIzOjA5OjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogQWRkIHB1c2ggKHN0cmVhbWluZykgbW9kZSB0byB3YXZwYXJzZSAoZml4ZXMgIzMzNzYyNSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfYWR0bCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfY3VlcyksIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksIChnc3Rfd2F2cGFyc2VfcGVla19jaHVuayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgQWRkIHB1c2ggKHN0cmVhbWluZykgbW9kZSB0byB3YXZwYXJzZSAoZml4ZXMgIzMzNzYyNSkKCjIwMDYtMDQtMjggMjE6NDM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgZWxlbWVudCByZW5hbWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBlbGVtZW50IHJlbmFtZWQKCjIwMDYtMDQtMjggMTk6MjI6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIGFkZCBwbHVnaW4gZG9jcyBmb3IgeGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgcGx1Z2luIGRvY3MgZm9yIHhpbWFnZXNyYwoKMjAwNi0wNC0yOCAxOToxNTowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgeGltYWdlc3JjIGljbGVzIHRlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBhZGQgeGltYWdlc3JjIGljbGVzIHRlc3QKCjIwMDYtMDQtMjggMTg6NTc6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgTW92ZSB4aW1hZ2VzcmMgcGx1Zy1pbiB0byBnb29kIGFmdGVyIHJldmlldy4gIEZpeGVzICMzMzY3NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NtbWxfZW5jX3B1c2hfY2xpcCk6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgTW92ZSB4aW1hZ2VzcmMgcGx1Zy1pbiB0byBnb29kIGFmdGVyIHJldmlldy4gIEZpeGVzICMzMzY3NTYuCgoyMDA2LTA0LTI4IDE2OjUxOjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIGJvcmdpZnkgbmFtaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5IG5hbWluZwoKMjAwNi0wNC0yOCAxNjo0Njo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBkb2MgdHdlYWtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2MgdHdlYWtzCgoyMDA2LTA0LTI4IDE2OjE1OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoKMjAwNi0wNC0yOCAxNTozMzowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGVkYW50aWMgY2xlYW51cHMKCjIwMDYtMDQtMjggMTQ6NTc6NTcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC4qOiBGaXggZXZlbnQgaGFuZGxpbmc6IGNhY2hlIGV2ZW50cyB3aGVuIHR5cGVmaW5kaW5nIGFuZCBmb3J3YXJkIGxhdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9yZXNldCksICAgICAgICAgKGdzdF9pY3lkZW11eF9pbml0KSwgKGdzdF9pY3lkZW11eF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ljeWRlbXV4X2FkZF9zcmNwYWQpLCAoZ3N0X2ljeWRlbXV4X3BhcnNlX2FuZF9zZW5kX3RhZ3MpLAoJICAoZ3N0X2ljeWRlbXV4X2hhbmRsZV9ldmVudCksIChnc3RfaWN5ZGVtdXhfc2VuZF9jYWNoZWRfZXZlbnRzKSwKCSAgKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKSwgKGdzdF9pY3lkZW11eF9hZGRfbWV0YSksCgkgIChnc3RfaWN5ZGVtdXhfY2hhaW4pLCAoZ3N0X2ljeWRlbXV4X3NlbmRfdGFnX2V2ZW50KToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgRml4IGV2ZW50IGhhbmRsaW5nOiBjYWNoZSBldmVudHMgd2hlbiB0eXBlZmluZGluZyBhbmQgZm9yd2FyZCBsYXRlci4KCjIwMDYtMDQtMjggMTQ6NTU6MjAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IFJlZ2lzdGVyIG9zeGF1ZGlvc3JjIHRvIHRoZSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTI4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAocGx1Z2luX2luaXQpOgoJICBSZWdpc3RlciBvc3hhdWRpb3NyYyB0byB0aGUgcGx1Z2luLgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAoZ3N0X29zeF9hdWRpb19zcmNfb3N4ZWxlbWVudF9kb19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2Jhc2VfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19jcmVhdGVfcmluZ2J1ZmZlciksIChnc3Rfb3N4X2F1ZGlvX3NyY19pb19wcm9jKSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX29zeGVsZW1lbnRfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIFBvcnQgb2Ygb3N4YXVkaW9zcmMgdG8gMC4xMC4KCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIEFkZCBvc3hhdWRpb3NyYwoKMjAwNi0wNC0yOCAxMjowMDozOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgY29tbWl0IENoYW5nZWxvZyBmb3IgcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21taXQgQ2hhbmdlbG9nIGZvciBwcmV2aW91cyBjb21taXQKCjIwMDYtMDQtMjggMTE6NTc6MzkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBGb3Jnb3QgdG8gY29tbWl0LCBxdWljayBjb21taXQgYmU0IGFwcGxlIGRpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZvcmdvdCB0byBjb21taXQsIHF1aWNrIGNvbW1pdCBiZTQgYXBwbGUgZGllcwoKMjAwNi0wNC0yOCAxMTozNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBSZWNvZ25pc2UgYW5kIHNraXAgYW55IGJ5dGUgb3JkZXIgbWFya2VyIChCT00pIGluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaGFzX3V0ZjE2X2JvbSksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgUmVjb2duaXNlIGFuZCBza2lwIGFueSBieXRlIG9yZGVyIG1hcmtlciAoQk9NKSBpbgoJICBVVEYtMTYgc3RyaW5ncy4KCjIwMDYtMDQtMjcgMTY6MDU6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgZG9jcyBmb3IgYm90aCBhdmlkZW11eCBhbmQgYXZpbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEFkZCBkb2NzIGZvciBib3RoIGF2aWRlbXV4IGFuZCBhdmltdXguCgoyMDA2LTA0LTI3IDE0OjUxOjA2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS86IFBvcnQgQVZJIG11eGVyIHRvIEdTdHJlYW1lci0wLjEwICgjMzMyMDMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL2dzdGF2aS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9nZXRfdHlwZSksCgkgIChnc3RfYXZpX211eF9iYXNlX2luaXQpLCAoZ3N0X2F2aV9tdXhfZmluYWxpemUpLAoJICAoZ3N0X2F2aV9tdXhfY2xhc3NfaW5pdCksIChnc3RfYXZpX211eF9pbml0KSwKCSAgKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpLCAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2FwcyksCgkgIChnc3RfYXZpX211eF9wYWRfbGluayksIChnc3RfYXZpX211eF9wYWRfdW5saW5rKSwKCSAgKGdzdF9hdmlfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfYXZpX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfYXZpX211eF93cml0ZV90YWcpLCAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdml4X2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF92aWRlb19oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXVkaW9faGVhZGVyKSwgKGdzdF9hdmlfbXV4X2FkZF9pbmRleCksCgkgIChnc3RfYXZpX211eF93cml0ZV9pbmRleCksIChnc3RfYXZpX211eF9iaWdmaWxlKSwKCSAgKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpLCAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKSwKCSAgKGdzdF9hdmlfbXV4X3Jlc3RhcnRfZmlsZSksIChnc3RfYXZpX211eF9oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X2F2aV9tdXhfZmlsbF9xdWV1ZSksIChnc3RfYXZpX211eF9zZW5kX3BhZF9kYXRhKSwKCSAgKGdzdF9hdmlfbXV4X3N0cmlwX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19hdWRpb19idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfZG9fdmlkZW9fYnVmZmVyKSwgKGdzdF9hdmlfbXV4X2RvX29uZV9idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfbG9vcCksIChnc3RfYXZpX211eF9jb2xsZWN0X3BhZHMpLAoJICAoZ3N0X2F2aV9tdXhfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdmlfbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXZpX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIFBvcnQgQVZJIG11eGVyIHRvIEdTdHJlYW1lci0wLjEwICgjMzMyMDMxKS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBBVkkgbXV4ZXIuCgoyMDA2LTA0LTI2IDIxOjI5OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogcmV2ZXJ0ZWQgcGF0Y2ggIzMzNzYyNSBmb3IgdGhlIHByaWNlIG9mIDEgaG91ciBzbGVlcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9pbml0KSwgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHJldmVydGVkIHBhdGNoICMzMzc2MjUgZm9yIHRoZSBwcmljZSBvZiAxIGhvdXIgc2xlZXAKCjIwMDYtMDQtMjYgMjA6MTE6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBjb3JyZWN0IHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgcHVzaCBtb2RlIChmcm9tIG15IGxhc3QgY29tbWl0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9pbml0KSwgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9hZHRsKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9jdWVzKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbiksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIGNvcnJlY3QgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBwdXNoIG1vZGUKCSAgKGZyb20gbXkgbGFzdCBjb21taXQpCgoyMDA2LTA0LTI2IDE3OjM3OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IEZpeCBjb21waWxlIHByb2JsZW0gYnkgZGVmaW5pbmcgRVNEX01BWF9XUklURV9TSVpFIGlmIGl0IGlzIG5vdCBpbiBlc2QuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgRml4IGNvbXBpbGUgcHJvYmxlbSBieSBkZWZpbmluZyBFU0RfTUFYX1dSSVRFX1NJWkUgaWYKCSAgaXQgaXMgbm90IGluIGVzZC5oCgoyMDA2LTA0LTI2IDE3OjA4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS4qOiBSZXdyaXRlIGF1cGFyc2UgdG8gc3VjayBhIGxpdHRsZSBiaXQgbGVzczogbWFrZSBzb3VyY2UgcGFkIGR5bmFtaWMsIHNvIGRlY29kZWJpbi9wbGF5YmluIHdvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1X3BhcnNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwgKGdzdF9hdV9wYXJzZV9hZGRfc3JjcGFkKSwKCSAgKGdzdF9hdV9wYXJzZV9yZW1vdmVfc3JjcGFkKSwgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLAoJICAoZ3N0X2F1X3BhcnNlX2NoYWluKSwgKGdzdF9hdV9wYXJzZV9zcmNfY29udmVydCksCgkgIChnc3RfYXVfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF9hdV9wYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3RfYXVfcGFyc2Vfc2lua19ldmVudCksIChnc3RfYXVfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdV9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgUmV3cml0ZSBhdXBhcnNlIHRvIHN1Y2sgYSBsaXR0bGUgYml0IGxlc3M6IG1ha2Ugc291cmNlIHBhZAoJICBkeW5hbWljLCBzbyBkZWNvZGViaW4vcGxheWJpbiB3b3JrIHdpdGggbm9uLXJhdyBmb3JtYXRzCgkgIGxpa2UgYWxhdy9tdWxhdzsgYWRkIHF1ZXJ5IGZ1bmN0aW9uIGZvciBkdXJhdGlvbi9wb3NpdGlvbgoJICBxdWVyaWVzOyBjaGVjayB3aGV0aGVyIHdlIGhhdmUgZW5vdWdoIGRhdGEgYmVmb3JlIGF0dGVtcHRpbmcKCSAgdG8gcGFyc2UgdGhlIGhlYWRlciAoaW5zdGVhZCBvZiBjcmFzaGluZyB3aGVuIHRoYXQgaXMgbm90IHRoZQoJICBjYXNlKTsgd29yayBhcm91bmQgYXVkaW9jb252ZXJ0IHN1Y2tpbmcgYnkgc3dhcHBpbmcgZW5kaWFubmVzcwoJICB0byB0aGUgbmF0aXZlIGVuZGlhbm5lc3Mgb3Vyc2VsdmVzIGZvciBmbG9hdCBmb3JtYXRzOyBzZW5kCgkgIGluaXRpYWwgbmV3c2VnbWVudCBldmVudC4gRml4ZXMgIzE2MTcxMi4KCjIwMDYtMDQtMjYgMTY6Mjk6MzggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvb3N4YXVkaW8vOiBQb3J0IG9mIG9zeGF1ZGlvc2luayB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTI2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKGdzdF9vc3hfYXVkaW9fZWxlbWVudF9nZXRfdHlwZSksCgkgIChnc3Rfb3N4X2F1ZGlvX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19vc3hlbGVtZW50X2RvX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2Jhc2VfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X29zeF9hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2NyZWF0ZV9yaW5nYnVmZmVyKSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19pb19wcm9jKSwgKGdzdF9vc3hfYXVkaW9fc2lua19vc3hlbGVtZW50X2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgUG9ydCBvZiBvc3hhdWRpb3NpbmsgdG8gMC4xMAoKMjAwNi0wNC0yNiAwODo1NToyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBBbHdheXMgd3JpdGUgRVNEX0JVRl9TSVpFIGJ5dGVzIGFuZCB1c2UgRVNEX01BWF9XUklURV9TSVpFIGFzIHRoZSBzaXplIG9mIHRoZSByaW5nYnVmZmVyLiBUaGlzIHNoby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3ByZXBhcmUpLCAoZ3N0X2VzZHNpbmtfZGVsYXkpOgoJICBBbHdheXMgd3JpdGUgRVNEX0JVRl9TSVpFIGJ5dGVzIGFuZCB1c2UgRVNEX01BWF9XUklURV9TSVpFIGFzCgkgIHRoZSBzaXplIG9mIHRoZSByaW5nYnVmZmVyLiBUaGlzIHNob3VsZCBmaXggaGFuZ3Mgd2l0aCBvbGRlcgoJICBlc2Qgc291bmQgc2VydmVycy4KCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0yNSAyMTozOTo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuYzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOiAoZ3N0X2dhbW1hX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJICAoZ3N0X3ZpZGVvdGVtcGxhdGVfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLAoJICAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTI1IDE3OjU3OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBTb3VyY2UgcGFkIGhhcyBmaXhlZCBjYXBzLiBJZiB3ZSBkb24ndCBzZXQgdGhpcywgYmFkIHRoaW5ncyBoYXBwZW4gd2hlbiB0aGUgd2luZG93IGlzIHJlc2l6ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIFNvdXJjZSBwYWQgaGFzIGZpeGVkIGNhcHMuIElmIHdlIGRvbid0IHNldCB0aGlzLCBiYWQKCSAgdGhpbmdzIGhhcHBlbiB3aGVuIHRoZSB3aW5kb3cgaXMgcmVzaXplZC4KCjIwMDYtMDQtMjUgMTY6Mzg6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBIYW5kbGUgY2FzZSB3aGVyZSB0aGUgVHJhY2tUeXBlIGVibWwgY2h1bmsgZG9lcyBub3QgY29tZSBiZWZvcmUgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF92aWRlb19jb250ZXh0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X2F1ZGlvX2NvbnRleHQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfc3VidGl0bGVfY29udGV4dCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9jb21wbGV4X2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgSGFuZGxlIGNhc2Ugd2hlcmUgdGhlIFRyYWNrVHlwZSBlYm1sIGNodW5rIGRvZXMgbm90IGNvbWUgYmVmb3JlIHRoZQoJICBUcmFja0luZm9BdWRpbyBvciBUcmFja0luZm9WaWRlbyBlYm1sIGNodW5rICgjMzM5NDQ2KS4gSWdub3JlIFFvUwoJICBldmVudHMuCgoyMDA2LTA0LTI1IDE2OjA5OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEl0J3MgY29kZWNfZGF0YSwgbm90IGNvZGVjX2luZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIEl0J3MgY29kZWNfZGF0YSwgbm90IGNvZGVjX2luZm8uCgoyMDA2LTA0LTI1IDExOjQ1OjAwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBjb2RlY19kYXRhIGZvciBWZlcgY29tcGF0aWJpbGl0eSBjb2RlYyBJRHMgKCMzMzk0NTEpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICBIYW5kbGUgY29kZWNfZGF0YSBmb3IgVmZXIGNvbXBhdGliaWxpdHkgY29kZWMgSURzICgjMzM5NDUxKQoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBTYW1lIGhlcmUsIGhhbmRsZSBjb2RlY19kYXRhIGFuZCBhZGQgYWRkaXRpb25hbCBjYXBzIHdlIGNhbiBoYW5kbGUKCSAgbm93IHRvIHRoZSBwYWQgdGVtcGxhdGUgKGh1ZmZ5dXYsIGR2IGFuZCBoMjYzIHZpZGVvKSAoIzMzOTQ1MSkKCjIwMDYtMDQtMjUgMTE6MDk6MjQgKzAwMDAgIEpvc2VmIFpsb21layA8am9zZWYuemxvbWVrQGl0b25pcy50dj4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IHRpbWVzdGFtcGluZyBvZiBCLWZyYW1lcywgdXNlIHNpZ25lZCBpbnRlZ2VycywgZG8gc29tZSByb3VuZGluZyAoIzMzOTY3OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZWYgWmxvbWVrICA8am9zZWYgZG90IHpsb21layBhdCBpdG9uaXMgZG90IHR2PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX2J1ZmZlcl9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgRml4IHRpbWVzdGFtcGluZyBvZiBCLWZyYW1lcywgdXNlIHNpZ25lZCBpbnRlZ2VycywgZG8KCSAgc29tZSByb3VuZGluZyAoIzMzOTY3OCkuCgoyMDA2LTA0LTI0IDE4OjMwOjU1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAganVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAganVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoKMjAwNi0wNC0yMyAxNTo1NTozMCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBhIGJhZCBjb252ZXJzaW9uIHVzaW5nIGdzdF9ndWludDY0X3RvX2dkb3VibGUuIGZhYnMgKChnZG91YmxlKSBkZW11eC0+aW5kZXhbZW50cnldLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2Vlayk6CgkgIEZpeCBhIGJhZCBjb252ZXJzaW9uIHVzaW5nIGdzdF9ndWludDY0X3RvX2dkb3VibGUuCgkgIGZhYnMgKChnZG91YmxlKSBkZW11eC0+aW5kZXhbZW50cnldLnRpbWUgLSAoZ2RvdWJsZSkgc2Vla19wb3MpIGNhbiBub3QgYmUKCSAgcmVwbGFjZWQgYnkgZmFicyAoZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSAoZGVtdXgtPmluZGV4W2VudHJ5XS50aW1lIC0gc2Vla19wb3MpKSBhcyB0aGUKCSAgZGlmZmVyZW5jZSBjb3VsZCBiZSBuZWdhdGl2ZS4gZmFicyAoZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSAoZGVtdXgtPmluZGV4W2VudHJ5XS50aW1lKSAtCgkgIGdzdF9ndWludDY0X3RvX2dkb3VibGUgKHNlZWtfcG9zKSkgaXMgdGhlIGdvb2Qgc29sdXRpb24uIFRoYW5rcyB0byBUaW0gd2hvIGhhcyBzZWVuIG15CgkgIG1pc3Rha2UuCgoyMDA2LTA0LTIyIDE1OjMyOjQ4ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2Vlayk6CgkgIFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9ucwoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJICBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIGljeWRlbXV4CgoyMDA2LTA0LTIxIDE4OjA3OjEwICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBXaGVuIHNwbGl0dGluZyBhdWRpbyBjaHVua3MsIHRoZSBibG9jayBhbGlnbm1lbnQgaXMgbm90IHRha2VuIGluIGNvbnNpZGVyYXRpb24sIHNvIHRoZSBzbWFsbGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgV2hlbiBzcGxpdHRpbmcgYXVkaW8gY2h1bmtzLCB0aGUgYmxvY2sgYWxpZ25tZW50IGlzIG5vdCB0YWtlbiBpbgoJICBjb25zaWRlcmF0aW9uLCBzbyB0aGUgc21hbGxlciBjaHVua3MgY291bGQgYmUgb2Ygc2l6ZSB3aGljaCBpcwoJICBub3QgYSBtdWx0aXBsZSBvZiB0aGUgYmxvY2sgYWxpZ25tZW50LiBGaXhlcyAjMzM2OTA0CgoyMDA2LTA0LTIxIDE3OjU5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IFVzZSBzY2FsZSBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2NvbnZlcnQpOgoJICBVc2Ugc2NhbGUgZnVuY3Rpb25zCgoyMDA2LTA0LTIxIDE3OjI3OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R2L2dzdGR2LmM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgIEZpeCBidWlsZC4KCjIwMDYtMDQtMjEgMTc6MTU6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogQWRkICdmb3JtYXQnIHByb3BlcnR5IHRvIGZvcmNlIHF1ZXJ5aW5nIHRvIGEgcGFydGljdWxhciBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9maW5hbGl6ZSksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2NsYXNzX2luaXQpLCAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9pbml0KSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfZG9fcXVlcnkpLCAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9yZXBvcnQpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9nZXRfcHJvcGVydHkpOgoJICBBZGQgJ2Zvcm1hdCcgcHJvcGVydHkgdG8gZm9yY2UgcXVlcnlpbmcgdG8gYSBwYXJ0aWN1bGFyIGZvcm1hdC4KCjIwMDYtMDQtMjEgMTU6NTA6MjggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9kdi9nc3Rkdi5jIChwbHVnaW5faW5pdCk6IGxpYmR2IGlzIGEgbWFyZ2luYWwgZGVjb2RlciwgYXQgYmVzdCwgb24gYmlnIGVuZGlhbiBzeXN0ZW1zLiBEcm9wIGl0cyByYW5rIGluIHRoYXQgY2FzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0yMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHYuYyAocGx1Z2luX2luaXQpOiBsaWJkdiBpcyBhIG1hcmdpbmFsIGRlY29kZXIsIGF0CgkgIGJlc3QsIG9uIGJpZyBlbmRpYW4gc3lzdGVtcy4gRHJvcCBpdHMgcmFuayBpbiB0aGF0IGNhc2UuIE9UT0ggb24KCSAgeDg2IGl0J3MgcXVpdGUgZmluZS4gU2VlIGNoYW5nZXMgZnJvbSB0b2RheSBpbiBnc3QtZmZtcGVnIGFzIHdlbGwuCgoyMDA2LTA0LTIxIDA5OjI3OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgaWN5ZGVtdXgsIGFuZCB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9nZXRfdHlwZSksCgkgIChnc3RfaWN5ZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9pY3lkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9pY3lkZW11eF9yZXNldCksIChnc3RfaWN5ZGVtdXhfaW5pdCksCgkgIChnc3RfaWN5ZGVtdXhfc2lua19zZXRjYXBzKSwgKGdzdF9pY3lkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9pY3lkZW11eF9hZGRfc3JjcGFkKSwgKGdzdF9pY3lkZW11eF9yZW1vdmVfc3JjcGFkKSwKCSAgKHVuaWNvZGlmeSksIChnc3RfaWN5ZGVtdXhfdW5pY29kaWZ5KSwKCSAgKGdzdF9pY3lkZW11eF9wYXJzZV9hbmRfc2VuZF90YWdzKSwKCSAgKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKSwgKGdzdF9pY3lkZW11eF9hZGRfbWV0YSksCgkgIChnc3RfaWN5ZGVtdXhfY2hhaW4pLCAoZ3N0X2ljeWRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfaWN5ZGVtdXhfc2VuZF90YWdfZXZlbnQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6ICh0eXBlZmluZF9zdWNjZWVkKSwKCSAgKHBsdWdpbl9pbml0KSwgKGljeWRlbXV4X2ZvdW5kX3BhZCksIChjcmVhdGVfaWN5ZGVtdXgpLAoJICAoY2xlYW51cF9pY3lkZW11eCksIChwdXNoX2RhdGEpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoaWN5ZGVtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBpY3lkZW11eCwgYW5kIHRlc3RzLgoKMjAwNi0wNC0yMCAxNzo0ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogUG9zdCBTRUdNRU5UX0RPTkUgbWVzc2FnZSBpbiBUSU1FIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApOgoJICBQb3N0IFNFR01FTlRfRE9ORSBtZXNzYWdlIGluIFRJTUUgZm9ybWF0LgoKMjAwNi0wNC0yMCAxNzoyOTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoKMjAwNi0wNC0yMCAxNjozMzo1NSArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGluZGV4IGNyZWF0aW9uIHdoZW4gd2UgaGF2ZSB0byBzY2FuIHRoZSBmaWxlIHRvIGNyZWF0ZSBhbiBpbmRleC4gVGhlcmUgbWF5IGJlIG90aGVyIHR5cGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIEZpeCBpbmRleCBjcmVhdGlvbiB3aGVuIHdlIGhhdmUgdG8gc2NhbiB0aGUgZmlsZSB0byBjcmVhdGUKCSAgYW4gaW5kZXguIFRoZXJlIG1heSBiZSBvdGhlciB0eXBlcyBvZiBSSUZGICdMSVNUJyBjaHVua3MgdGhhbgoJICAnbW92aScgYW5kIHdlIG5lZWQgdG8gc2tpcCB0aGVtIHByb3Blcmx5IGFzIHdlbGwgb3Igd2UnbGwgZW5kIHVwCgkgIHJlYWRpbmcgZ2FyYmFnZSAoIzMzNjg4OSkuIFNvbWUgb3RoZXIgY29zbWV0aWMgY2hhbmdlcy4KCjIwMDYtMDQtMjAgMTQ6MjE6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzIChmaXhlcyAjMzM4MjkwKS4gQWxzbyBkZW1vdGUgc29tZSByZWN1cnJpbmcgZGVidWcgbWVzc2FnZSBmcm9tIEQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MgKGZpeGVzICMzMzgyOTApLiBBbHNvIGRlbW90ZQoJICBzb21lIHJlY3VycmluZyBkZWJ1ZyBtZXNzYWdlIGZyb20gREVCVUcgdG8gTE9HIGxldmVsLgoKMjAwNi0wNC0yMCAxMzoyMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFNldCBESVNDT05UIGZsYWcgb24gZmlyc3QgYnVmZmVyIGFmdGVyIGEgZGlzY29udGludWl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBTZXQgRElTQ09OVCBmbGFnIG9uIGZpcnN0IGJ1ZmZlciBhZnRlciBhIGRpc2NvbnRpbnVpdHkuCgkgIEZpeCBuZXdzZWdtZW50IGV2ZW50cyBzZW50IHdoZW4gc2Vla2luZyBhbmQgaG9ub3VyIEtFWV9VTklUCgkgIHNlZWsgZmxhZy4gQ3JlYXRlIHBhZCB3aXRoIGJvZ3VzIGNhcHMgaWYgd2UgZG9uJ3QgcmVjb2duaXNlCgkgIHRoZSBzdHJlYW0gY29kZWMgaWQuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDYtMDQtMjAgMTE6MDA6MTYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIGVuZCBvZiBzZWdtZW50IHByb3Blcmx5IHdoZW4gc2V0OyBkb24ndCBkZWFkLWxvY2sgd2hlbiBwb3N0aW5nIHN0YXJ0IG9mIHNlZ21lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICBIYW5kbGUgZW5kIG9mIHNlZ21lbnQgcHJvcGVybHkgd2hlbiBzZXQ7IGRvbid0IGRlYWQtbG9jayB3aGVuCgkgIHBvc3Rpbmcgc3RhcnQgb2Ygc2VnbWVudCBtZXNzYWdlIHdoZW4gZG9pbmcgYSBzZWdtZW50IHNlZWsuCgkgIEZpeGVzICMzMzg4MTAuCgoyMDA2LTA0LTIwIDA5OjQ4OjA1ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgQWRkIHF0ZHJ3IG1pbWUgdHlwZS4KCSAgRml4ZXMgIzMzOTA0MQoKMjAwNi0wNC0yMCAwOToxMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBNYWtlIG1wZWcyIGFhYyBhdWRpbyB3b3JrOiBjcmVhdGUgYXJ0aWZpY2lhbCBwcml2YXRlIGNvZGVjIGRhdGEgY2h1bmsgd2hpY2ggZmFhZDIgc2VlbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgIE1ha2UgbXBlZzIgYWFjIGF1ZGlvIHdvcms6IGNyZWF0ZSBhcnRpZmljaWFsIHByaXZhdGUgY29kZWMgZGF0YQoJICBjaHVuayB3aGljaCBmYWFkMiBzZWVtcyB0byByZXF1aXJlLCBqdXN0IGFzIHdlIGRvIGZvciBtcGVnNCBhYWMuCgkgIEFsc28gY2FsbCBnc3RfcmlmZl9pbml0KCkuIFBhcnRpYWxseSBmaXhlcyAjMzM4NzY3LgoKMjAwNi0wNC0xOSAxNToxNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IFNldCBjYXBzIG9uIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciwgc28gdGhhdCBpdCBkb2Vzbid0IGVycm9yIG91dCBpbW1lZGlhdGVseSB3aXRoIGEgbm9uLW5lZ290aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdmVuY19jbGFzc19pbml0KSwgKGdzdF93YXZlbmNfaW5pdCksCgkgIChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwgKGdzdF93YXZlbmNfcHVzaF9oZWFkZXIpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ2V0X2lkX2Zyb21fbmFtZSksIChnc3Rfd2F2ZW5jX2V2ZW50KSwKCSAgKGdzdF93YXZlbmNfY2hhaW4pLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIFNldCBjYXBzIG9uIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciwgc28gdGhhdCBpdCBkb2Vzbid0IGVycm9yIG91dAoJICBpbW1lZGlhdGVseSB3aXRoIGEgbm9uLW5lZ290aWF0ZWQgZXJyb3IgKCMzMzg3MTYpLiBSZXdyaXRlIGFuZAoJICBjbGVhbiB1cCBhIGJpdDsgZml4IHNldGNhcHMgZnVuY3Rpb24gdG8gcGFyc2UgdGhpbmdzIHByb3Blcmx5OwoJICBmaXggc2luayBjYXBzICg4Yml0IGF1ZGlvIGlzIHVuc2lnbmVkIGFuZCBkb2Vzbid0IGhhdmUgZGVwdGgpOwoJICB1c2UgYm9pbGVycGxhdGUgbWFjcm9zOyByZW1vdmUgdW51c2VkIHByb3BlcnRpZXMgc3R1ZmYuCgoyMDA2LTA0LTE5IDA5OjI3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIEZpeGVzICMzMzg5MzUuCgoyMDA2LTA0LTE4IDE4OjE0OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IExlYXZlIEpQRUcgZGVjb2RpbmcgdG8gb3VyIGpwZWdkZWMgcGx1Z2luLiBnZGtwaXhidWZkZWMgY2Fubm90IGhhbmRsZSBNSlBFRyBzdHJlYW1zIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBMZWF2ZSBKUEVHIGRlY29kaW5nIHRvIG91ciBqcGVnZGVjIHBsdWdpbi4gZ2RrcGl4YnVmZGVjIGNhbm5vdAoJICBoYW5kbGUgTUpQRUcgc3RyZWFtcyBhbmQgbWlnaHQgYmUgYXV0b3BsdWdnZWQgZm9yIHRob3NlIGlmIHRoZQoJICB1c2VyIGRvZXNuJ3QgaGF2ZSBqcGVnZGVjIGluc3RhbGxlZCAocmVzdWx0aW5nIGluIGEgY3J5cHRpYyBlcnJvcgoJICBtZXNzYWdlIGFib3V0IGh1ZmZtYW4gdGFibGVzKS4gQmV0dGVyIHRvIGRpc2FibGUgSlBFRyBkZWNvZGluZyBoZXJlCgkgIGFuZCBsZXQgdGhlIHVzZXIgZmlndXJlIG91dCB0aGF0IHNoZSBuZWVkcyB0byBpbnN0YWxsIGpwZWdkZWMuCgoyMDA2LTA0LTE4IDE4OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLio6IE1ha2Ugd29yayB3aXRoIHBhY2tldGlzZWQvZnJhbWVkIGlucHV0IChlLmcuIHBuZy1pbi1xdWlja3RpbWUpLiBVc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwgKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgTWFrZSB3b3JrIHdpdGggcGFja2V0aXNlZC9mcmFtZWQgaW5wdXQgKGUuZy4gcG5nLWluLXF1aWNrdGltZSkuIFVzZQoJICBHU1RfRUxFTUVOVF9FUlJPUiB3aGVuIHdlIHJldHVybiBHU1RfRkxPV19FUlJPUi4gQWRkIHNvbWUKCSAgR1NUX0RFQlVHX0ZVTkNQVFIgaGVyZSBhbmQgdGhlcmUuIFVzZSBHU1RfTE9HIGZvciByZWN1cnJpbmcKCSAgZGVidWcgbWVzc2FnZXMuIEZpeCBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTA0LTE4IDE3OjI5OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IE5vIG5lZWQgdG8gc3BlY2lhbC1jYXNlIGZvciBHZGstMi4wIGFueSBsb25nZXIsIHdlIHJlcXVpcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9nZXRfY2Fwc2xpc3QpLAoJICAoZ3N0X2dka19waXhidWZfc2V0X3Byb3BlcnR5KSwgKGdzdF9nZGtfcGl4YnVmX2dldF9wcm9wZXJ0eSk6CgkgIE5vIG5lZWQgdG8gc3BlY2lhbC1jYXNlIGZvciBHZGstMi4wIGFueSBsb25nZXIsIHdlIHJlcXVpcmUKCSAgR2RrIDIuMiBvciBuZXdlcjsgbWlub3IgY2xlYW4tdXBzLgoKMjAwNi0wNC0xOCAxNzoxNzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJld3JpdGUgYSBiaXQ6IHVzZSBHc3RCYXNlU2luazo6c3RhcnQgYW5kIHN0b3AgaW5zdGVhZCBvZiBhIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgdXNlIEdTVF9FTEVNRU5UX0VSUk9SIGZvciBlcnJvciByZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfYmFzZV9pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLCAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksCgkgIChzZXRfc2hvdXRfbWV0YWRhdGEpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9zaG91dDJzZW5kX2V2ZW50KSwgKGdzdF9zaG91dDJzZW5kX3N0YXJ0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2Nvbm5lY3QpLCAoZ3N0X3Nob3V0MnNlbmRfc3RvcCksCgkgIChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zaG91dDJzZW5kX2dldF9wcm9wZXJ0eSksIChnc3Rfc2hvdXQyc2VuZF9zZXRjYXBzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBSZXdyaXRlIGEgYml0OiB1c2UgR3N0QmFzZVNpbms6OnN0YXJ0IGFuZCBzdG9wIGluc3RlYWQgb2YgYSBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb247IHVzZSBHU1RfRUxFTUVOVF9FUlJPUiBmb3IgZXJyb3IgcmVwb3J0aW5nLCBub3QKCSAgZ19lcnJvcigpIG9yIEdTVF9FUlJPUigpOyBkb24ndCB1bnJlZiBjYXBzIGluIHNldGNhcHMgZnVuY3Rpb24sCgkgIHdpbGwgY2F1c2UgY3Jhc2hlcyBvciBhc3NlcnRpb24gZmFpbHVyZXM7IHJlbW92ZSAodW51c2VkKSAic3luYyIKCSAgcHJvcGVydHksIGJhc2VzaW5rIGFscmVhZHkgaGFzIHN1Y2ggYSBwcm9wZXJ0eTsgbWlzYy4gb3RoZXIKCSAgbWlub3IgZml4ZXMgYW5kIGNsZWFudXBzLgoKMjAwNi0wNC0xOCAxNDoxNTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCB0cmFuc2xhdGFibGUgZXJyb3IgbWVzc2FnZSBmb3Igd2hlbiB3ZSBjYW5ub3QgY29ubmVjdCB0byB0aGUgc291bmQgc2VydmVyLCBhcyAiQ2Fubm90IG9wZW4gcmVzb3VyY2UgZm9yIHdyaXRpbmciIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX29wZW4pLCAoZ3N0X2VzZHNpbmtfcHJlcGFyZSk6CgkgICogZXh0L2VzZC9nc3Rlc2QuYzogKHBsdWdpbl9pbml0KToKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIHRyYW5zbGF0YWJsZSBlcnJvciBtZXNzYWdlIGZvciB3aGVuIHdlIGNhbm5vdAoJICBjb25uZWN0IHRvIHRoZSBzb3VuZCBzZXJ2ZXIsIGFzICJDYW5ub3Qgb3BlbiByZXNvdXJjZQoJICBmb3Igd3JpdGluZyIgaXNuJ3QgcmVhbGx5IGFuIGFjY2VwdGFibGUgbWVzc2FnZSB0byBzaG93CgkgIHRvIHRoZSB1c2VyIGluIHRoaXMgY2FzZS4KCjIwMDYtMDQtMTggMTM6MzI6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdC1pMThuLXBsdWdpbi5oOiBSZW1vdmUgYm9ndXMgZmlsZSB0aGF0IGRvZXNuJ3QgYmVsb25nIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIFJlbW92ZSBib2d1cyBmaWxlIHRoYXQgZG9lc24ndCBiZWxvbmcgaGVyZS4KCjIwMDYtMDQtMTcgMTk6NTc6MTAgKzAwMDAgIFBoaWxpcHBlIFZhbGVtYm9pcyA8bGVwaGlsb3Vzb3BoZUB1c2Vycy5zZi5uZXQ+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi4qOiBIYW5kbGUgdGFncyBiZWluZyByZWNlaXZlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBpcyBlc3RhYmxpc2hlZCBwcm9wZXJseSAoc2VlICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQaGlsaXBwZSBWYWxlbWJvaXMKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9zZXRfbWV0YWRhdGEpLCAoZ3N0X3Nob3V0MnNlbmRfZXZlbnQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfcmVuZGVyKSwgKGdzdF9zaG91dDJzZW5kX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgSGFuZGxlIHRhZ3MgYmVpbmcgcmVjZWl2ZWQgYmVmb3JlIHRoZSBjb25uZWN0aW9uIHRvCgkgIHRoZSBzZXJ2ZXIgaXMgZXN0YWJsaXNoZWQgcHJvcGVybHkgKHNlZSAjMzM4NjM2KS4KCjIwMDYtMDQtMTcgMTk6NDM6MzIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgoyMDA2LTA0LTE3IDE5OjEyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogRG9uJ3QgY3Jhc2ggaW4gY2FzZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGZhaWxzOiBkb24ndCBzZXQgcG9pbnRlciB0byBOVUxMIGJ5IGFzc2lnbmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpOgoJICBEb24ndCBjcmFzaCBpbiBjYXNlIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgZmFpbHM6CgkgIGRvbid0IHNldCBwb2ludGVyIHRvIE5VTEwgYnkgYXNzaWduaW5nIEZBTFNFOyBlcnJvciBvdXQKCSAgcHJvcGVybHkgYnkgdXNpbmcgR1NUX0VMRU1FTlRfRVJST1IgYW5kIHJldHVybmluZwoJICBHU1RfRkxPV19FUlJPUiAoZml4ZXMgIzMzODYzNikuIExhc3RseSwgZnJlZSBjb25uZWN0aW9uCgkgIGJlZm9yZSByZXNldHRpbmcgdGhlIHBvaW50ZXIuCgoyMDA2LTA0LTE3IDEwOjAxOjUxICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxhbkBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChGaXhlcyAjMzM4NzEzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBSZWNvZ25pc2UgVENPIChHZW5yZSkgdGFncyBpbiBJRDN2Mi4yLiBQYXRjaCBieSBBbGV4IExhbmNhc3RlcgoJICAoRml4ZXMgIzMzODcxMykKCjIwMDYtMDQtMTMgMjE6NDU6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoKMjAwNi0wNC0xMyAwOToxNTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgcmV2ZXJ0aW5nIHJ0cCBwYXRjaGVzIHRvIGZpeCBmcmVlemUgYnJlYWsgb24gLWJhc2UgYXMgZXhwbGFpbmVkIG9uIHRoZSBsaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZlcnRpbmcgcnRwIHBhdGNoZXMgdG8gZml4IGZyZWV6ZSBicmVhayBvbiAtYmFzZSBhcyBleHBsYWluZWQgb24gdGhlIGxpc3QKCjIwMDYtMDQtMTMgMDk6MDE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwLzogRml4IEdPYmplY3QgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDYtMDQtMTMgMDM6NDI6NTEgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwLzogUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTEyIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgIFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkgIEFkZGVkIG5ldyBpTEJDIHBheWxvYWRlci9kZXBheWxvYWRlci4gUGF5bG9hZGVyIHVzZXMgbmV3IGF1ZGlvIHBheWxvYWQgYmFzZQoJICBjbGFzcy4KCjIwMDYtMDQtMTIgMjE6NTc6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoKMjAwNi0wNC0xMiAwOTo0MjoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9nZXRfY2Fwc2xpc3QpLCAoZ3N0X2dka19waXhidWZfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgQWRkZWQgUkdCQSBhcyBhIHBvc3NpYmxlIG91dHB1dCBmb3JtYXQuCgkgIENvcnJlY3RseSBmcmVlIHRoZSBzdXBwb3J0ZWQgbWltZXR5cGVzLgoJICBkZXByZWNhdGUgc2lsZW50IGFyZywgaXQncyBub3QgdXNlZC4KCSAgUmV0dXJuIHJlc3VsdCBmcm9tIF9hbGxvY19idWZmZXIgdG8gcGVlci4KCjIwMDYtMDQtMTEgMTg6MDM6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiBEb24ndCBsZWFrIG1lbW9yeSBhbGxvY2F0ZWQgYnkgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgYnkgb3ZlcndyaXRpbmcgR1NUX0JVRkZFUl9NQUxMT0MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgRG9uJ3QgbGVhayBtZW1vcnkgYWxsb2NhdGVkIGJ5IGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIGJ5CgkgIG92ZXJ3cml0aW5nIEdTVF9CVUZGRVJfTUFMTE9DREFUQS4KCjIwMDYtMDQtMTEgMTU6Mjc6MzEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgZml4IHZlcnNpb24gbnVtYmVyIG1hY3JvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdmVyc2lvbiBudW1iZXIgbWFjcm8KCjIwMDYtMDQtMTEgMDk6MzU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBIYW5kbGUgbW9yZSB0aGFuIG9uZSBmcmFtZSBpZiB0aGUgY29udGVudCBpcyBmcmFtZWQsIGxpa2Ugd2l0aCBwbmctaW4tcXVpY2t0aW1lICgjMzMxOTE3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksCgkgICh1c2VyX2VuZHJvd19jYWxsYmFjayksICh1c2VyX2VuZF9jYWxsYmFjayksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY19jaGFpbiksCgkgIChnc3RfcG5nZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3BuZ2RlY19saWJwbmdfY2xlYXIpLCAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIEhhbmRsZSBtb3JlIHRoYW4gb25lIGZyYW1lIGlmIHRoZSBjb250ZW50IGlzIGZyYW1lZCwKCSAgbGlrZSB3aXRoIHBuZy1pbi1xdWlja3RpbWUgKCMzMzE5MTcpLgoKMjAwNi0wNC0xMCAxOTo1NTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBzeXMvb3NzLzogLSB0aGUgdXNlci12aXNpYmxlIGVycm9yIHN0cmluZ3Mgd2VyZSBpbiB0aGUgd3JvbmcgY2F0ZWdvcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL2NvbW1vbi5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2luaXQpLCAoZ3N0X29zc19zaW5rX29wZW4pLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpLCAoZ3N0X29zc19zaW5rX3VucHJlcGFyZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3ByZXBhcmUpLAoJICAoZ3N0X29zc19zcmNfdW5wcmVwYXJlKToKCSAgLSB0aGUgdXNlci12aXNpYmxlIGVycm9yIHN0cmluZ3Mgd2VyZSBpbiB0aGUgd3JvbmcgY2F0ZWdvcnkKCSAgLSBhbmQgdGhlIG1lc3NhZ2VzIHdlcmUgbm90IG1hcmtlZCBmb3IgdHJhbnNsYXRpb24KCSAgLSB3aGljaCBpcyBhY3R1YWxseSBhIGdvb2QgdGhpbmcsIGJlY2F1c2UgdGhleSB3ZXJlIGV4YWN0bHkKCSAgdGhlIGtpbmQgb2YgbWVzc2FnZSB5b3Ugd291bGQgbmV2ZXIgd2FudCBhbnlvbmUgdG8gc2VlCgkgIC0gdGhlIG1hY3JvcyB3ZXJlIHVzaW5nIHZhcmlhYmxlcyB0aGF0IGRpZG4ndCBleGlzdCBpbiB0aGUgbWFjcm8KCSAgYXJndW1lbnRzCgkgIC0gYW5kIHRoZXkgd2VyZSBvYnZpb3VzbHkgY29waWVkIGZyb20gZWFjaCBvdGhlciBhbmQgdGhlbiBtb2RpZmllZAoJICAtIHNvIGEgY29tbW9uIGhlYWRlciBtYWtlcyBzZW5zZQoKMjAwNi0wNC0xMCAxNzoxNjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoKMjAwNi0wNC0xMCAxNjowOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogRG9uJ3QgdHJ5IHRvIG1vZGlmeSByZWFkLW9ubHkgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgRG9uJ3QgdHJ5IHRvIG1vZGlmeSByZWFkLW9ubHkgZGF0YS4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgRml4IGNvbW1lbnQgKHdvbid0IGNyYXNoIGFueSBsb25nZXIgbm93KS4KCjIwMDYtMDQtMTAgMTU6NDg6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogVXNlIGNvcGllcyBvZiBoZWFkZXIgYnVmZmVycyBmb3IgY2FwcyB0byBhdm9pZCBjaXJjdWxhciByZWZjb3VudGluZyBwcm9ibGVtcyAoYXMgaW4gdGhlb3JhZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfc2V0X2hlYWRlcl9vbl9jYXBzKToKCSAgVXNlIGNvcGllcyBvZiBoZWFkZXIgYnVmZmVycyBmb3IgY2FwcyB0byBhdm9pZCBjaXJjdWxhciByZWZjb3VudGluZwoJICBwcm9ibGVtcyAoYXMgaW4gdGhlb3JhZGVjLCB2b3JiaXNkZWMpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGEgdHlwbyBpbiB0ZXN0IHRoYXQgbWVhbnQgaXQgd2FzIHRlc3RpbmcgdGhlIHdyb25nIHRoaW5nLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKGNoZWNrX2hlYWRlcnMpOgoJICBGaXggcmVmY291bnQgY2hlY2tzIG5vdyB0aGF0IHdlIHVzZSBidWZmZXItY29waWVzIGZvciBjYXBzLgoKMjAwNi0wNC0xMCAxNTo0Mzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBVc2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgd2l0aCBBTlkgY2FwcyBmb3IgYXVkaW8gYW5kIHZpZGVvIHNvdXJjZSBwYWRzIGFuZCBnZXQgcmlkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgIFVzZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyB3aXRoIEFOWSBjYXBzIGZvciBhdWRpbyBhbmQgdmlkZW8KCSAgc291cmNlIHBhZHMgYW5kIGdldCByaWQgb2YgYSBsb3Qgb2YgdW5uZWNlc3NhcnkgKGFuZCBwYXJ0aWFsbHkKCSAgYnJva2VuKSBjb2RlIGZvciB0aGUgdGVtcGxhdGUgY2Fwcy4gQ2xlYW4gdXAgY2FwcyBmaW5kaW5nCgkgIGZ1bmN0aW9ucy4gRml4ZXMgcGxheWJhY2sgb2YgYXVkaW8gZmlsZXMvc3RyZWFtcyB0aGF0IGRvIG5vdAoJICBjb250YWluIHRoZSBzYW1wbGUgcmF0ZSBhbmQvb3IgbnVtYmVyIG9mIGNoYW5uZWxzIGluIHRoZSBhdWRpbwoJICBjb250ZXh0IChoYXBwZW5zIGEgbG90IHdpdGggdm9yYmlzL21wMyAubWthIGZpbGVzIGl0IHNlZW1zKS4KCSAgRml4ZXMgIzMzNzE4My4KCSAgQWxzbyBhZGQgbXlzZWxmIHRvIGNvcHlyaWdodCBob2xkZXJzLgoKMjAwNi0wNC0xMCAxNToyOToyMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IFVzZSBnX2xpc3RfZGVsZXRlX2xpbmsgKCkgaW5zdGVhZCBvZiBnX2xpc3RfcmVtb3ZlX2xpbmsgKCkgc28gdGhhdCB3ZSBmcmVlIHRoZSBsaW5rIGFzIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfdHJhY2tfbGlzdF9kZWxfY2xpcCk6CgkgIFVzZSBnX2xpc3RfZGVsZXRlX2xpbmsgKCkgaW5zdGVhZCBvZiBnX2xpc3RfcmVtb3ZlX2xpbmsgKCkgc28gdGhhdAoJICB3ZSBmcmVlIHRoZSBsaW5rIGFzIHdlbGwgYXMgdGhlIGNvbnRhaW5lZCBkYXRhLgoKMjAwNi0wNC0xMCAxNDoyMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoKMjAwNi0wNC0xMCAxMDoxMDo1NSArMDAwMCAgUnlhbiBMb3J0aWUgKGRlc3J0KSA8ZGVzcnRAZGVzdHIuY2E+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBzb21lIGNyYXNoZXJzIHdpdGggZW1wdHkgY2h1bmtzLiAoRml4ZXMgIzMzNzc0OSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSeWFuIExvcnRpZSAoZGVzcnQpIDxkZXNydCBhdCBkZXN0ciBkb3QgY2E+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKToKCSAgRml4IHNvbWUgY3Jhc2hlcnMgd2l0aCBlbXB0eSBjaHVua3MuIChGaXhlcyAjMzM3NzQ5KQoKMjAwNi0wNC0xMCAwODozMTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgoyMDA2LTA0LTA5IDE4OjMwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpOgoJICByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZG9uZSBzb21lIGNsZWFucyBpbiBzb3VyY2VzCgkgICogd2luMzIvdnM2OgoJICBhZGQgcHJvamVjdCBmaWxlcyBmb3IgbmVvbiwgcXRkZW11eAoKMjAwNi0wNC0wOSAxNzozMTozNyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IHVzZSBHX0dJTlQ2NF9DT05TVEFOVCBmb3IgSU5UNjQgY29uc3RhbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9jYXBzKSwoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIHVzZSBHX0dJTlQ2NF9DT05TVEFOVCBmb3IgSU5UNjQgY29uc3RhbnRzCgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICBkZWZpbmUgcmludCBmb3IgV0lOMzIgI2RlZmluZSByaW50KHgpIChmbG9vcigoeCkrMC41KSkKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgYWRkIG1pc3NpbmcgbGlicmFyaWVzIGZvciB0aGUgbGluayBhbmQgcmVtb3ZlIGF2aW11eC5jIGZyb20KCSAgdGhlIHByb2plY3QgYXMgaXQgaXNuJ3QgcG9ydGVkIHRvIDAuMTAgeWV0CgoyMDA2LTA0LTA5IDE0OjAwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBFdmVuIGJldHRlciB3b3VsZCBiZSBpZiB3ZSBhY3R1YWxseSBkaWQgdGhlIHJpZ2h0IHRoaW5nIGhlcmUgKGFsc28sIEdfR1VJTlQ2NF9DT05TVEFOVCBvbmx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIEV2ZW4gYmV0dGVyIHdvdWxkIGJlIGlmIHdlIGFjdHVhbGx5IGRpZCB0aGUgcmlnaHQgdGhpbmcKCSAgaGVyZSAoYWxzbywgR19HVUlOVDY0X0NPTlNUQU5UIG9ubHkgZXhpc3RzIHNpbmNlIEdMaWItMi4xMCkuCgoyMDA2LTA0LTA5IDEzOjUyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBDYW4ndCBqdXN0IHJlcGxhY2UgMUxMIHdpdGggMUwgaGVyZSBqdXN0IGJlY2F1c2UgTVNWQyBkb2Vzbid0IHN1cHBvcnQgaXQsIGFzIGl0IG1pZ2h0IGxlYWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIENhbid0IGp1c3QgcmVwbGFjZSAxTEwgd2l0aCAxTCBoZXJlIGp1c3QgYmVjYXVzZSBNU1ZDIGRvZXNuJ3QKCSAgc3VwcG9ydCBpdCwgYXMgaXQgbWlnaHQgbGVhZCB0byBpbmNvcnJlY3QgcmVzdWx0cyB3aGVuIGRvaW5nIHRoZQoJICBiaXRzaGlmdGluZyBoZXJlLiBVc2luZyBHTGliJ3MgR19HVUlOVDY0X0NPTlNUQU5UKCkgbWFjcm8gdG8KCSAgZm9yY2UgYSA2NC1iaXQgY29uc3RhbnQgaW4gYSB3YXkgdGhhdCBhbGwgY29tcGlsZXJzIGFyZSBoYXBweSB3aXRoLgoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAyMToyMTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19jbGFzc19pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiAoZ3N0X2NhY2FzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6IChnc3RfbW5nZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6IChnc3RfbW5nZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6IChnc3RfbWlrbW9kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOiAoZ3N0X21lZGlhbl9jbGFzc19pbml0KToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cEwxNnBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzogKGdzdF9ydHBfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzogKGdzdF9ydHBfaDI2M19wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOiAoZ3N0X3J0cF9tcGFfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzogKGdzdF91ZHBzaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2NsYXNzX2luaXQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6IChnc3Rfb3NzZG1hYnVmZmVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKGdzdF9vc3hhdWRpb2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiAoZ3N0X29zeGF1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzogKGdzdF9vc3hhdWRpb3NyY19jbGFzc19pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAxOTowNjoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmg6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODo0MTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjU6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjM6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfc3RzeiksCgkgIChxdGRlbXV4X2R1bXBfc3RjbyksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBGaXggdGltZXN0YW1wcyBmb3IgQU1SIGFuZCBJTUE0LiAgRml4ZXMgKCMzMzc0MzYpLgoJICBDcmVhdGUgYSBkdW1teSBzZWdtZW50IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyBlZGl0IGxpc3QuCgoyMDA2LTA0LTA4IDEzOjA5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBEb24ndCB0cnkgdG8gc2VlayBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAod291bGQgb2NjYXNpb25hbGx5IGRpc3BsYXkgZXJyb3IgZGlhbG9ncyBpbiB0b3RlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCk6CgkgIERvbid0IHRyeSB0byBzZWVrIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICh3b3VsZAoJICBvY2Nhc2lvbmFsbHkgZGlzcGxheSBlcnJvciBkaWFsb2dzIGluIHRvdGVtIHdoZW4gc2Vla2luZwoJICB0byB0aGUgZW5kKSAoIzMzNTg2OSkuIFdpbGwgc3RpbGwgdGhyb3cgYW4gZXJyb3IgdGhvdWdoCgkgIGlmIHRoZSBmaWxlIGlzIHRydW5jYXRlZCBhbmQgdGhlIHRvdGFsX3NhbXBsZXMgdmFsdWUgaW4KCSAgdGhlIHN0cmVhbSBoZWFkZXIgaXMgd3JvbmcuCgoyMDA2LTA0LTA3IDE4OjE1OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBJZiB0aGUgc3RyZWFtIGhlYWRlciBkb2Vzbid0IGNvbnRhaW4gdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzLCBzZWFyY2ggZm9yIHRoZSBsYXN0IGZsYWMgZnJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2NhbGN1bGF0ZV9jcmM4KSwKCSAgKGdzdF9mbGFjX2RlY19zY2FuX2dvdF9mcmFtZSksIChnc3RfZmxhY19kZWNfc2Nhbl9mb3JfbGFzdF9ibG9jayksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgSWYgdGhlIHN0cmVhbSBoZWFkZXIgZG9lc24ndCBjb250YWluIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcywKCSAgc2VhcmNoIGZvciB0aGUgbGFzdCBmbGFjIGZyYW1lIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgYW5kIGNhbGN1bGF0ZQoJICB0aGUgdG90YWwgZHVyYXRpb24gZnJvbSB0aGF0IGZyYW1lJ3Mgb2Zmc2V0IChmaXhlcyAjMzM3NjA5KS4KCjIwMDYtMDQtMDcgMTU6NTM6NDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8gMjVmcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8KCSAgMjVmcHMKCjIwMDYtMDQtMDcgMTU6NDc6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAobWFpbik6CgkgIEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoKMjAwNi0wNC0wNyAxNToyNzo0MCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGNvbXBvc2l0ZV9waXhlbCksIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0wNyAxMDo0ODoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgdW5yZWYgdGhlIEdzdFBhZFRlbXBsYXRlIHJldHVybmVkIGJ5IGdzdF9lbGVtZW50X2NsYXNzX2dldF9wYWRfdGVtcGxhdGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICBEb24ndCB1bnJlZiB0aGUgR3N0UGFkVGVtcGxhdGUgcmV0dXJuZWQgYnkKCSAgZ3N0X2VsZW1lbnRfY2xhc3NfZ2V0X3BhZF90ZW1wbGF0ZSgpLgoKMjAwNi0wNC0wNiAxOToxNjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2ZpbmRfaW5kZXgpLAoJICAoZ3N0X3F0ZGVtdXhfZmluZF9rZXlmcmFtZSksIChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0pLCAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgQXZvaWQgb3ZlcmZsb3dzIGluIHByb2xvZ3VlIGltYWdlIGRldGVjdGlvbiBjb2RlLgoJICBBdm9pZCByb3VuZG9mZiBlcnJvcnMgaW4gdGltZXN0YW1wIGNhbGN1bGF0aW9ucy4KCjIwMDYtMDQtMDYgMTE6MzU6MjYgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCjIwMDYtMDQtMDYgMDk6MTQ6MzAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuKjogVXNlIHNwZWMtPnNlZ3NpemUgYW5kIHNwZWMtPnNlZ3RvdGFsIGluIHRoZSBwcmVwYXJlIGZ1bmN0aW9uIHRvIGluaXRpYWxpc2UgdGhlIHJpbmcgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKSwgKGdzdF9zdW5hdWRpb3Npbmtfd3JpdGUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgVXNlIHNwZWMtPnNlZ3NpemUgYW5kIHNwZWMtPnNlZ3RvdGFsIGluIHRoZSBwcmVwYXJlIGZ1bmN0aW9uCgkgIHRvIGluaXRpYWxpc2UgdGhlIHJpbmcgYnVmZmVyIGluc3RlYWQgb2YgdXNpbmcgdGhlIGJ1ZmZlci10aW1lCgkgIHByb3BlcnR5ICgjMzM3NDIxKS4KCjIwMDYtMDQtMDYgMDg6NTI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB3aGljaCBpcyB1c2VkIGJ5IHNwZWV4ZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKQoJICB3aGljaCBpcyB1c2VkIGJ5IHNwZWV4ZGVjLgoKMjAwNi0wNC0wNSAxODoyNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC86IEZpeCBzZWVraW5nIGFuZCBkdXJhdGlvbiBxdWVyaWVzICgjMzM3MDMzKTsgY2xlYW4gdXAgYW5kIHJlZmFjdG9yIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKGdzdF9zcGVleF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlZXhfZGVjX3Jlc2V0KSwgKGdzdF9zcGVleF9kZWNfaW5pdCksIChzcGVleF9kZWNfY29udmVydCksCgkgIChzcGVleF9nZXRfc2lua19xdWVyeV90eXBlcyksIChzcGVleF9kZWNfc2lua19xdWVyeSksCgkgIChzcGVleF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKHNwZWV4X2RlY19zcmNfcXVlcnkpLAoJICAoc3BlZXhfZGVjX3NyY19ldmVudCksIChzcGVleF9kZWNfc2lua19ldmVudCksCgkgIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfaGVhZGVyKSwgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9jb21tZW50cyksCgkgIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSksIChzcGVleF9kZWNfY2hhaW4pLAoJICAoZ3N0X3NwZWV4X2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWV4X2RlY19zZXRfcHJvcGVydHkpLAoJICAoc3BlZXhfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIEZpeCBzZWVraW5nIGFuZCBkdXJhdGlvbiBxdWVyaWVzICgjMzM3MDMzKTsgY2xlYW4gdXAgYW5kCgkgIHJlZmFjdG9yIGEgYml0LgoKMjAwNi0wNC0wNSAxMjo0MToxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogZGlzdGluZ3Vpc2ggYmV0d2VlbiBkZXZpY2Ugbm90IGZvdW5kIGFuZCBjb3VsZCBub3Qgb3BlbiBmb3IgcmVhZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgZGlzdGluZ3Vpc2ggYmV0d2VlbiBkZXZpY2Ugbm90IGZvdW5kIGFuZCBjb3VsZCBub3Qgb3BlbiBmb3IKCSAgcmVhZGluZwoKMjAwNi0wNC0wNSAwODozNjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKToKCSAgVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzCgkgIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgQWxzbyBwZXJmb3JtIEVPUyB3aGVuIHdlIHJ1biBwYXN0IHRoZSBzZWdtZW50IHN0b3AuCgoyMDA2LTA0LTA0IDExOjIwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBNYXJrIGRpc2NvbnRpbnVpdGllcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBQb3N0IGJldHRlciBlcnJvcnMgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgSGFuZGxlIEVPUyBhbmQgc2VnbWVudCBlbmQgcHJvcGVybHkuCgoyMDA2LTA0LTA0IDA4OjMxOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAocGx1Z2luX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgSW1wbGVtZW50IGNvcnJlY3QgYWNjdXJhdGUgYW5kIGtleWZyYW1lIHNlZWtpbmcuCgkgIFVzZSBfREVCVUdfT0JKRUNUIHdoZW4gcG9zc2libGUuCgoyMDA2LTA0LTAzIDEzOjI5OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNC0wMyAxMzoyODo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGZpeCBkaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdAoKMjAwNi0wNC0wMyAwOTowMjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgYSAucGMgZmlsZSBzbyBvdGhlciBtb2R1bGVzIGNhbiB1c2UgZ29vZCBwbHVnaW5zIGluIHRlc3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBwa2djb25maWcvLmN2c2lnbm9yZToKCSAgKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkgIGFkZCBhIC5wYyBmaWxlIHNvIG90aGVyIG1vZHVsZXMgY2FuIHVzZSBnb29kIHBsdWdpbnMgaW4gdGVzdHMKCjIwMDYtMDQtMDEgMTY6NTA6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCjIwMDYtMDQtMDEgMTU6MzA6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy91cGxvYWQubWFrOgoJICBkaXNhYmxlIHVzZSBvZiBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc2FibGUgdXNlIG9mIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrIGNvcnJlY3RseQoKMjAwNi0wNC0wMSAxNDowMzowMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBhZGRpbmcgaW5zcGVjdCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGluc3BlY3QgZmlsZXMKCjIwMDYtMDQtMDEgMTA6MTU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgNSBzZWNvbmQgdGltZW91dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgNSBzZWNvbmQgdGltZW91dAoKMjAwNi0wNC0wMSAxMDoxNDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgcmVuYW1lIHRlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbmFtZSB0ZXN0CgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDQtMDEgMDk6NTY6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBjbGVhbiB1cCwgdXNlIEFTX1ZFUlNJT04gYW5kIEFTX05BTk8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBjbGVhbiB1cCwgdXNlIEFTX1ZFUlNJT04gYW5kIEFTX05BTk8KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgdXNlIFBBQ0tBR0VfVkVSU0lPTiBkZWZpbmUKCSAgKiBwby9hZi5wbzoKCSAgKiBwby9hei5wbzoKCSAgKiBwby9jcy5wbzoKCSAgKiBwby9lbl9HQi5wbzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9uYi5wbzoKCSAgKiBwby9ubC5wbzoKCSAgKiBwby9vci5wbzoKCSAgKiBwby9zcS5wbzoKCSAgKiBwby9zci5wbzoKCSAgKiBwby9zdi5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgdXBkYXRlZAoKMjAwNi0wMy0zMSAxNzo1MjozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAodGVybWluYXRlX3BsYXliYWNrKSwgKG1haW4pOgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTY6MzI6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTU6MjE6MzUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjLzogRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8KCSAgeWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgoyMDA2LTAzLTMwIDIzOjQ2OjQyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhY29sb3IuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Zmx4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGxldmVsLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rtb25vc2NvcGUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvYmFsYW5jZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2cGFyc2UuZHNwOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqKiogZW1wdHkgbG9nIG1lc3NhZ2UgKioqCgoyMDA2LTAzLTMwIDIzOjM3OjE2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHRcanBlZ1xzbW9rZWNvZGVjLmM6IHVzZSBvZiBHU1RfREVCVUcgaW5zdGVhZCBvZiBERUJVRyhhLi4uKSBmb3IgV0lOMzIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0XGpwZWdcc21va2Vjb2RlYy5jOgoJICB1c2Ugb2YgR1NUX0RFQlVHIGluc3RlYWQgb2YgREVCVUcoYS4uLikgZm9yIFdJTjMyCgkgICogZXh0XHNwZWV4XGdzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfc2V0X2hlYWRlcl9vbl9jYXBzKToKCSAgbW92ZSBmaXJzdCBpbnN0cnVjdGlvbiBhZnRlciBhbGwgdmFyaWFibGVzIGRlY2xhcmF0aW9ucwoJICAqIGdzdFxhbHBoYVxnc3RhbHBoYS5jOgoJICAqIGdzdFxlZmZlY3R2XGdzdHNoYWdhZGVsaWMuYzoKCSAgKiBnc3Rcc21wdGVccGFpbnQuYzoKCSAgKiBnc3RcdmlkZW9maWx0ZXJcZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGRlZmluZSBNX1BJIGlmIGl0J3Mgbm90IGRlZmluZWQgKGl0J3Mgbm90IGRlZmluZWQgb24gV0lOMzIpCgkgICogZ3N0XGN1dHRlclxnc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2hhaW4pOgoJICAqIGdzdFxpZDNkZW11eFxpZDN2MmZyYW1lcy5jOiAocGFyc2VfcmVsYXRpdmVfdm9sdW1lX2FkanVzdG1lbnRfdHdvKToKCSAgKiBnc3RcbGV2ZWxcZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfcHJvcGVydHkpLCAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0XG1hdHJvc2thXG1hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0XG1hdHJvc2thXG1hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgICogZ3N0XHdhdnBhcnNlXGdzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICB1c2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbnMKCSAgKiBnc3RcZ29vbVxmaWx0ZXJzLmM6IChzZXRQaXhlbFJHQl8pOgoJICBmaXggYSBkZWJ1ZyB3aGljaCB3YXMgdXNpbmcgdW5kZWZpbmVkIHZhcmlhYmxlCgkgICogZ3N0XGxldmVsXGdzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X2NhcHMpLCAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0XG1hdHJvc2thXGVibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgcmVwbGFjZSBMTCBzdWZmaXggd2l0aCBMIHN1ZmZpeCAoTEwgaXNuJ3Qgc3VwcG9ydGVkIGJ5IE1TVkM2LjApCgkgICogd2luMzIvdnM2OgoJICBhZGQgdnM2IHByb2plY3RzIGZpbGVzIGZvciBtb3N0IG9mIHBsdWdpbnMtZ29vZAoKMjAwNi0wMy0zMCAxNTozNzowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGJldHRlci91bmlmaWVkIGxvbmcgZGVzY3JpcHRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5jOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzogKGdzdF9nYW1tYV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSAgKGdzdF92aWRlb3RlbXBsYXRlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KToKCSAgYmV0dGVyL3VuaWZpZWQgbG9uZyBkZXNjcmlwdGlvbnMKCSAgRml4ZWQgIzMzNjYwMgoJICBTb21lIGNsZWFudXBzIHRvIGF1cGFyc2UsIGRvbid0IHNlbmQgbXVsdGlwbGUgbmV3c2VnbWVudHMuCgoyMDA2LTAzLTI5IDE2OjA2OjUwICswMDAwICBNaWNoYWVsIERvbWluaWMgSyA8bWRrQG1kay5vcmcucGw+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC4qOiBTZWVrIGluIFJFQURZIHBhdGNoLiBPbmx5IHdvcmtzIGZvciBwdWxsIGJhc2VkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGcm9tIGEgcGF0Y2ggYnk6IE1pY2hhZWwgRG9taW5pYyBLLiA8bWRrIGF0IG1kayBkb3Qgb3JnIGRvdCBwbD4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfZHZkZW11eF9yZXNldCksIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zZW5kX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2ZsdXNoKSwgKGdzdF9kdmRlbXV4X2xvb3ApLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgU2VlayBpbiBSRUFEWSBwYXRjaC4gT25seSB3b3JrcyBmb3IgcHVsbCBiYXNlZCBtb2RlLgoJICBGaXhlcyAjMzIzODgwCgoyMDA2LTAzLTI3IDE3OjA2OjQ1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoKMjAwNi0wMy0yNyAxNDowOToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBGaXggdHdvIGNyYXNoZXJzOiBkb24ndCB1bnJlZiB0aGUgc2FtZSBjYXBzIHR3aWNlLCBhbmQgc2V0IHBpeGJ1ZiBsb2FkZXIgdG8gTlVMTCBhZnRlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2V2ZW50KToKCSAgRml4IHR3byBjcmFzaGVyczogZG9uJ3QgdW5yZWYgdGhlIHNhbWUgY2FwcyB0d2ljZSwgYW5kCgkgIHNldCBwaXhidWYgbG9hZGVyIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBpdC4KCjIwMDYtMDMtMjcgMTQ6MDA6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuKjogRG9uJ3QgbGVhayBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVleGVuY19maW5hbGl6ZSksIChnc3Rfc3BlZXhlbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9zcGVleGVuY19jaGFpbik6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIERvbid0IGxlYWsgYWRhcHRlci4KCSAgQSBwdXNoICphbHdheXMqIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyLCBldmVuIG9uCgkgIGVycm9ycy4KCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTAzLTI2IDE5OjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuKjogRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8gY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvCgkgIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIGNhbid0CgkgIGFkanVzdCBvZmZzZXRzIHlldCB3aGVuIHdlIGdldCBpdCwgYXMgd2UgZG9uJ3QKCSAga25vdyB0aGUgc2l6ZSBvZiB0aGUgdGFnIHlldCBmb3Igc3VyZSBhdCB0aGF0IHBvaW50LgoJICBBbHNvIGRvIHNvbWUgbWlub3IgY2xlYW5pbmcgdXAgaGVyZSBhbmQgdGhlcmUgYW5kIGFkZAoJICBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTAzLTI2IDEyOjI0OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IENyZWF0ZSBzb3VyY2UgcGFkIHdpdGhvdXQgbGVha2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCk6CgkgIENyZWF0ZSBzb3VyY2UgcGFkIHdpdGhvdXQgbGVha2luZy4KCjIwMDYtMDMtMjUgMjE6NTc6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyCgkgIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pZDMgY2FwczsgYWxzbywKCSAgZG9uJ3QgdXNlIGFscmVhZHktZnJlZWQgc3RyaW5ncyBpbiBkZWJ1ZyBtZXNzYWdlczsKCSAgZmluYWxseSwgYWRqdXN0IGJ1ZmZlciBvZmZzZXRzIG9uIGJ1ZmZlcnMgc2VudCBvdXQuCgoyMDA2LTAzLTI1IDEzOjAyOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LAoJICBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZml4ZWQgcHJvcGVybHkgKGFuZCBtYWtlCgkgIGJ1aWxkYm90cyBoYXBweSkuCgoyMDA2LTAzLTI1IDA1OjMxOjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCjIwMDYtMDMtMjQgMTk6NDE6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmxhYy86IFNwaWZpZnkgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgU3BpZmlmeSBhIGJpdC4KCSAgRml4IGRlYWRseSBsb2NrIG9yZGVyIGVycm9yIGluIHNlZWtpbmcgY29kZSwgU1RSRUFNX0xPQ0sKCSAgY2Fubm90IGJlIHRha2VuIHdpdGhpbiBMT0NLIGFuZCB0aGUgc3RyZWFtaW5nIHZhcmlhYmxlcyBhcmUKCSAgcHJvdGVjdGVkIHdpdGggdGhlIFNUUkVBTV9MT0NLIGFueXdheS4KCjIwMDYtMDMtMjQgMTg6NTY6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IHRoaXMgcGF0Y2ggY29tYmluZXMgdGhlIGdsb2JhbCBpbml0X2ZyYW1lcyB3aXRoIHRoZSBzdHJlYW0gaW5pdF9mcmFtZXMuIFJhdGlvbmFsZSBiZWluZyB0aGF0IHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgdGhpcyBwYXRjaCBjb21iaW5lcyB0aGUgZ2xvYmFsIGluaXRfZnJhbWVzIHdpdGggdGhlIHN0cmVhbQoJICBpbml0X2ZyYW1lcy4gUmF0aW9uYWxlIGJlaW5nIHRoYXQgdGhlIGdsb2JhbCBkZWxheSBzaG91bGQKCSAgYmUgc3VidHJhY3RlZCBmcm9tIGFueSBzdHJlYW0gZGVsYXkuCgkgIEZpeGVzICMzMzU4NTguCgoyMDA2LTAzLTI0IDE3OjExOjU2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiB1c2UgREVCVUdfRlVOQ1BUUiBmb3IgY29sbGVjdHBhZHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCk6CgkgIHVzZSBERUJVR19GVU5DUFRSIGZvciBjb2xsZWN0cGFkcwoKMjAwNi0wMy0yNCAwOTo1NDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvZGluZyBpbWFnZXMgd2hlcmUgdGhlIG51bWJlciBvZiByb3dzIGlzbid0IGEgbXVsdGlwbGUgb2YgMipEQ1RTSVpFLiBBZGQgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19pbml0KSwgKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvZGluZyBpbWFnZXMgd2hlcmUgdGhlIG51bWJlciBvZiByb3dzIGlzbid0CgkgIGEgbXVsdGlwbGUgb2YgMipEQ1RTSVpFLiBBZGQgc29tZSBHU1RfREVCVUdfRlVOQ1BUUi4KCjIwMDYtMDMtMjMgMjE6Mjg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNb3JlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICBNb3JlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmaXhlcy4KCjIwMDYtMDMtMjMgMjA6MTI6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuKjogRml4IGVzZCBjaG9wcHkgcGxheWJhY2sgYnkgY29uZmlndXJpbmcgYXVkaW9zaW5rIGNvcnJlY3RseS4gRml4ZXMgIzMyNTE5MQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2VzZHNpbmtfZ2V0Y2FwcyksIChnc3RfZXNkc2lua19vcGVuKSwgKGdzdF9lc2RzaW5rX2Nsb3NlKSwKCSAgKGdzdF9lc2RzaW5rX3ByZXBhcmUpLCAoZ3N0X2VzZHNpbmtfdW5wcmVwYXJlKSwKCSAgKGdzdF9lc2RzaW5rX2RlbGF5KSwgKGdzdF9lc2RzaW5rX3Jlc2V0KToKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgRml4IGVzZCBjaG9wcHkgcGxheWJhY2sgYnkgY29uZmlndXJpbmcgYXVkaW9zaW5rCgkgIGNvcnJlY3RseS4gRml4ZXMgIzMyNTE5MQoKMjAwNi0wMy0yMyAxOTo1NzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IE1ha2Ugc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zYWZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtc2FmZS4KCjIwMDYtMDMtMjMgMTY6NTA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRG9uJ3QgdHJ5IHRvIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUganVzdCBiZWNhdXNlIHRoZSBoZWFkZXIgY2xhaW1zIGEgYmlnZ2VyIHNpemUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIERvbid0IHRyeSB0byByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlIGp1c3QgYmVjYXVzZQoJICB0aGUgaGVhZGVyIGNsYWltcyBhIGJpZ2dlciBzaXplIChsaWtlIHdpdGggdHJ1bmNhdGVkIGZpbGVzKS4KCjIwMDYtMDMtMjMgMTU6MzY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogRGVsYXkgc291cmNlIHBhZCBjcmVhdGlvbiB1bnRpbCB3ZSBoYXZlIHRoZSBmaXJzdCBjaHVuayBvZiBtZWRpYSBkYXRhLCBzbyB0aGUgd2UgY2FuIGV4YW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgRGVsYXkgc291cmNlIHBhZCBjcmVhdGlvbiB1bnRpbCB3ZSBoYXZlIHRoZSBmaXJzdCBjaHVuayBvZgoJICBtZWRpYSBkYXRhLCBzbyB0aGUgd2UgY2FuIGV4YW1pbmUgdGhlIGRhdGEgYW5kIGFkanVzdCB0aGUKCSAgY2FwcyBhY2NvcmRpbmdseSBpZiByZXF1aXJlZC4gVGhpcyBtYWtlcyBwbGF5YmFjayBvZiAud2F2CgkgIGZpbGVzIHdpdGggRFRTLWRlY2xhcmVkLWFzLVBDTSBjb250ZW50IHdvcmsgKCMzMTMyNjYpLgoKMjAwNi0wMy0yMiAxOTo1MDo1NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgdmlkZW9iYWxhbmNlIHBsdWduCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdmlkZW9iYWxhbmNlIHBsdWduCgoyMDA2LTAzLTIyIDEzOjAyOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgbWVudGlvbiBmaXhlZCBidWcgbnVtYmVyIGluIHRoZSBjaGFuZ2Vsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1lbnRpb24gZml4ZWQgYnVnIG51bWJlciBpbiB0aGUgY2hhbmdlbG9nCgoyMDA2LTAzLTIyIDEzOjAwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IERvbid0IGF0dGVtcHQgdHlwZWZpbmRpbmcgb24gdG9vLXNob3J0IGJ1ZmZlcnMgdGhhdCBoYXZlIGJlZW4gY29tcGxldGVseSB0cmltbWVkIGF3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgRG9uJ3QgYXR0ZW1wdCB0eXBlZmluZGluZyBvbiB0b28tc2hvcnQgYnVmZmVycyB0aGF0IGhhdmUgYmVlbgoJICBjb21wbGV0ZWx5IHRyaW1tZWQgYXdheS4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpOgoJICBJbXByb3ZlIHRoZSBkZWJ1ZyBvdXRwdXQKCjIwMDYtMDMtMjEgMTg6MTI6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19jbGFzc19pbml0KSwgKGdzdF9lc2RzaW5rX2luaXQpLAoJICAoZ3N0X2VzZHNpbmtfZmluYWxpemUpLCAoZ3N0X2VzZHNpbmtfZ2V0Y2FwcyksIChnc3RfZXNkc2lua19vcGVuKSwKCSAgKGdzdF9lc2RzaW5rX2Nsb3NlKSwgKGdzdF9lc2RzaW5rX3ByZXBhcmUpLCAoZ3N0X2VzZHNpbmtfd3JpdGUpLAoJICAoZ3N0X2VzZHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9lc2RzaW5rX2dldF9wcm9wZXJ0eSk6CgkgIFNvbWUgY2xlYW51cHMuCgkgIFJlc2V0IGZkIHRvIC0xIHdoZW4gd2UgY2xvc2UgdGhlbS4KCjIwMDYtMDMtMjEgMTY6MTk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IHRoZSBPUFRJT05TIHJlcXVlc3QgcmVzdWx0IGlzIG9wdGlvbmFsIHNvIGRvbid0IGZhaWwgb24gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICB0aGUgT1BUSU9OUyByZXF1ZXN0IHJlc3VsdCBpcyBvcHRpb25hbCBzbyBkb24ndAoJICBmYWlsIG9uIGl0LgoKMjAwNi0wMy0yMSAxNDo1MzozNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IGdjYyA0LjEgdW5yZWZlcmVuY2VkIHBvaW50ZXIgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfcmVzZXQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3Jlc2V0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgZ2NjIDQuMSB1bnJlZmVyZW5jZWQgcG9pbnRlciBmaXhlcy4KCjIwMDYtMDMtMjEgMTM6MDc6MzEgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IGJsb2NrIGFsaWdubWVudCBjYWxjdWxhdGlvbi4gQWxpZ25tZW50IHNob3VsZCBiZSBkb25lIGJlZm9yZSBhZGRpbmcgdGhlIGJ5dGUgb2Zmc2V0IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2Vlayk6CgkgIEZpeCBibG9jayBhbGlnbm1lbnQgY2FsY3VsYXRpb24uIEFsaWdubWVudCBzaG91bGQgYmUgZG9uZSBiZWZvcmUKCSAgYWRkaW5nIHRoZSBieXRlIG9mZnNldCB3aGVyZSB0aGUgZGF0YSBzdGFydHMgKCMzMzUyMzEpLgoKMjAwNi0wMy0yMCAxODozNDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBFbnN1cmUgdGhhdCB3ZSBzZXQgY29ycmVjdCBjYXBzIG9uIGJ1ZmZlcnMgdGhhdCBhcmUgdHJhbnNmZXJyZWQgZGlyZWN0IGZyb20gdGhlIGlucHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9wdXNoKToKCSAgRW5zdXJlIHRoYXQgd2Ugc2V0IGNvcnJlY3QgY2FwcyBvbiBidWZmZXJzIHRoYXQgYXJlIHRyYW5zZmVycmVkCgkgIGRpcmVjdCBmcm9tIHRoZSBpbnB1dC4KCjIwMDYtMDMtMjAgMTc6Mzg6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vOiBGcmVlIGZpbHRlciBkYXRhIHdoZW4gY2xlYW5pbmcgdXAuIChGaXhlczogIzMzNDk5NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlckRlc3Ryb3kpOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV9jbG9zZSk6CgkgIEZyZWUgZmlsdGVyIGRhdGEgd2hlbiBjbGVhbmluZyB1cC4gKEZpeGVzOiAjMzM0OTk1KQoKMjAwNi0wMy0yMCAwODo1OToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoKMjAwNi0wMy0xNyAxNjozNDozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCjIwMDYtMDMtMTcgMTU6MzM6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGNvbXBpbGUgdWRwIGFuZCBydHNwIHBsdWdpbnMgb24gd2luMzIgKG1pbmd3KSBvciBvdGhlciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSA8c3lzL3NvY2tldC5oPiBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBjb21waWxlIHVkcCBhbmQgcnRzcCBwbHVnaW5zIG9uIHdpbjMyIChtaW5ndykgb3Igb3RoZXIKCSAgc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgPHN5cy9zb2NrZXQuaD4gZm9yIHNvbWUgcmVhc29uICgjMzE2MjAzKS4KCjIwMDYtMDMtMTYgMTc6Mjg6MDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgQ2hhbmdlIGJ1cyByZXNldCBoYW5kbGVyIHNvIGl0IHJlcG9ydHMgdXNlZnVsIGluZm9ybWF0aW9uIHN1Y2ggYXMgd2hldGhlciB0aGUgZGV2aWNlIGJlaW5nIHVzZWQgY29ubmVjdGVkIG9yIGRpc2Nvbm5lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2UgYnVzIHJlc2V0IGhhbmRsZXIgc28gaXQgcmVwb3J0cyB1c2VmdWwgaW5mb3JtYXRpb24gc3VjaCBhcwoJICB3aGV0aGVyIHRoZSBkZXZpY2UgYmVpbmcgdXNlZCBjb25uZWN0ZWQgb3IgZGlzY29ubmVjdGVkCgoyMDA2LTAzLTE2IDE2OjA2OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFdlIG9ubHkgY2FyZSBhYm91dCBnYWluIGFuZCBwZWFrIGRhdGEgZm9yIHRoZSBtYXN0ZXIgdm9sdW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgKHBhcnNlX3JlbGF0aXZlX3ZvbHVtZV9hZGp1c3RtZW50X3R3byk6CgkgIFdlIG9ubHkgY2FyZSBhYm91dCBnYWluIGFuZCBwZWFrIGRhdGEgZm9yIHRoZSBtYXN0ZXIgdm9sdW1lLgoKMjAwNi0wMy0xNiAxMzoyMjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBSZWFkIHJlcGxheSBnYWluIHRhZ3MgKCMzMjM3MjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2lkX3N0cmluZyksIChwYXJzZV91bmlxdWVfZmlsZV9pZGVudGlmaWVyKSwKCSAgKHBhcnNlX3JlbGF0aXZlX3ZvbHVtZV9hZGp1c3RtZW50X3R3byksIChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIFJlYWQgcmVwbGF5IGdhaW4gdGFncyAoIzMyMzcyMSkuCgoyMDA2LTAzLTE1IDIzOjE5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byBnc3QtcGx1Z2lucy1iYXNlIENWUyBiZWNhdXNlIG9mIGJ1Z2d5IGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSBpbiAwLjEwLjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gZ3N0LXBsdWdpbnMtYmFzZSBDVlMgYmVjYXVzZQoJICBvZiBidWdneSBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCkgaW4gMC4xMC41LgoKMjAwNi0wMy0xNSAyMjozMDoyNCArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgRml4ZWQgb25lIG9mIHRoZSBjYXBzIGluIHRoZSBjb2RlIGZyb20gbXVsYXcgdG8gYWxhdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIG9uZSBvZiB0aGUgY2FwcyBpbiB0aGUgY29kZSBmcm9tIG11bGF3IHRvIGFsYXcuCgoyMDA2LTAzLTE1IDE2OjIxOjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogRW5zdXJlIHRoYXQgd2Ugc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgd2UgcGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgIEVuc3VyZSB0aGF0IHdlIHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHdlIHBhc3MuCgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBFbnN1cmUgdGhhdCB3ZSBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB3ZSBwYXNzLgoJICBVc2UgU1RSRUFNLCBUWVBFX05PVF9GT1VORCBhcyB0aGUgZXJyb3IgY2xhc3Mgd2hlbgoJICB0eXBlZmluZGluZyBmYWlscy4KCjIwMDYtMDMtMTUgMTY6MTc6MTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBGaXggbWVtbGVhayB3aXRoIGdzdF9zdGF0aWNfcGFkX3RlbXBsYXRlX2dldCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfaW5pdCk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2luaXQpLCAoZ3N0X2R2ZGVtdXhfYWRkX3BhZHMpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX3NldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19pbml0KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ2RlY19pbml0KSwKCSAgKGdzdF9tbmdkZWNfc3JjX2dldGNhcHMpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19pbml0KToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKGdzdF9zcGVleF9kZWNfaW5pdCk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfaW5pdCk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfaW5pdCksIChnc3RfZWZlbmNlX2dldHJhbmdlKSwKCSAgKGdzdF9lZmVuY2VfY2hlY2tnZXRyYW5nZSk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25faW5pdCk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfaW5pdCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21faW5pdCk6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cEwxNnBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6IChnc3RfcnRwX2RlcGF5X2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKToKCSAgRml4IG1lbWxlYWsgd2l0aCBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoKS4KCSAgVGhpcyB1c2VzIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCkgaW5zdGVhZC4KCSAgRml4ZXMgIzMzMzUxMgoKMjAwNi0wMy0xNSAxNTowODoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpOgoJICBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCjIwMDYtMDMtMTUgMTQ6Mzk6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2luaXQpLCAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICAtIFVucmVmIHRoZSBHc3RBZGFwdGVyIGluIGZpbmFsaXplLgoJICAtIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpLCBzaG9ydGVyIGFuZCBzYWZlci4KCSAgLSBGcmVlIHVudXNlZCBRdERlbXV4U3RyZWFtIHdoZW4gbm90IHVzZWQuCgoyMDA2LTAzLTE0IDE3OjU2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIC1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuNSBmb3IgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpLCB1c2VkIGJ5IGlkM2RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC41IGZvciBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCksCgkgIHVzZWQgYnkgaWQzZGVtdXguCgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV91c2VyX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAocGFyc2VfdW5pcXVlX2ZpbGVfaWRlbnRpZmllcik6CgkgIEFkZCBzdXBwb3J0IGZvciBVRklEIGFuZCBUWFhYIGZyYW1lcyBhbmQgZXh0cmFjdCBtdXNpY2JyYWlueiB0YWdzLgoKMjAwNi0wMy0xNCAxNzoyNDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsIG1vdmluZyBpdCBmcm9tIF9jbGFzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgIEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLAoJICBtb3ZpbmcgaXQgZnJvbSBfY2xhc3NfaW5pdCgpIHRvIGJlZ2lubmluZyBvZiBfYmFzZV9pbml0KCkuCgoyMDA2LTAzLTE0IDE1OjI4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDYXRjaCBzaG9ydCByZWFkcywgbGlrZSB0aGV5IG1pZ2h0IGhhcHBlbiB3aXRoIHRydW5jYXRlZCBmaWxlcyAoc2VlICMzMDUyNzkpOyByZW1vdmUgdW5uZWNlc3NhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgQ2F0Y2ggc2hvcnQgcmVhZHMsIGxpa2UgdGhleSBtaWdodCBoYXBwZW4gd2l0aCB0cnVuY2F0ZWQKCSAgZmlsZXMgKHNlZSAjMzA1Mjc5KTsgcmVtb3ZlIHVubmVjZXNzYXJ5IGluZGVudGF0aW9uLgoKMjAwNi0wMy0xNCAxNDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IERJQiBpbWFnZSBpbnZlcnNpb24gZm9yIHBpY3R1cmVzIHdpdGggYSBkZXB0aCAhPSA4ICgjMzA1Mjc5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpOgoJICBGaXggRElCIGltYWdlIGludmVyc2lvbiBmb3IgcGljdHVyZXMgd2l0aCBhCgkgIGRlcHRoICE9IDggKCMzMDUyNzkpLgoKMjAwNi0wMy0xNCAwOToyMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogRml4IGR1cmF0aW9ucyBvbiBvdXRnb2luZyBidWZmZXJzIGFmdGVyIHNlZWtpbmcgaW4gTUpQRUcgZmlsZXMgKCMzMzQwODMpOyBzb21lIG1pbm9yIGNsZWFuLXVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKSwgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgRml4IGR1cmF0aW9ucyBvbiBvdXRnb2luZyBidWZmZXJzIGFmdGVyIHNlZWtpbmcKCSAgaW4gTUpQRUcgZmlsZXMgKCMzMzQwODMpOyBzb21lIG1pbm9yIGNsZWFuLXVwcy4KCjIwMDYtMDMtMTMgMTg6Mjg6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSW1wbGVtZW50IHNlZWsgaW4gUkVBRFkgKHJlLWZpeGVzICMzMjc2NTgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBJbXBsZW1lbnQgc2VlayBpbiBSRUFEWSAocmUtZml4ZXMgIzMyNzY1OCkKCjIwMDYtMDMtMTMgMTc6MjI6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZAoJICBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgb2YgdGhlIHBsdWdpbiAodGFnbGlibXV4ID0+IHRhZ2xpYikKCjIwMDYtMDMtMTMgMTU6NDk6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjbG9zZSAjMzMzNzg0IHVucmVmIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF9nZXRfcGFyZW50KCkgYnk6IENocmlzdG9waGUgRmVyZ2VhdS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX2dldCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2dldGNhcHMpLAoJICAoZ3N0X2pwZWdlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19zZXRjYXBzKToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ2RlY19zaW5rbGluayksCgkgIChnc3RfbW5nZGVjX3NyY19nZXRjYXBzKToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOiAoZ3N0X21uZ2VuY19zaW5rbGluayksCgkgIChnc3RfbW5nZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19zZXRjYXBzKToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9zcmNsaW5rKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jb252ZXJ0KSwKCSAgKHNwZWV4X2RlY19zcmNfZXZlbnQpLCAoc3BlZXhfZGVjX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF92aWRzaW5rY29ubmVjdCksCgkgIChnc3RfYXZpbXV4X2F1ZHNpbmtjb25uZWN0KSwgKGdzdF9hdmltdXhfaGFuZGxlX2V2ZW50KToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl9nZXRjYXBzKSwKCSAgKGdzdF9uZWdvdGlhdGlvbl9wYWRfbGluayksIChnc3RfbmVnb3RpYXRpb25fY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19xdWVyeV9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX3NpbmtfbGluayksCgkgIChkZWludGVybGVhdmVfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChtdWxhd2VuY19zZXRjYXBzKToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOiAoZ3N0X21lZGlhbl9saW5rKToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9zcmNjb25uZWN0KSwKCSAgKGdzdF9tb25vc2NvcGVfY2hhaW4pOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwTDE2cGF5X3Npbmtjb25uZWN0KToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogKGdzdF9vc3hhdWRpb3NpbmtfY2hhaW4pOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOiAoZ3N0X29zeGF1ZGlvc3JjX2dldCk6CgkgIGNsb3NlICMzMzM3ODQgdW5yZWYgdGhlIHJlc3VsdCBvZiBnc3RfcGFkX2dldF9wYXJlbnQoKQoJICBieTogQ2hyaXN0b3BoZSBGZXJnZWF1LgoKMjAwNi0wMy0xMyAxMDowNTowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgoyMDA2LTAzLTEyIDE1OjMzOjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfcG9vbF9mcmVlKToKCSAgZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldAoJICBpbnN0ZWFkLgoKMjAwNi0wMy0xMiAxNToyNTo1MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQyBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDCgkgIGJ1aWxkYm90IGhhcHB5LgoJICBJIHdpbGwganVzdCB1c2UgdGhlIHNhbWUgY29tbWVudCBSb25hbGQgdXNlZCB3aGVuIGhlIGFkZGVkIHRoZXNlIGxpbmVzOgoJICBZZXQgQW5vdGhlciBIYWNrICh0bSkgZm9yIGtlcm5lbCBoZWFkZXIgYm9ya2VkbmVzcy4KCjIwMDYtMDMtMTIgMTU6MDI6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCjIwMDYtMDMtMTIgMTQ6NDM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIFBQQy1idWlsZGJvdCBoYXBweS4KCjIwMDYtMDMtMTEgMjI6NTA6MDMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoKMjAwNi0wMy0xMSAxMDo1ODowOCArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsYW5AZmVkb3JhcHJvamVjdC5vcmc+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTExICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUGF0Y2ggYnk6IEFsZXggTGFuY2FzdGVyCgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGZpeCB3cml0aW5nIG9mIFRQT1MgdGFncyAoYWxidW0gbnVtYmVyKSwKCSAgYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgoyMDA2LTAzLTA5IDIwOjAyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCk6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoKMjAwNi0wMy0wOSAxNzo0NDoxNyArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMDkgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICByZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgoyMDA2LTAzLTA5IDExOjQ3OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogSGFuZGxlIGV2ZW50cyBpbiBwdXNoIG1vZGUgYmV0dGVyLCBjYW4gbm93IGRvIG5vbi1mbHVzaGluZyBzZWVrcyBpbiBwdXNoIG1vZGUgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc2VnbWVudCksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgIEhhbmRsZSBldmVudHMgaW4gcHVzaCBtb2RlIGJldHRlciwgY2FuIG5vdyBkbyBub24tZmx1c2hpbmcKCSAgc2Vla3MgaW4gcHVzaCBtb2RlIGFzIHdlbGwuCgoyMDA2LTAzLTA4IDEyOjE2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UKCSAgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciBmb3IgdGhhdAoJICAoZml4ZXMgIzMzMjA2NikuCgoyMDA2LTAzLTA3IDE3OjMxOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IEFwcGxpZWQgcGF0Y2ggZnJvbSBLYWkgVmVobWFuZW4sIGZpeGVzICMzMzM2MjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfY2xhc3NfaW5pdCk6CgkgIEFwcGxpZWQgcGF0Y2ggZnJvbSBLYWkgVmVobWFuZW4sIGZpeGVzICMzMzM2MjQuCgoyMDA2LTAzLTA2IDIyOjIyOjQ1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IEltcGxlbWVudCBwYWxldHRlZCBhbmQgZ3JheXNjYWxlIHBuZyBmaWxlcyBoYW5kbGluZy4gKCMxNTAzNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICBJbXBsZW1lbnQgcGFsZXR0ZWQgYW5kIGdyYXlzY2FsZSBwbmcgZmlsZXMgaGFuZGxpbmcuCgkgICgjMTUwMzYzKS4KCjIwMDYtMDMtMDYgMDA6MTA6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IGZpeCBhIHRhZyBsaXN0IGFzc2VydCBmb2xsb3cgZ3N0LXBsdWdpbnMtYmFzZS9leHQvb2dnL1JFQURNRTsgc2V0IE9GRlNFVCBhbmQgT0ZGU0VUX0VORC4gIE11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX3NldF9oZWFkZXJfb25fY2FwcyksCgkgIChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICBmaXggYSB0YWcgbGlzdCBhc3NlcnQKCSAgZm9sbG93IGdzdC1wbHVnaW5zLWJhc2UvZXh0L29nZy9SRUFETUU7IHNldCBPRkZTRVQKCSAgYW5kIE9GRlNFVF9FTkQuICBNdXhlcyBjb3JyZWN0bHkgd2l0aCBnc3QtcGx1Z2lucy1iYXNlCgkgID4gMC45LjMKCjIwMDYtMDMtMDUgMTM6MDM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoKMjAwNi0wMy0wNCAyMDoxMTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IFVzZSBuZXcgdHlwZWZpbmQgaGVscGVyIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwsIGFuZCBkbyB0eXBlZmluZGluZyBpbiBwdWxsLW1vZGUgaWYgdXBzdHJlYW0gc3VwcG9ydHMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCksCgkgIChnc3RfaWQzZGVtdXhfY2hhaW4pLCAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBVc2UgbmV3IHR5cGVmaW5kIGhlbHBlciBmdW5jdGlvbnMgaGVyZSBhcyB3ZWxsLCBhbmQKCSAgZG8gdHlwZWZpbmRpbmcgaW4gcHVsbC1tb2RlIGlmIHVwc3RyZWFtIHN1cHBvcnRzIHRoYXQuCgoyMDA2LTAzLTA0IDE4OjU3OjM3ICswMDAwICBCZW5qYW1pbiBQaW5lYXUgPGJlbi5waW5lYXVAZ21haWwuY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMsIGJyZWFrcyBidWlsZCBmcm9tIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX25ldyk6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzLCBicmVha3MgYnVpbGQgZnJvbSBDVlMKCSAgd2l0aCAtV2Vycm9yICgjMzMzMzkyLCBwYXRjaCBieTogQmVuamFtaW4gUGluZWF1KQoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMy0wMyAxODozNjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIHdhdnBhcnNlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkZWQgd2F2cGFyc2UgZG9jcy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEltcGxlbWVudCBzZWVrIGluIFJFQURZIChmaXhlcyAjMzI3NjU4KQoJICBBZGRlZCBkb2NzIGFuZCBkaWQgc29tZSBjbGVhbnVwcy4KCjIwMDYtMDMtMDMgMTc6NTE6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IElmIHdlIGhhdmUgYW4gaW5kZXgsIHVzZSBhIGR1cmF0aW9uIGJhc2VkIG9uIHRoZSBpbmRleCBpbnN0ZWFkIG9mIGJsaW5kbHkgdHJ1c3RpbmcgdGhlIGluZm9ybWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgSWYgd2UgaGF2ZSBhbiBpbmRleCwgdXNlIGEgZHVyYXRpb24gYmFzZWQgb24gdGhlIGluZGV4IGluc3RlYWQKCSAgb2YgYmxpbmRseSB0cnVzdGluZyB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIHN0cmVhbSBoZWFkZXJzCgkgIChmaXhlcyAjMzMxODE3KS4KCjIwMDYtMDMtMDMgMTU6NTA6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCBzbW9rZSBhbmQganBlZyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGRlZCBzbW9rZSBhbmQganBlZyB0byB0aGUgZG9jcy4KCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9nc3RqcGVnLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19pbml0KSwKCSAgKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICAqIGV4dC9qcGVnL3Ntb2tlY29kZWMuaDoKCSAgUG9ydCBzbW9rZWRlYyAoZml4ZXMgIzMzMTkwNSkuCgkgIEFkZGVkIHNvbWUgZG9jcy4KCSAgU29tZSBjbGVhbnVwcy4KCjIwMDYtMDMtMDMgMTQ6Mzk6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCB2aWRlb2JhbGFuY2UgYW5kIHZpZGVvZmxpcCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGRlZCB2aWRlb2JhbGFuY2UgYW5kIHZpZGVvZmxpcCB0byB0aGUgZG9jcy4KCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfdXBkYXRlX3RhYmxlc19wbGFuYXI0MTEpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfaXNfcGFzc3Rocm91Z2gpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfdXBkYXRlX3Byb3BlcnRpZXMpLCAob2lsX3RhYmxlbG9va3VwX3U4KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3BsYW5hcjQxMV9pcCksIChnc3RfdmlkZW9fYmFsYW5jZV9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV90cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2ZpbmFsaXplKSwgKGdzdF92aWRlb19iYWxhbmNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfaW5pdCksIChnc3RfdmlkZW9fYmFsYW5jZV9pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9zZXRfdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX2dldF92YWx1ZSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2dldF90eXBlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIFBvcnRlZCB0byAwLjEwLiAoRml4ZXMgIzMyNjE2MCkKCSAgQWRkZWQgZG9jcy4KCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICBBZGRlZCBkb2NzLgoKMjAwNi0wMy0wMyAxMTowNzo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zIHdoZW4gcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMKCSAgd2hlbiBwYXJzaW5nLgoJICBBbHNvIGxldCdzIGJlIGEgYml0IGxlc3MgdnVsZ2FyIGluIG91ciB3YXJuaW5nIG1lc3NhZ2VzIDopCgoyMDA2LTAzLTAyIDE1OjE0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byBjdXJyZW50IGNvcmUgYW5kIC1iYXNlIENWUyAoY29yZSBmb3IgbmV3IHR5cGVmaW5kIGhlbHBlciBBUEksIGFuZCAtYmFzZSBmb3IgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gY3VycmVudCBjb3JlIGFuZCAtYmFzZSBDVlMKCSAgKGNvcmUgZm9yIG5ldyB0eXBlZmluZCBoZWxwZXIgQVBJLCBhbmQgLWJhc2UgZm9yIHRoZQoJICBXQVZGT1JNQVRFWCBzdXBwb3J0IHRoYXQgd2FzIGFkZGVkIHRvIGxpYmdzdHJpZmYgYW5kCgkgIGlzIG5lZWRlZCBieSB3YXZwYXJzZSkuCgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKSwKCSAgKGdzdF90YWdfZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIFVzZSBuZXcgdHlwZWZpbmQgaGVscGVycyBmb3IgdHlwZWZpbmRpbmcgaW5zdGVhZCBvZiBvdXIKCSAgaG9tZS1ncm93biBzdHVmZjsgYWxzbywgZG8gdHlwZWZpbmRpbmcgaW4gcHVsbC1tb2RlIGlmCgkgIHVwc3RyZWFtIHN1cHBvcnRzIHRoYXQuCgoyMDA2LTAyLTI4IDExOjU5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2Ygc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZgoJICBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpIChzZWUgIzMyNzA4MykKCjIwMDYtMDItMjggMTA6NDA6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgcmVtb3ZlIGNvbmZsaWN0IGluZGljYXRvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGNvbmZsaWN0IGluZGljYXRvcgoKMjAwNi0wMi0yOCAxMDozOTowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBhZGQgbWlzc2luZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgZW50cnkKCjIwMDYtMDItMjggMTA6Mjk6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIERFQlVHX09CSkVDVCBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgVXNlIERFQlVHX09CSkVDVCBtb3JlLgoKMjAwNi0wMi0yOCAxMDoyMjoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIGR2ZGVjIGFuZCBkdmRlbXV4IHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkZWQgZHZkZWMgYW5kIGR2ZGVtdXggdG8gZG9jcy4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19iYXNlX2luaXQpLCAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgQWRkZWQgZG9jcy4KCSAgQ2hlY2sgZnJhbWUgc2l6ZXMgc28gd2UgZG9uJ3QgY3Jhc2ggd2hlbiBkb24ndCBoYXZlIGVub3VnaAoJICBkYXRhLgoJICBTZW5kIG5pY2UgZXJyb3IgbWVzc2FnZXMgb24gZXJyb3IuCgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfZHZkZW11eF9jbGFzc19pbml0KSwgKGdzdF9kdmRlbXV4X2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfZmluYWxpemUpLCAoZ3N0X2R2ZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2R2ZGVtdXhfc2lua19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksIChnc3RfZHZkZW11eF9zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9kdmRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVtdXhfY29udmVydF9zcmNfcGFpciksIChnc3RfZHZkZW11eF9jb252ZXJ0X3NpbmtfcGFpciksCgkgIChnc3RfZHZkZW11eF9jb252ZXJ0X3NyY190b19zaW5rKSwgKGdzdF9kdmRlbXV4X2hhbmRsZV9wdXNoX3NlZWspLAoJICAoZ3N0X2R2ZGVtdXhfZG9fc2VlayksIChnc3RfZHZkZW11eF9oYW5kbGVfcHVsbF9zZWVrKSwKCSAgKGdzdF9kdmRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfYXVkaW8pLAoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfdmlkZW8pLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpLAoJICAoZ3N0X2R2ZGVtdXhfZmx1c2gpLCAoZ3N0X2R2ZGVtdXhfY2hhaW4pLCAoZ3N0X2R2ZGVtdXhfbG9vcCksCgkgIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBBZGRlZCBkb2NzLgoJICBJbXBsZW1lbnQgcHVsbCBtb2RlLgoJICBGaXggbWVtbGVha3MuCgkgIFJlZHVjZSBtZW1jcHkgZm9yIHRoZSB2aWRlbyBkZW11eGluZy4KCjIwMDYtMDItMjggMDk6MjE6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2Fubm9kZXgvOiBBZGQgYSBsaXR0bGUgZXh0cmEgZGVidWcuIE1ha2UgdGhlIGRlY29kZXIgbm90IHJldHVybiBOT1RfTElOS0VELCBhcyB3ZSB3YW50IHRvIGNvbnRpbnVlIGRlY29kaW5nIGFsbCBDLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogKGdzdF9jbW1sX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9jbW1sX2RlY19uZXdfYnVmZmVyKSwgKGdzdF9jbW1sX2RlY19wYXJzZV9wcmVhbWJsZSksCgkgIChnc3RfY21tbF9kZWNfcGFyc2VfaGVhZCksIChnc3RfY21tbF9kZWNfcHVzaF9jbGlwKToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6IChnc3RfY21tbF9wYXJzZXJfcGFyc2VfY2h1bmspOgoJICBBZGQgYSBsaXR0bGUgZXh0cmEgZGVidWcuIE1ha2UgdGhlIGRlY29kZXIgbm90IHJldHVybiBOT1RfTElOS0VELAoJICBhcyB3ZSB3YW50IHRvIGNvbnRpbnVlIGRlY29kaW5nIGFsbCBDTU1MIGFuZCBlbWl0dGluZyB0YWdzLgoKMjAwNi0wMi0yNyAxNDozNzoyOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgYW5ub2RleCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhbm5vZGV4IHBsdWdpbgoKMjAwNi0wMi0yNyAxNDowMDoxOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy4qOiBEZWxldGVkOyB0aGVzZSBmaWxlcyBhcmVuJ3QgdXNlZCBhbnkgbW9yZSBlaXRoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmg6CgkgIERlbGV0ZWQ7IHRoZXNlIGZpbGVzIGFyZW4ndCB1c2VkIGFueSBtb3JlIGVpdGhlci4KCjIwMDYtMDItMjUgMjA6Mzc6MjkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggZGlzdC1jaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IEZpeCBkaXN0LWNoZWNrLgoKMjAwNi0wMi0yNSAxOTozNjoyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IEZpeCBhbm90aGVyIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX3B1c2hfY2xpcCk6IEZpeCBhbm90aGVyCgkgIG1lbWxlYWsuCgoyMDA2LTAyLTI1IDE5OjA3OjQxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBhIG1lbWxlYWsgaW4gZ3N0X2NtbWxfdHJhY2tfbGlzdF9hZGRfY2xpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgRml4IGEgbWVtbGVhayBpbiBnc3RfY21tbF90cmFja19saXN0X2FkZF9jbGlwLgoJICBIYW5kbGUgb3ZlcmZsb3dzIGluIGNsaXAncyBzdGFydCBhbmQgZW5kIHRpbWVzLgoJICBBZGQgdGhlICJlbmNvZGVkIiBwYXJhbWV0ZXIgdG8gY21tbGRlYyBhbmQgY21tbGVuYyBjYXBzLgoJICBEbyBub3QgcGFyc2UganVuayBhdCB0aGUgZW5kIG9mIGEgQ01NTCBwcmVhbWJsZSBidWZmZXIuCgkgIFJlZ2lzdGVyIGEgbGlieG1sIGVycm9yIGhhbmRsZXIgdG8gbm90IHByaW50IHN0dWZmIG9uIHN0ZGVyci4KCSAgQ2hlY2sgZm9yIGJhZCBjbGlwIHN0YXJ0IGFuZCBlbmQgdGltZXMgaW4gdGhlIHRlc3RzdWl0ZXMuCgoyMDA2LTAyLTI1IDExOjM3OjEwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9hbm5vZGV4LzogRml4IHBvc3NpYmxlIG1lbWxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogKGdzdF9jbW1sX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9jbW1sX2RlY19maW5hbGl6ZSksIChnc3RfY21tbF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfY21tbF9lbmNfZmluYWxpemUpLCAoZ3N0X2NtbWxfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF90cmFja19saXN0X2Rlc3Ryb3kpOiBGaXgKCSAgcG9zc2libGUgbWVtbGVha3MuCgoyMDA2LTAyLTI0IDIzOjUyOjI4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogRml4IHRlc3RzIHNvIHRoYXQgdGhleSB1c2UgdGhlIHBsdWdpbnMtYmFzZSB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IEZpeCB0ZXN0cyBzbyB0aGF0IHRoZXkgdXNlCgkgIHRoZSBwbHVnaW5zLWJhc2UgdGFncy4KCjIwMDYtMDItMjQgMjM6MzY6NTggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBSZS1lbmFibGUgbW9kdWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogUmUtZW5hYmxlIG1vZHVsZS4KCjIwMDYtMDItMjQgMjM6MzI6MTQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEZvcmdvdCB0byByZW1vdmUgdGhhdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gcmVtb3ZlIHRoYXQgdGVzdC4KCjIwMDYtMDItMjQgMjM6MzE6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgVHJ5IHRvIGZpeCBBbm5vZGV4IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2tlbGRlYy5jOiBUcnkgdG8gZml4IEFubm9kZXggcGx1Z2luLgoKMjAwNi0wMi0yNCAyMzowNjoyNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aG9zZSBjaGVja3MgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aG9zZSBjaGVja3MgYXMgd2VsbC4KCjIwMDYtMDItMjQgMjI6NDk6MjkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBEaXNhYmxlIGFubm9kZXggZm9yIG5vdyB1bnRpbCB3ZSBmaWd1cmUgb3V0IGhvdyB0byBtYWtlIGl0IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogRGlzYWJsZSBhbm5vZGV4IGZvciBub3cgdW50aWwgd2UgZmlndXJlIG91dAoJICBob3cgdG8gbWFrZSBpdCBidWlsZC4KCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbTogTm90ZSBmb3IgVGhvbWFzIDoKCSAgQWRkIGEgcnVsZSB0byB5b3VyIGNoZWNrbGlzdCA6ICJwbGVhc2UgdHJ5IHRvIGF0IGxlYXN0IGJ1aWxkCgkgIHdoYXQgeW91IGFyZSBnb2luZyB0byBjb21taXQgaW50byAtZ29vZCwgb3IgaWYgeW91IGFyZSB0b28gbGF6eQoJICB0byBkbyB0aGF0LCBwbGVhc2UgY2hlY2sgdGhhdCB0aGUgYnVpbGRib3RzIGFyZSBub3QgY3J5aW5nIGJlY2F1c2UKCSAgb2YgeW91ciBjb21taXQuIgoKMjAwNi0wMi0yNCAxOTo1MToyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR2RrcGl4YnVmIHBvcnRlZCBmcm9tIDAuOCB0byAwLjEwIGJ5IFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPi4gZ3N0X2xvYWRlciBhbmQgZ2RrcGl4YnVmYW5pbWF0aW9uIHN0aWxsIG5lZWQgcG9ydC4KCjIwMDYtMDItMjQgMTk6NDk6MzIgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIHBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCjIwMDYtMDItMjQgMTk6MDc6MTAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBBbm5vZGV4IGVsZW1lbnRzIGZyb20gQWxlc3NlbmRybyBEZWNpbmE6IHNrZWxldG9uIGFuZCBDTU1MLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4Lmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9za2VsZGVjLmM6CgkgIEFkZCBBbm5vZGV4IGVsZW1lbnRzIGZyb20gQWxlc3NlbmRybyBEZWNpbmE6IHNrZWxldG9uIGFuZCBDTU1MLgoJICBJbmNsdWRlcyB0ZXN0cyAmIGRvY3MsIG9oIG15ISBQYXNzZXMgVGhvbWFzJ3MgLWdvb2QgY2hlY2tsaXN0CgkgIGVudGlyZWx5LiBXb3cuCgoyMDA2LTAyLTI0IDE3OjA5OjU2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBDaGVjayBmb3IgYXV0b21ha2UgMS45IGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIENoZWNrIGZvciBhdXRvbWFrZSAxLjkgYXMgd2VsbC4KCjIwMDYtMDItMjQgMTQ6NDk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IENoYW5nZSBtaW4uIHNhbXBsZSByYXRlIHRvIDhrSHogdG8gbWF0Y2ggZmxhY2RlYydzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIENoYW5nZSBtaW4uIHNhbXBsZSByYXRlIHRvIDhrSHogdG8gbWF0Y2ggZmxhY2RlYydzLgoKMjAwNi0wMi0yMyAyMDowODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvL01ha2VmaWxlLmFtOiBBZGQgR1NUX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQkFTRV9MSUJTIChzZWVtcyB0byBiZSByZXF1aXJlZCBmb3IgQ3lnd2luLCBzZWUgIzMxNzA0OCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfQkFTRV9DRkxBR1MgYW5kIEdTVF9CQVNFX0xJQlMgKHNlZW1zIHRvIGJlCgkgIHJlcXVpcmVkIGZvciBDeWd3aW4sIHNlZSAjMzE3MDQ4KQoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgIEN5Z3dpbiBoYXMgaW5jbHVkZXMgZm9yIGJvdGggdGhlIHVuaXggbmV0d29yayBzb2NrZXQgQVBJCgkgIGFuZCB0aGUgd2luZG93cyBBUEksIGJ1dCBvbmx5IG9uZSBjYW4gYmUgaW5jbHVkZWQsIHNvIGZpeAoJICBpbmNsdWRlcyB0byBvbmx5IHVzZSBvbmUgb3IgdGhlIG90aGVyLCBwcmVmZXJpbmcgdGhlIHVueGkKCSAgb25lICgjMzE3MDQ4KS4KCjIwMDYtMDItMjMgMTI6MjE6MjUgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBydHAvZ3N0LzogU2VwYXJhdGVkIHRoZSBHNzExIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzIGludG8gc2VwYXJhdGUgZWxlbWVudHMgZm9yIG11bGF3L2FsYXcuIEFsc28gcmVtb3ZlZCB0aGUgb2xkIGc3MTEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjMgIFBoaWxpcHBlIEthbGFmICA8cGhpbGlwcGUua2FsYWYgYXQgY29sbGFib3JhLmNvLnVrPgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogcnRwL2dzdC9nc3RydHBwY21hZGVwYXkuaDoKCSAgKiBydHAvZ3N0L2dzdGdzdHJ0cHBjbWFwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdGdzdHJ0cHBjbWFwYXkuaDoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkgICogcnRwL2dzdC9nc3RydHBwY211cGF5LmM6CgkgICogcnRwL2dzdC9nc3RydHBwY211cGF5Lmg6CgkgICogcnRwL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBydHAvZ3N0L2dzdHJ0cC5jOgoJICAqIHJ0cC9nc3QvUkVBRE1FOgoJICBTZXBhcmF0ZWQgdGhlIEc3MTEgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMgaW50byBzZXBhcmF0ZSBlbGVtZW50cyBmb3IKCSAgbXVsYXcvYWxhdy4gQWxzbyByZW1vdmVkIHRoZSBvbGQgZzcxMSBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycy4KCjIwMDYtMDItMjIgMjA6MjI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvOiBVZWJlciBzcGlmZmlmeSBzb21lIG1vcmUsIGFkZGVkIGRlYnVnIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19iYXNlX2luaXQpLCAoZ3N0X2R2ZGVjX2luaXQpLAoJICAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2Jhc2VfaW5pdCksIChnc3RfZHZkZW11eF9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9kdmRlbXV4X3NpbmtfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLCAoZ3N0X2R2ZGVtdXhfc2lua19xdWVyeSksCgkgIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSksCgkgIChnc3RfZHZkZW11eF9mbHVzaCksIChnc3RfZHZkZW11eF9jaGFpbiksCgkgIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIFVlYmVyIHNwaWZmaWZ5IHNvbWUgbW9yZSwgYWRkZWQgZGVidWcgY2F0ZWdvcnkuCgkgIFVzZSBfc2NhbGUuCgkgIFVzZSBzZWdtZW50cywgcmVzcGVjdCBwbGF5YmFjayByYXRlIGZyb20gbmV3c2VnbWVudC4KCSAgRml4IHJlZmNvdW50IGlzc3VlLgoKMjAwNi0wMi0yMiAwOTozMzoyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieSA6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgQWRkIGltYWdlL3BuZyBmb3IgZm91cmNjICdwbmcgJwoKMjAwNi0wMi0yMCAyMToxOTo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JldHVybl9idWYpLAoJICAoZ3N0X3hpbWFnZXNyY19vcGVuX2Rpc3BsYXkpLCAoZ3N0X3hpbWFnZXNyY19zdGFydCksCgkgIChnc3RfeGltYWdlc3JjX3N0b3ApLCAoZ3N0X3hpbWFnZXNyY191bmxvY2spLAoJICAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLCAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksCgkgIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfeGltYWdlc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2NsZWFyX2J1ZnBvb2wpLCAoZ3N0X3hpbWFnZXNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19kaXNwb3NlKSwgKGdzdF94aW1hZ2VzcmNfZmluYWxpemUpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX3NldF9jYXBzKSwKCSAgKGdzdF94aW1hZ2VzcmNfZml4YXRlKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX2hhbmRsZV94ZXJyb3IpLAoJICAoeGltYWdldXRpbF9jaGVja194c2htX2NhbGxzKSwgKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KSwKCSAgKHhpbWFnZXV0aWxfeGNvbnRleHRfY2xlYXIpLAoJICAoeGltYWdldXRpbF9jYWxjdWxhdGVfcGl4ZWxfYXNwZWN0X3JhdGlvKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF94aW1hZ2VfYnVmZmVyX2ZyZWUpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfaW5pdCksIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2dldF90eXBlKSwgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9uZXcpLAoJICAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX2Rlc3Ryb3kpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCj09PSByZWxlYXNlIDAuMTAuMSA9PT0KCjIwMDYtMDItMjAgMTk6MTI6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgoyMDA2LTAyLTIwIDEzOjA4OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QKCSAgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLCBidXQgaXQgaGVscHMgbWUgd2luIHRoZSBmZWF0dXJlLWNvdW50CgkgIGNvbXBldGl0aW9ucyBvb2ggeWVhaC4KCjIwMDYtMDItMTkgMTY6MDI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFVzZSBzY2FsaW5nIGNvZGUgZm9yIGFkZGVkIHByZWNpc3Npb24gYW5kIG1vcmUgY29ycmVjdCBzdG9wIHBvc2l0aW9uIGluIGNhc2Ugc2NhbGU9PTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9hdmloKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIFVzZSBzY2FsaW5nIGNvZGUgZm9yIGFkZGVkIHByZWNpc3Npb24gYW5kIG1vcmUgY29ycmVjdCBzdG9wCgkgIHBvc2l0aW9uIGluIGNhc2Ugc2NhbGU9PTAuCgoyMDA2LTAyLTE5IDEyOjA5OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZseC9nc3RmbHhkZWMuKjogSW1wbGVtZW50IERVUkFUSU9OIHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfcXVlcnlfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBJbXBsZW1lbnQgRFVSQVRJT04gcXVlcnkuCgoyMDA2LTAyLTE5IDExOjU3OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZseC86IFNldCBNQUxMT0NEQVRBIGZvciB0aGUgdGVtcCBidWZmZXJzIHNvIHdlIGRvbid0IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZmx4X2NvbG9yLmg6CgkgICogZ3N0L2ZseC9mbHhfZm10Lmg6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfaW5pdCksCgkgIChnc3RfZmx4ZGVjX3NyY19xdWVyeV9oYW5kbGVyKSwgKGZseF9kZWNvZGVfY29sb3IpLAoJICAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgU2V0IE1BTExPQ0RBVEEgZm9yIHRoZSB0ZW1wIGJ1ZmZlcnMgc28gd2UgZG9uJ3QgbGVhay4KCSAgU29tZSBkZWJ1ZyBjbGVhbnVwcy4KCSAgQ29uc3VtZSBhbGwgZGF0YSBpbiB0aGUgYWRhcHRlciBiZWZvcmUgbGVhdmluZyB0aGUgY2hhaW4KCSAgZnVuY3Rpb24uIEZpeGVzICMzMzA2NzguCgoyMDA2LTAyLTE4IDIwOjQ4OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC86IEhhbmRsZSAwIGRhdGEgc2l6ZSBpbiBvdGhlcndpc2UgdmFsaWQgZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KToKCSAgSGFuZGxlIDAgZGF0YSBzaXplIGluIG90aGVyd2lzZSB2YWxpZCBmcmFtZXMuCgkgIEhhbmRsZSBudW1lcmljIHN0cmluZ3MgaW4gMi40LjAgZXZlbiB3aGVuIG5vdCBpbiBwYXJlbnRoZXNlcwoKMjAwNi0wMi0xOCAxNzoyMDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFJlY29nbmlzZSBTU0EvQVNTIGFuZCBVU0Ygc3VidGl0bGUgZm9ybWF0cyBhbmQgc2V0IHByb3BlciBjYXBzIHdoZW4gdGhleSBhcmUgZm91bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFJlY29nbmlzZSBTU0EvQVNTIGFuZCBVU0Ygc3VidGl0bGUgZm9ybWF0cyBhbmQKCSAgc2V0IHByb3BlciBjYXBzIHdoZW4gdGhleSBhcmUgZm91bmQuCgoyMDA2LTAyLTE3IDE4OjI1OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleCBlbnRyaWVzICgjMzMxNTgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4CgkgIGVudHJpZXMgKCMzMzE1ODIpLgoKMjAwNi0wMi0xNyAxNzo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBmb3Igc29tZSBvZGQtc2l6ZWQgaW1hZ2VzIChzZWUgaW1hZ2UgY29udGFpbmVkIGluIHF1aWNrdGltZSBzdHJlYW0gaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfZGVjb2RlX2RpcmVjdCksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGZvciBzb21lIG9kZC1zaXplZCBpbWFnZXMKCSAgKHNlZSBpbWFnZSBjb250YWluZWQgaW4gcXVpY2t0aW1lIHN0cmVhbSBpbiAjMzI3MDgzKTsKCSAgdXNlIGdfbWFsbG9jKCkgaW5zdGVhZCBvZiBnX2FsbG9jYSgpLgoKMjAwNi0wMi0xNyAxNjoyODoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplCgkgIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHRoYXQuCgkgIEZpeGVzICMzMzE1NDMuCgoyMDA2LTAyLTE3IDE1OjM3OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlLCBmaXhlcyAjMzE5ODg0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NoYWluKToKCSAgUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSwgZml4ZXMgIzMxOTg4NAoKMjAwNi0wMi0xNyAxMToxOTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvL2dzdGNkaW8uYzogSW5pdCBkZWJ1ZyBjYXRlZ29yeSAoIzMzMTI1MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgSW5pdCBkZWJ1ZyBjYXRlZ29yeSAoIzMzMTI1MykuCgoyMDA2LTAyLTE3IDEwOjUzOjM4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvZ2NvbmYvZ2NvbmYuYzoKCSogZXh0L2djb25mL2djb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSogZ2NvbmYvZ3N0cmVhbWVyLnNjaGVtYXMuaW46CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIEp1cmcncyBwYXRjaCBmb3IgbXVsdGlkZXZpY2Ugc3VwcG9ydAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIEp1cmcncyBwYXRjaCBmb3IgbXVsdGlkZXZpY2Ugc3VwcG9ydAoKMjAwNi0wMi0xNiAyMDozMDoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBQYXNzIGV4dHJhX2RhdGEgdG8gZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX2NhcHMoKSwgc28gdGhhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFBhc3MgZXh0cmFfZGF0YSB0byBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fY2FwcygpLCBzbyB0aGF0CgkgIFdBVkVGT1JNQVRFWCBzdHVmZiB3b3Jrcy4gUG9zdCBhdWRpbyBjb2RlYyBuYW1lIGFuZCBwb3N0CgkgIGl0IGFzIHRhZ2xpc3Qgb24gdGhlIGJ1cy4gQWxsb3cgdXAgdG8gOCBjaGFubmVzbCBmb3IgcmF3CgkgIFBDTSBpbiB0aGUgc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLgoKMjAwNi0wMi0xNiAxNjo1Mzo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQXBwbGllZCAjMzE4NjYzLiBHaXZlcyBxdWl0ZSBhIGZldyBmYWxzZSBwb3NpdGl2ZXMgaW4gYXV0b3NjYW4gbW9kZSwgYnV0IGl0J3MgYmV0dGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfZmluYWxpemUpLCAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X211bHRpcGFydF9zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpcGFydF9nZXRfcHJvcGVydHkpOgoJICBBcHBsaWVkICMzMTg2NjMuIEdpdmVzIHF1aXRlIGEgZmV3IGZhbHNlIHBvc2l0aXZlcyBpbgoJICBhdXRvc2NhbiBtb2RlLCBidXQgaXQncyBiZXR0ZXIgdGhhbiBub3RoaW5nLiBOb3QgY2xvc2luZyB5ZXQuCgoyMDA2LTAyLTE2IDE0OjEzOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBGaXggYXJncy4KCjIwMDYtMDItMTYgMTQ6MDI6NTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgIERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgoyMDA2LTAyLTE2IDEwOjU4OjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IElEMyAyLjMuMCB1c2VkIHN5bmNoLXNhZmUgaW50ZWdlcnMgZm9yIHRoZSB0YWcgc2l6ZSwgYnV0IG5vdCBmb3IgdGhlIGZyYW1lIHNpemUuIChGaXhlcyAjMzMxMzY4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgSUQzIDIuMy4wIHVzZWQgc3luY2gtc2FmZSBpbnRlZ2VycyBmb3IgdGhlIHRhZyBzaXplLCBidXQgbm90IGZvciB0aGUKCSAgZnJhbWUgc2l6ZS4gKEZpeGVzICMzMzEzNjgpCgoyMDA2LTAyLTE2IDEwOjQyOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvUkVBRE1FOiBVcGRhdGVkIFJFQURNRS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvUkVBRE1FOgoJICBVcGRhdGVkIFJFQURNRS4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBNYWtlIHN1cmUgdGhlIFJUUCBwb3J0IGlzIGFuIGV2ZW4gcG9ydCBhbiB0cnkgdG8gYWxsb2NhdGUKCSAgYW5vdGhlciBpZiBub3QuCgkgIEFkZGVkIHJldHJ5IHByb3BlcnR5IHRvIGNvbnRyb2wgbWF4IHJldHJpZXMgZm9yIHBvcnQgYWxsb2NhdGlvbi4KCSAgTWFrZSBzdXJlIFJUQ1AgcG9ydCBpcyBSVFAgcG9ydCsxLgoJICBDbGVhbnVwIHdoZW4gcG9ydCBhbGxvY2F0aW9uIGZhaWxzLgoJICBGaXhlcyAjMzE5MTgzLgoKMjAwNi0wMi0xNiAwOToxNzo1OCArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGthbmdhcm9vdC5uZXQ+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogRG9uJ3QgaWdub3JlIHJldHVybiB2YWx1ZSBvZiB0aGUgcGFyZW50IGNsYXNzJ3Mgc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgaWdub3JlIHJldHVybiB2YWx1ZSBvZiB0aGUgcGFyZW50IGNsYXNzJ3Mgc3RhdGUKCSAgY2hhbmdlIGZ1bmN0aW9uICgjMzMxMzg1LCBwYXRjaCBieTogV291dGVyIFBhZXNlbikuCgoyMDA2LTAyLTE1IDEyOjE3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIEhBTCBzb3VuZCBkZXZpY2Ugd3JhcHBlciBwbHVnaW5zLiBDbG9zZXMgIzMyOTEwNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChnc3RfaGFsX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfaGFsX2F1ZGlvX3NyY19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoZ3N0X2hhbF9hdWRpb19zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oYWxfYXVkaW9fc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfaGFsX2F1ZGlvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5oOgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9zdHJpbmcpLAoJICAoZ3N0X2hhbF9yZW5kZXJfYmluX2Zyb21fdWRpKSwgKGdzdF9oYWxfZ2V0X2F1ZGlvX3NpbmspLAoJICAoZ3N0X2hhbF9nZXRfYXVkaW9fc3JjKToKCSAgKiBleHQvaGFsL2hhbC5oOgoJICBBZGQgSEFMIHNvdW5kIGRldmljZSB3cmFwcGVyIHBsdWdpbnMuIENsb3NlcyAjMzI5MTA2CgoyMDA2LTAyLTE1IDEyOjEzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgoyMDA2LTAyLTE1IDEwOjE1OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBBZGQgY29tbWVudCBpbiBhIGZ1bHRpbGUgYXR0ZW1wdCB0byBzdG9wIHRoZSBjb3B5LWFuZC1wYXN0ZSBwYXJhZGlnbSBsZWFkaW5nIHRvIGR1cGxpY2F0aW9uIG9mLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIEFkZCBjb21tZW50IGluIGEgZnVsdGlsZSBhdHRlbXB0IHRvIHN0b3AgdGhlIGNvcHktYW5kLXBhc3RlCgkgIHBhcmFkaWdtIGxlYWRpbmcgdG8gZHVwbGljYXRpb24gb2YgYmFkIGNvZGUuCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfcGFyc2UpOgoJICBNaW1lIHBhcmFtZXRlcnMgaGF2ZSB0byBiZSBjaGVja2VkIGNhc2UgaW5zZW5zaXRpdmUKCjIwMDYtMDItMTUgMDk6NDU6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcG9zdF9idWZmZXJpbmcpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzCgkgIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzIG9uIHRoZSBidXMuCgoyMDA2LTAyLTE0IDIzOjIzOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEFkdmFuY2Ugc3RyZWFtIHRpbWUgZm9yIGxhZ2dpbmcgc3VidGl0bGUgc3RyZWFtcyBieSBzZW5kaW5nIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyk6CgkgIEFkdmFuY2Ugc3RyZWFtIHRpbWUgZm9yIGxhZ2dpbmcgc3VidGl0bGUgc3RyZWFtcyBieSBzZW5kaW5nCgkgIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggdGhlIHVwZGF0ZSBmbGFnIHNldC4KCjIwMDYtMDItMTQgMTg6NTA6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgRG9uJ3QgYW5zd2VyIGR1cmF0aW9uIHF1ZXJ5LiBUaGlzIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCBpbnRvIHJlcGx5aW5nCgkgIEZBTFNFIHRvIHNlZWsgZXZlbnRzLgoKMjAwNi0wMi0xNCAxNjo1ODozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVGhlcmUgY2FuIGJlIGJvZ3VzIGRhdGEgYmVmb3JlIHRoZSBoZHJsIExJU1QgdGFnIGluIHRoZSBSSUZGIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKToKCSAgVGhlcmUgY2FuIGJlIGJvZ3VzIGRhdGEgYmVmb3JlIHRoZSBoZHJsIExJU1QgdGFnIGluIHRoZSBSSUZGIGhlYWRlci4KCSAgSXQncyBoYXJkIHRvIHNheSBpZiBpdCdzIG5vdCByZXNwZWN0aW5nIHRoZSBBVkkgc3BlY2lmaWNhdGlvbnMgb3Igbm90LAoJICBidXQgc2luY2UgR29vZ2xlIFZpZGVvIGlzIHByb2R1Y2luZyBBVklzIGxpa2UgdGhhdCBhbmQgdGhlIG90aGVyIHBsYXllcgoJICBkb24ndCBzZWVtIHRvIGNvbXBsYWluLCBJIGd1ZXNzIHdlIHNob3VsZCBkbyB0aGUgc2FtZS4KCjIwMDYtMDItMTQgMTE6MjQ6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIEVycm9ycyBvdXQgZ3JhY2VmdWxseS4KCjIwMDYtMDItMTMgMjI6MDQ6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGUpLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIEl0IHN0aWxsIG5lZWRzIHNvbWUgbG92ZSBmb3Igc2Vla2luZy4KCjIwMDYtMDItMTMgMTI6MDA6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEFkZCBtb3JlIHZhbGlkYXRpb24gdG8gZW5zdXJlIHRoYXQgYSBjaGFyIGVuY29kaW5nIGNvbnZlcnNpb24gcHJvZHVjZWQgYSB2YWxpZCBVVEYtOCBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgQWRkIG1vcmUgdmFsaWRhdGlvbiB0byBlbnN1cmUgdGhhdCBhIGNoYXIgZW5jb2RpbmcgY29udmVyc2lvbgoJICBwcm9kdWNlZCBhIHZhbGlkIFVURi04IHN0cmluZy4KCjIwMDYtMDItMTMgMTA6NDM6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFByb3Blcmx5IGhhbmRsZSBlbmQgb2Ygc2VnbWVudC4gQ2xvc2VzICMzMzA4ODUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIFByb3Blcmx5IGhhbmRsZSBlbmQgb2Ygc2VnbWVudC4gQ2xvc2VzICMzMzA4ODUuCgoyMDA2LTAyLTEzIDEwOjM2OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6IEZvciBnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgRm9yIGdvdCB0byBjb21taXQgdGhpcyBvbmUuCgoyMDA2LTAyLTEyIDE4OjU5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRncGF5Lio6IE1ha2UgbW9yZSB0aGluZ3Mgd29yay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9pbml0KSwgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfYXVkaW9fY29uZmlnKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfdmlkZW9fY29uZmlnKSwgKGdzdF9ydHBfbXA0Z19wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBNYWtlIG1vcmUgdGhpbmdzIHdvcmsuCgkgIEhhbmRsZSBBQ0MgY29uZmlnIHN0cmluZ3MuCgoyMDA2LTAyLTEyIDEzOjEwOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IHNldCB0aW1lc3RhbXBzIGlmIG5vIGluY29taW5nIHRpbWVzdGFtcHMgc2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIHNldCB0aW1lc3RhbXBzIGlmIG5vIGluY29taW5nIHRpbWVzdGFtcHMgc2V0CgoyMDA2LTAyLTExIDEzOjU0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAuLi4gYW5kIGZpeCB0aGUgdmVyeSBzYW1lIGxlYWtzIGluIEdzdFRhZ0RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2dldF91cHN0cmVhbV9zaXplKSwKCSAgKGdzdF90YWdfZGVtdXhfZG9fdHlwZWZpbmQpOgoJICAuLi4gYW5kIGZpeCB0aGUgdmVyeSBzYW1lIGxlYWtzIGluIEdzdFRhZ0RlbXV4LgoKMjAwNi0wMi0xMSAxMzozNToxMyArMDAwMCAgSm9uIFRyb3dicmlkZ2UgPHRyb3dAeGltaWFuLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGlkM2RlbXV4X2dldF91cHN0cmVhbV9zaXplKSwKCSAgKGdzdF9pZDNkZW11eF9kb190eXBlZmluZCk6CgkgIEZpeCBhIGNvdXBsZSBvZiBtZW0gbGVha3MuIChQYXRjaCBieSBKb25hdGhhbiBNYXR0aGV3CgkgIDxqb25hdGhhbiBhdCBrYW9saW4gZG90IHdoOSBkb3QgbmV0PikKCjIwMDYtMDItMTAgMTc6Mzc6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRmlyc3Qgc2V0IG9wdGlvbnMsIHRoZW4gc2V0IGNhcHMgb3IgZWxzZSB0aGUgYmFzZWNsYXNzIHdpbGwgbm90IGtub3cgYWJvdXQgdGhlIG9wdGlvbnMsIGR1aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBGaXJzdCBzZXQgb3B0aW9ucywgdGhlbiBzZXQgY2FwcyBvciBlbHNlIHRoZSBiYXNlY2xhc3MKCSAgd2lsbCBub3Qga25vdyBhYm91dCB0aGUgb3B0aW9ucywgZHVoLgoKMjAwNi0wMi0xMCAxNzoxNjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBEb24ndCB3YXN0ZSB0aW1lIGxvb2tpbmcgZm9yIGEgY29uZmlnIHN0cmluZyBpZiB3ZSBoYXZlIGNvZGVjX2luZm8gb24gdGhlIGluY29tbWluZyBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBEb24ndCB3YXN0ZSB0aW1lIGxvb2tpbmcgZm9yIGEgY29uZmlnIHN0cmluZyBpZiB3ZSBoYXZlIGNvZGVjX2luZm8KCSAgb24gdGhlIGluY29tbWluZyBjYXBzLgoKMjAwNi0wMi0xMCAxNjo0MDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBTYXkgc29tZXRoaW5nIGFib3V0IGNhc2Utc2Vuc2l0aXZpdHkgb2YgY2FwcyB2cyBtaW1lLWF0dHJpYnV0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBTYXkgc29tZXRoaW5nIGFib3V0IGNhc2Utc2Vuc2l0aXZpdHkgb2YgY2FwcyB2cyBtaW1lLWF0dHJpYnV0ZXMuCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2dldF90eXBlKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKSwgKGdzdF9ydHBfbXA0Z19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX21wNGdfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX21wNGdfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgQWRkZWQgYmVnaW5uaW5ncyBvZiBtcGVnNC1nZW5lcmljIHBheWxvYWRlciAoUkZDIDM2NDApCgoyMDA2LTAyLTA5IDE0OjIwOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBSZXN1cmVjdGVkIHJ0cGRlYyB0byBtYWtlIHJ0c3BzcmMgaGFwcHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19nZXRfdHlwZSksCgkgIChnc3RfcnRwZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3J0cGRlY19pbml0KSwgKGdzdF9ydHBkZWNfZ2V0Y2FwcyksCgkgIChnc3RfcnRwZGVjX2NoYWluX3J0cCksIChnc3RfcnRwZGVjX2NoYWluX3J0Y3ApLAoJICAoZ3N0X3J0cGRlY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cGRlY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cGRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgUmVzdXJlY3RlZCBydHBkZWMgdG8gbWFrZSBydHNwc3JjIGhhcHB5IGFnYWluLgoJICBTa2lwIGF0dHJpYnV0ZXMgZnJvbSB0aGUgc2Vzc2lvbiBpZC4KCSAgRG9uJ3QgY3Jhc2ggd2hlbiBkdW1waW5nIGEgbWVzc2FnZSB3aXRoIGFuIGVtcHR5IGJvZHkuCgoyMDA2LTAyLTA5IDE0OjE0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBBZGRlZCBtb3JlIG1lYW5pbmdmdWxsIHdhcm5pbmdzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NoYWluKToKCSAgQWRkZWQgbW9yZSBtZWFuaW5nZnVsbCB3YXJuaW5ncyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBDbGVhciBGIGJpdCBvbiBvdXRnb2luZyBBTVIgcGFja2V0cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBBZGRlZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkKCSAgU3VwcG9ydCBwYXlsb2FkaW5nIG9mIG11bHRpcGxlIEFNUiBmcmFtZXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2RlcGF5X2RhdGEpOgoJICBBZGRlZCBzb21lIGRlYnVnZ2luZy4KCjIwMDYtMDItMDkgMTE6MjU6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgo9PT0gcmVsZWFzZSAwLjEwLjIgPT09CgoyMDA2LTAyLTA5IDExOjIyOjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIFJlbGVhc2luZyAwLjEwLjIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2luZyAwLjEwLjIKCjIwMDYtMDItMDggMTc6MzU6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTAyLTA4IDE3OjE4OjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgT29wcywganVtcGluZyB0aGUgZ3VuIHdpdGggdGhlIENoYW5nZUxvZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgT29wcywganVtcGluZyB0aGUgZ3VuIHdpdGggdGhlIENoYW5nZUxvZyBlbnRyeQoKMjAwNi0wMi0wOCAxNzoxNjo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZSBhbmQgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMi4yIGZvciBBUEkgYWRkaXRpb25zIChhbmQgMSBtaWdyYXRpb24gb2YgZ3N0X2Jpbl9maW5kX3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUgYW5kIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjIuMgoJICBmb3IgQVBJIGFkZGl0aW9ucyAoYW5kIDEgbWlncmF0aW9uIG9mIGdzdF9iaW5fZmluZF91bmNvbm5lY3RlZF9wYWQpCgoyMDA2LTAyLTA4IDE3OjEyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogUmVnaXN0ZXIgbXVzaWNicmFpbnogdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAocGx1Z2luX2luaXQpOgoJICBSZWdpc3RlciBtdXNpY2JyYWlueiB0YWdzLgoKMjAwNi0wMi0wNyAxODozMTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgdW51c2VkIHZhcgoKMjAwNi0wMi0wNyAxODowMToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUKCSAgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYnVnLCBhbmQgbWFrZXMKCSAgdGhlIGR1bXAgb2Ygb2Zmc2V0cyBjb21wYXJhYmxlIHRvIG90aGVyIHRvb2xzCgoyMDA2LTAyLTA3IDE3OjU0OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nCgkgIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoKMjAwNi0wMi0wNyAxNjoyMzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi9nY29uZi5oOiBSZW1vdmUgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gdGhhdCBubyBsb25nZXIgZXhpc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KCjIwMDYtMDItMDcgMTM6Mzk6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiBNYWtlIHNob3V0MiB3b3JrIGZvciBub24gb2dnIHN0cmVhbXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfcmVuZGVyKSwKCSAgKGdzdF9zaG91dDJzZW5kX3NldGNhcHMpLCAoZ3N0X3Nob3V0MnNlbmRfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBzaG91dDIgd29yayBmb3Igbm9uIG9nZyBzdHJlYW1zCgoyMDA2LTAyLTA2IDE3OjI2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogVXBkYXRlZCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXIpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfc3RhdHMpLCAoZ3N0X211bHRpdWRwc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIFVwZGF0ZWQgZG9jcy4KCSAgQWRkZWQgcHJvcGVydGllcyBieXRlcy1zZXJ2ZWQsIGJ5dGVzX3RvX3NlcnZlLgoJICBQb3N0IHByb3BlciBlcnJvciBtZXNzYWdlcywKCSAgRW1pdCBjbGllbnQgYWRkZWQgc2lnbmFsIHRvby4KCjIwMDYtMDItMDYgMTU6NDE6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgSGFuZGxlIHNlZWtpbmcgaW4gYSBsZXNzIGJyb2tlbiB3YXkuCgkgIEZpeCBBTVIgY2FwcyB0byBtYXRjaCB0aGUgQU1SIGRlY29kZXIuCgkgIFNldCBmaXJzdCB0aW1lc3RhbXAgb24gQU1SIHNhbXBsZXMgdG8gMCBmb3Igbm93LgoJICBSZW1vdmUgc29tZSBcbiBpbiBERUJVRyBzdHJpbmdzLgoJICBVc2UgX3NjYWxlX2ludCBmb3IgbWF4aW11bSBwcmVjaXNpb24uCgoyMDA2LTAyLTA2IDE1OjMxOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgYWRkaW5nIGRvY3MgZm9yIG11bHRpdWRwc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGRvY3MgZm9yIG11bHRpdWRwc2luawoKMjAwNi0wMi0wNiAxNToyODo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogcGVhayBiZWxvdyBkZWNheSBpcyBub3QgbmVjZXNzYXJpbHkgYW4gZXJyb3IsIHNvIGRvbid0IEVSUk9SIGxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICBwZWFrIGJlbG93IGRlY2F5IGlzIG5vdCBuZWNlc3NhcmlseSBhbiBlcnJvciwgc28gZG9uJ3QgRVJST1IgbG9nCgoyMDA2LTAyLTA2IDE1OjI3OjA2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBjdnMgdmVyc2lvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGN2cyB2ZXJzaW9ucwoKMjAwNi0wMi0wNiAxNDoyNTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLio6IE1ha2Ugc3VyZSB3ZSBzZW5kIGEgbmV3c2VnbWVudCBldmVudCBpbiBCWVRFUyBmb3JtYXQgYmVmb3JlIHNlbmRpbmcgYnVmZmVycyAoIzMyODUzMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9yZXNldCksCgkgIChnc3RfZWJtbF93cml0ZV9mbHVzaF9jYWNoZSksIChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3B1c2gpLAoJICAoZ3N0X2VibWxfd3JpdGVfc2Vlayk6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgTWFrZSBzdXJlIHdlIHNlbmQgYSBuZXdzZWdtZW50IGV2ZW50IGluIEJZVEVTIGZvcm1hdAoJICBiZWZvcmUgc2VuZGluZyBidWZmZXJzICgjMzI4NTMxKS4KCjIwMDYtMDItMDYgMTI6MTg6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQYXNzIHVuaGFuZGxlZCBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YganVzdCBkcm9wcGluZyB0aGVtICgjMzI2NDQ2KS4gVXBkYXRlIHF1ZXJ5IHR5cGUgYXJyYXlzIGhlcmUgYW5kIHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfcXVlcnkpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKHNwZWV4X2RlY19zcmNfcXVlcnkpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX3NyY19xdWVyeSksCgkgIChnc3Rfc3BlZXhlbmNfc2lua19xdWVyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSk6CgkgIFBhc3MgdW5oYW5kbGVkIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiBqdXN0IGRyb3BwaW5nCgkgIHRoZW0gKCMzMjY0NDYpLiBVcGRhdGUgcXVlcnkgdHlwZSBhcnJheXMgaGVyZSBhbmQgdGhlcmUuCgoyMDA2LTAyLTA2IDExOjU3OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogQ29sbGVjdHBhZHMgaW4gY29yZSBnb3QgY2hhbmdlZCBhbmQgbm93IGFsc28gaG9sZHMgYSByZWZlcmVuY2UgdG8gYW55IHBhZCB0aGF0IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKToKCSAgQ29sbGVjdHBhZHMgaW4gY29yZSBnb3QgY2hhbmdlZCBhbmQgbm93IGFsc28gaG9sZHMgYQoJICByZWZlcmVuY2UgdG8gYW55IHBhZCB0aGF0IGlzIHBhcnQgb2YgaXQuIEZpeCByZWZjb3VudAoJICBjaGVja3MgaW4gdGVzdCBjYXNlIGFjY29yZGluZ2x5LgoKMjAwNi0wMi0wNiAxMTo0MTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDogRml4IGluY2x1ZGUsIGZvciBub3cgR3N0VGFnRGVtdXggaXMgaW4gdGhlIGFwZXRhZyBkaXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDoKCSAgRml4IGluY2x1ZGUsIGZvciBub3cgR3N0VGFnRGVtdXggaXMgaW4gdGhlIGFwZXRhZyBkaXIuCgoyMDA2LTAyLTA2IDExOjM0OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGNkaW8gcGx1Z2luIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgIEFkZCBjZGlvIHBsdWdpbiB0byBkb2NzLgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgIEFkZCBndGstZG9jIGJsdXJiLgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgVGhlIHBsdWdpbiBpcyBjYWxsZWQgJ2NkaW8nIG5vdCAnY2RkaW8nLgoKMjAwNi0wMi0wNiAxMDo1NjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBBUEUgdGFnIGRlbXV4ZXIgKCMzMjU2NDkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5oOgoJICBBZGQgQVBFIHRhZyBkZW11eGVyICgjMzI1NjQ5KS4KCjIwMDYtMDItMDUgMjI6MjI6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mLzogSWdub3JlIGNoYW5naW5nIHRoZSBHQ29uZiBrZXkgdG8gIiIuIElnbm9yZSBHQ29uZiBrZXkgdXBkYXRlcyB0aGF0IGRvbid0IGFjdHVhbGx5IGNoYW5nZSB0aGUgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9nZXRfZGVmYXVsdF9hdWRpb19zaW5rKSwKCSAgKGdzdF9nY29uZl9nZXRfZGVmYXVsdF92aWRlb19zaW5rKSwKCSAgKGdzdF9nY29uZl9nZXRfZGVmYXVsdF9hdWRpb19zcmMpLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X3ZpZGVvX3NyYyk6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc2lua19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zaW5rX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIElnbm9yZSBjaGFuZ2luZyB0aGUgR0NvbmYga2V5IHRvICIiLiBJZ25vcmUgR0NvbmYga2V5IHVwZGF0ZXMKCSAgdGhhdCBkb24ndCBhY3R1YWxseSBjaGFuZ2UgdGhlIHN0cmluZy4KCSAgRm9yIG5vdywgaWdub3JlIHRoZSBHQ29uZiBrZXkgd2hlbiB0aGUgc3RhdGUgaXMgPiBSRUFEWSwgYXMKCSAgaXQgYnJlYWtzIHN0cmVhbWluZy4gU29tZXRpbWUgaXQgd2lsbCBiZSBuaWNlIHRvIGJyaW5nIHRoZQoJICBuZXcgc2luayBvbmxpbmUgZXZlbiBtaWQtc3RyZWFtLCBieSBzZW5kaW5nIE5FV1NFR01FTlQgaW5mbwoJICBhbmQgcG9zc2libHkgcHJlcm9sbGluZy4KCSAgKEZpeGVzICMzMjY3MzYpCgoyMDA2LTAyLTA1IDIwOjQzOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tLzogTWFrZSBnb29tIHJlZW50cmFudCBieSBtb3ZpbmcgYWxsIGltcG9ydGFudCBzdGF0aWMgdmFyaWFibGVzIGludG8gaW5zdGFuY2Ugc3RydWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlck5ldyksIChjYWxjdWxhdGVQWGFuZFBZKSwKCSAgKHNldFBpeGVsUkdCKSwgKHNldFBpeGVsUkdCXyksIChnZXRQaXhlbFJHQiksIChnZXRQaXhlbFJHQl8pLAoJICAoem9vbUZpbHRlclNldFJlc29sdXRpb24pLCAoem9vbUZpbHRlckRlc3Ryb3kpLAoJICAoem9vbUZpbHRlckZhc3RSR0IpLCAocG9pbnRGaWx0ZXIpOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGdvb21faW5pdCksIChnb29tX3NldF9yZXNvbHV0aW9uKSwKCSAgKGdvb21fdXBkYXRlKSwgKGdvb21fY2xvc2UpOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5oOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSAgKiBnc3QvZ29vbS9ncmFwaGljLmM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwKCSAgKGdzdF9nb29tX2Rpc3Bvc2UpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLCAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgKiBnc3QvZ29vbS9saW5lcy5jOiAoZ29vbV9saW5lcyk6CgkgICogZ3N0L2dvb20vbGluZXMuaDoKCSAgTWFrZSBnb29tIHJlZW50cmFudCBieSBtb3ZpbmcgYWxsIGltcG9ydGFudCBzdGF0aWMgdmFyaWFibGVzCgkgIGludG8gaW5zdGFuY2Ugc3RydWN0dXJlcy4KCSAgKEZpeGVzICMzMjkxODEpCgoyMDA2LTAyLTA0IDE1OjQxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBUaGlyZCBhdHRlbXB0LCB1c2UgZ3N0X3BhZF9pc19saW5rZWQoKSB0aGlzIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfYWxsX3NvdXJjZV9wYWRzX3VubGlua2VkKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFRoaXJkIGF0dGVtcHQsIHVzZSBnc3RfcGFkX2lzX2xpbmtlZCgpIHRoaXMgdGltZS4KCjIwMDYtMDItMDQgMTM6MzA6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEFkanVzdCBmb3IgZGF0YSBsZW5ndGggaW5kaWNhdG9ycyB3aGVuIHBhcnNpbmcgKEZpeGVzICMzMjk4MTApCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEFkanVzdCBmb3IgZGF0YSBsZW5ndGggaW5kaWNhdG9ycyB3aGVuIHBhcnNpbmcgKEZpeGVzICMzMjk4MTApCgkgIEZpeCBzdHVwaWQgYnVnIHBhcnNpbmcgVVRGLTggdGFnIHRleHQuCgkgIE91dHB1dCB0YWcgc3RyaW5ncyB3aXRoIG11bHRpcGxlIGZpZWxkcyBhcyBtdWx0aXBsZSB0YWdzLCBzbyB0aGUKCSAgYXBwIGdldHMgYWxsIHRoZSBkYXRhLgoKMjAwNi0wMi0wMyAyMDowNToyMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIEZpeGVkIGEgYnVnIGFkZCBpbiBsYXN0IGNvbW1pdCwgd2hlcmUgbm8gZXZlbnQgaXMgc2VuZC4gVGhhbmtzIFRpbSB0byBzaG93IG1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYSBidWcgYWRkIGluIGxhc3QgY29tbWl0LCB3aGVyZSBubyBldmVudCBpcyBzZW5kLiBUaGFua3MgVGltIHRvIHNob3cgbWUuCgoyMDA2LTAyLTAzIDE4OjA3OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBKdXN0IG1ha2UgaXQgY29tcGlsZSB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IG1ha2UgaXQgY29tcGlsZSB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcuCgoyMDA2LTAyLTAzIDE2OjU1OjQyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDYtMDItMDMgMTM6MDY6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IE5ldmVyIG91dHB1dCBhIHRhZyB3aXRoIGEgbnVsbCBjb250ZW50cyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChpZDN2Ml90YWdfdG9fdGFnbGlzdCksIChpZDN2Ml9nZW5yZV9zdHJpbmdfdG9fdGFnbGlzdCksCgkgIChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCk6CgkgIE5ldmVyIG91dHB1dCBhIHRhZyB3aXRoIGEgbnVsbCBjb250ZW50cyBzdHJpbmcuCgoyMDA2LTAyLTAyIDIxOjAwOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBPbmx5IHBhdXNlIGlmIGFsbCBwYWRzIGFyZSB1bmxpbmtlZCBBTkQgd2UndmUgdHJpZWQgdG8gc2VuZCBkYXRhIG9uIGFsbCBvZiB0aGVtIGF0IGxlYXN0IG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYWxsX3NvdXJjZV9wYWRzX3VubGlua2VkKToKCSAgT25seSBwYXVzZSBpZiBhbGwgcGFkcyBhcmUgdW5saW5rZWQgQU5EIHdlJ3ZlIHRyaWVkIHRvIHNlbmQgZGF0YQoJICBvbiBhbGwgb2YgdGhlbSBhdCBsZWFzdCBvbmNlLgoKMjAwNi0wMi0wMiAxMjoyOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTWFrZSBsb29wIGZ1bmN0aW9uL3Rhc2sgcGF1c2UgaXRzZWxmIHdoZW4gYWxsIHNvdXJjZSBwYWRzIGFyZSB1bmxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9hbGxfc291cmNlX3BhZHNfdW5saW5rZWQpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTWFrZSBsb29wIGZ1bmN0aW9uL3Rhc2sgcGF1c2UgaXRzZWxmIHdoZW4gYWxsIHNvdXJjZSBwYWRzIGFyZQoJICB1bmxpbmtlZC4KCjIwMDYtMDItMDIgMTA6NDc6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IGZ1bmN0aW9ucyBmcm9tIGNvcmUgdG8gcmVuZGVyIGEgYmluIGZyb20gYSBzdHJpbmcuIEZpeGVzIGJ1aWxkLiBVcCByZXF1aXJlbWVudHMgdG8gY29yZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX2Zyb21fa2V5KToKCSAgVXNlIG5ldyBmdW5jdGlvbnMgZnJvbSBjb3JlIHRvIHJlbmRlciBhIGJpbiBmcm9tIGEKCSAgc3RyaW5nLiBGaXhlcyBidWlsZC4gVXAgcmVxdWlyZW1lbnRzIHRvIGNvcmUgQ1ZTLgoKMjAwNi0wMi0wMSAxMTowMTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogRG9uJ3QgcHVzaCBidWZmZXJzIGludG8gdGhlIGFkYXB0ZXIgdGhhdCB3ZSBhcmUgZ29pbmcgdG8gcHVzaCBkb3duc3RyZWFtIGFnYWluIHdpdGhvdXQgZnJhbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfY2hhaW4pOgoJICBEb24ndCBwdXNoIGJ1ZmZlcnMgaW50byB0aGUgYWRhcHRlciB0aGF0IHdlIGFyZSBnb2luZyB0bwoJICBwdXNoIGRvd25zdHJlYW0gYWdhaW4gd2l0aG91dCBmcmFtaW5nIGFueXdheS4gQWxzbywgdGhlCgkgIGFkYXB0b3IgdGFrZXMgb3duZXJzaGlwIG9mIGJ1ZmZlcnMgcHV0IGludG8gaXQgKGZpeGVzCgkgIGF1cGFyc2UgcHVzaGluZyBpbnZhbGlkIGJ1ZmZlcnMgZm9yIC5hdSBmaWxlcyB3aXRoCgkgIEFEUENNIGNvbnRlbnRzKS4gRmluYWxseSwgc2V0IGNhcHMgb24gYWxsIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA2LTAxLTMwIDIzOjEzOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC86IFNvbWVvbmUgc2hvdWxkIGtpY2sgbXkgYnV0dC4gUmVtb3ZlIElEM3YxIHRhZ3MgZnJvbSB0aGUgZW5kIG9mIHRoZSBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9pZDN2MSksIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfaWQzZGVtdXhfc2VuZF90YWdfZXZlbnQpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9yZWFkX2lkM3YxX3RhZyk6CgkgIFNvbWVvbmUgc2hvdWxkIGtpY2sgbXkgYnV0dC4gUmVtb3ZlIElEM3YxIHRhZ3MgZnJvbSB0aGUgZW5kIG9mIHRoZQoJICBmaWxlLgoJICBJbXByb3ZlIGVycm9yIG1lc3NhZ2VzLiBTZW5kIHRoZSBUQUcgbWVzc2FnZSBhcyBzb29uIGFzIHdlIGNvbXBsZXRlCgkgIHR5cGVmaW5kaW5nLCBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwgd2Ugc2VuZCB0aGUgZmlyc3QgYnVmZmVyLgoJICBEb3duc3RyZWFtIHRhZyBldmVudCBpcyBzdGlsbCBzZW50IGJlZm9yZSB0aGUgZmlyc3QgYnVmZmVyLgoKMjAwNi0wMS0yOSAyMDowNzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19zZXRjYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZwoJICBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2xhc3RfZW50cnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUmV3cml0ZSBhIGJpdCwgbW9zdGx5IHRvIGZpeCBmbG93IGxvZ2ljIGFuZCB0byBtYWtlIHNlZWtpbmcgd29yay4KCSAgRml4IGJ1ZmZlci9ldmVudCByZWZjb3VudGluZy4gQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cy4gQWRkCgkgIHdpZHRoIG9mIDMyIHRvIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2Fwcy4gVXNlIGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMDEtMjcgMTI6MTc6NTYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9kdi86IENhbGwgZHZfc2V0X2Vycm9yX2xvZyAoZHZfZGVjb2Rlcl90ICosIE5VTEwpOyBhZnRlciBkdl9kZWNvZGVyX25ldyB0byBub3QgaGF2ZSB3YXJpbmdzIGZsb29kaW5nIHN0ZGVyci4gdGhpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0yNyAgSmFuIEdlcmJlciAgPGpAYm9vdGxhYi5vcmc+CgkgIFJldmlld2VkIGJ5OiBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVjLmMgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIENhbGwgZHZfc2V0X2Vycm9yX2xvZyAoZHZfZGVjb2Rlcl90ICosIE5VTEwpOyBhZnRlciBkdl9kZWNvZGVyX25ldwoJICB0byBub3QgaGF2ZSB3YXJpbmdzIGZsb29kaW5nIHN0ZGVyci4gdGhpcyBpcyB0aGUgc3VnZ2VzdGVkIHdheQoJICBhbHNvIHVzZWQgaW4gZHZncmFiIGFuZCBraW5vLiAoIzMyODMzNikKCjIwMDYtMDEtMjcgMDE6NDM6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IEZyZWUgdGhlIGRldmljZSBuYW1lIHN0cmluZyB3aGVuIGZpbmFsaXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NpbmtfaW5pdCksIChnc3Rfb3NzX3NpbmtfZmluYWxpc2UpOgoJICBGcmVlIHRoZSBkZXZpY2UgbmFtZSBzdHJpbmcgd2hlbiBmaW5hbGlzZWQuCgoyMDA2LTAxLTI2IDE2OjIzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoKMjAwNi0wMS0yNSAyMjowNToyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCBwdXQgZnVuY3Rpb24gY2FsbHMgaW4gZ19yZXR1cm5faWZfZmFpbCgpIHN0YXRlbWVudHMsIG9yIHRoZXknbGwgYmUgcmVwbGFjZWQgd2l0aCBOTy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZW1vdmVfc3JjcGFkKToKCSAgRG9uJ3QgcHV0IGZ1bmN0aW9uIGNhbGxzIGluIGdfcmV0dXJuX2lmX2ZhaWwoKSBzdGF0ZW1lbnRzLAoJICBvciB0aGV5J2xsIGJlIHJlcGxhY2VkIHdpdGggTk9PUHMgaWYgc29tZW9uZSBjb21waWxlcyB3aXRoCgkgIEdfRElTQUJMRV9DSEVDS1MgZGVmaW5lZC4KCjIwMDYtMDEtMjUgMjA6MzM6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBjaGFuZ2Vsb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2hhbmdlbG9nIHN1cmdlcnkKCjIwMDYtMDEtMjUgMTg6MjM6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IE5ldmVyIHRydXN0IEFOWSBpbmZvcm1hdGlvbiBlbmNvZGVkIGluIGEgbWVkaWEgZmlsZSwgZXNwZWNpYWxseSB3aGVuIGl0J3MgZ2l2aW5nIHlvdSBzaXplLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICBOZXZlciB0cnVzdCBBTlkgaW5mb3JtYXRpb24gZW5jb2RlZCBpbiBhIG1lZGlhIGZpbGUsIGVzcGVjaWFsbHkKCSAgd2hlbiBpdCdzIGdpdmluZyB5b3Ugc2l6ZXMuIChGaXhlcyAjMzI4NDUyKQoKMjAwNi0wMS0yNCAxODowMzo0NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggd3JpdHRlbiBieSBLYWkgVmVobWFuZW4gPGthaS52ZWhtYW5lbkBub2tpYS5jb20+IGFwcGxpZWQuIFNlZSBidWcgIzMyNTE0OC4KCjIwMDYtMDEtMjQgMTE6NTg6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIElmIHNhbXBsZV9zaXplIGlzIGF2YWlsYWJsZSwgdXNlIHRoYXQgZm9yIHRoZSBzYW1wbGVzJyBkdXJhdGlvbiBpbgoJICB0aGUgaW5kZXguIFRoaXMgZW5hYmxlcyBzaW5nbGUgZnJhbWUgc3RyZWFtcyB0byB3b3JrIChhbmQgSSBpbWFnaW5lCgkgIGZpeGVzIHNvbWUgb3RoZXIgY2FzZXMpLgoJICBUZXN0ZWQgb24gdGVzdHN1aXRlLCBubyByZWdyZXNzaW9uLgoKMjAwNi0wMS0yMyAxODozOTozMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZGVkIHJlY29nbml0aW9uIG9mIFJlYWwgQXVkaW8gYW5kIFZpZGVvIHN0cmVhbXMgaW4gbWF0cm9za2EgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQWRkZWQgcmVjb2duaXRpb24gb2YgUmVhbCBBdWRpbyBhbmQgVmlkZW8gc3RyZWFtcyBpbiBtYXRyb3NrYSBkZW11eGVyLgoKMjAwNi0wMS0yMyAxNToxMDo1NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOiBfIFZQMzEgOiB2aWRlby94LXZwMyBfIEFWREogOiBpbWFnZS9qcGVnIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjoKCSAgXyBWUDMxIDogdmlkZW8veC12cDMKCSAgXyBBVkRKIDogaW1hZ2UvanBlZwoJICBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWR2LCBzeXN0ZW1zdHJlYW09KGJvb2xlYW4pZmFsc2UKCSAgXyAweDZkNzMwMDE3IDogYXVkaW8veC1hZHBjbSwgbGF5b3V0PShzdHJpbmcpcXVpY2t0aW1lCgoyMDA2LTAxLTIzIDE0OjMyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBSZW1vdmUgZXJyYW50IGJyZWFrIHN0YXRlbWVudCwgYW5kIGZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIEdDQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIFJlbW92ZSBlcnJhbnQgYnJlYWsgc3RhdGVtZW50LCBhbmQgZml4IGNvbXBpbGF0aW9uIHdpdGgKCSAgb2xkZXIgR0NDLgoKMjAwNi0wMS0yMyAxMjowNDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE1lbnRpb24gdGhhdCBteSBsYXN0IGNvbW1pdCBmaXhlcyAjMzI4MjQxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZW50aW9uIHRoYXQgbXkgbGFzdCBjb21taXQgZml4ZXMgIzMyODI0MQoKMjAwNi0wMS0yMyAxMTowNjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9zdW5hdWRpby86IEV4cG9ydCBmdW5jdGlvbnMgdGhhdCBhcmUgbmVlZGVkIGluIG90aGVyIHBhcnRzIG9mIHRoZSBjb2RlLCBtYWtlcyB0aGUgbWl4ZXIgYWN0dWFsbHkgd29yazsgYWRqdXN0IG1hZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpOgoJICBFeHBvcnQgZnVuY3Rpb25zIHRoYXQgYXJlIG5lZWRlZCBpbiBvdGhlciBwYXJ0cyBvZiB0aGUgY29kZSwKCSAgbWFrZXMgdGhlIG1peGVyIGFjdHVhbGx5IHdvcms7IGFkanVzdCBtYWdpYyBtaW5pbXVtIGJ1ZmZlci10aW1lCgkgIHZhbHVlIGZyb20gM21zIHRvIDVtcyB0byB3b3JrIGFyb3VuZCBzdHV0dGVyaW5nIGR1cmluZyBtcDMKCSAgcGxheWJhY2sgKCMzMjc3NjUpLgoKMjAwNi0wMS0yMyAxMDo0NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IHBvc3NpYmxlIGRlYWRsb2NrIGluIG1hdHJvc2thIG11eGVyICgjMzI3ODI1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLCAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICBGaXggcG9zc2libGUgZGVhZGxvY2sgaW4gbWF0cm9za2EgbXV4ZXIgKCMzMjc4MjUpLgoKMjAwNi0wMS0yMyAwOTo1OTowMyArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgQzg5IGZpeGVzOiBkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2ludmVydCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19yZW5kZXIpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyk6CgkgIEM4OSBmaXhlczogZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGFuZAoJICBtYWtlIGdjYy0yLjl4IGhhcHB5ICgjMzI4MjY0OyBwYXRjaCBieTogSmVucyBHcmFuc2V1ZXIKCSAgPGplbnNnciBhdCBnbXggZG90IG5ldD4pLgoKMjAwNi0wMS0yMyAwOToyMjoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvOiBSZXdyaXRlIHBhcnNpbmcgb2YgdGV4dCB0YWdzIHRvIGhhbmRsZSBtdWx0aXBsZSBOVUxMIHRlcm1pbmF0ZWQgc3RyaW5ncy4gUGFyc2UgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfY29tbWVudF9mcmFtZSksIChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKGlkM3YyX3RhZ190b190YWdsaXN0KSwgKGlkM3YyX2FyZV9kaWdpdHMpLAoJICAoaWQzdjJfZ2VucmVfc3RyaW5nX3RvX3RhZ2xpc3QpLCAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyksIChmcmVlX3RhZ19zdHJpbmdzKToKCSAgUmV3cml0ZSBwYXJzaW5nIG9mIHRleHQgdGFncyB0byBoYW5kbGUgbXVsdGlwbGUgTlVMTCB0ZXJtaW5hdGVkCgkgIHN0cmluZ3MuIFBhcnNlIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBhbmQgSUQzdjIgdHlwZQoJICAiKDMpKDYpQWx0ZXJuYXRpdmUiIHN0eWxlIGdlbnJlIHN0cmluZ3MuCgkgIFBhcnNlIGRhdGVzIHRoYXQgYXJlIG9ubHkgWVlZWSBvciBZWVlZLW1tIGZvcm1hdC4KCjIwMDYtMDEtMjEgMTE6NDM6NTMgKzAwMDAgIEZhYnJpemlvIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIEZpeCA4Yml0IGNhc2UgKCMzMjcxMzMsIGJhc2VkIG9uIHBhdGNoIGJ5OiBGYWJyaXppbwoJICBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCSAgQWxzbywgIkdfTElUVExFX0VORElBTiIgYW5kICJHX0JJR19FTkRJQU4iIGFyZSBub3QKCSAgdmFsaWQgbGl0ZXJhbHMgZm9yIGVuZGlhbm5lc3MgaW4gY2FwcyBzdHJpbmdzLAoJICBvbmx5ICJMSVRUTEVfRU5ESUFOIiBhbmQgIkJJR19FTkRJQU4iIGFyZSB2YWxpZC4KCjIwMDYtMDEtMjAgMTU6MDY6MjggKzAwMDAgIENocmlzdG9waCBCdXJnaGFyZHQgPGhhd2tlc0B3ZWIuZGU+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRG9uJ3QgZm9yZ2V0IHRvIGluaXRpYWxpemUgbGlib2lsLCBvdGhlcndpc2Ugb3VyIG9pbCBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpOgoJICBEb24ndCBmb3JnZXQgdG8gaW5pdGlhbGl6ZSBsaWJvaWwsIG90aGVyd2lzZSBvdXIgb2lsIGZ1bmN0aW9ucwoJICB3aWxsIGNyYXNoIChmaXhlcyAjMzI3ODcxOyBwYXRjaCBieTogQ2hyaXN0b3BoIEJ1cmdoYXJkdAoJICA8aGF3a2VzIGF0IHdlYiBkb3QgZGU+KS4KCjIwMDYtMDEtMTkgMjE6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IChsYXN0IGVudHJ5IG1heSBoYXZlIGJlZW4gc2xpZ2h0bHkgbWlzbGVhZGluZykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IChsYXN0IGVudHJ5IG1heSBoYXZlIGJlZW4gc2xpZ2h0bHkgbWlzbGVhZGluZykKCjIwMDYtMDEtMTkgMjE6MDA6NTAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzoganVzdCBsaWtlIGluIHRoZSBjb3JlIGFuZCBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWlsZCBvbiBTb2xhcmlzIChmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwbGFpbiBBU19MSUJUT09MX1RBR1MgaW5zdGVhZCBvZiBBU19MSUJUT09MX1RBR1MoW0NYWF0pLCBqdXN0CgkgIGxpa2UgaW4gdGhlIGNvcmUgYW5kIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1aWxkIG9uIFNvbGFyaXMgKGZpeGVzCgkgICMzMjY2ODM7IHBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4pCgoyMDA2LTAxLTE5IDAwOjEwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vOiBGaXggYnVpbGQgZm9yIGxpYmNkaW8gdmVyc2lvbnMgPj0gNzY7IGdpdmUgc2xpZ2h0bHkgbG93ZXIgcmFuayB0aGFuIGNkcGFyYW5vaWEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfZ2V0X2NkdGV4dCk6CgkgIEZpeCBidWlsZCBmb3IgbGliY2RpbyB2ZXJzaW9ucyA+PSA3NjsgZ2l2ZSBzbGlnaHRseSBsb3dlciByYW5rCgkgIHRoYW4gY2RwYXJhbm9pYS4KCjIwMDYtMDEtMTggMTk6MzA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IGxpYmNkaW8gY2RkYSBzb3VyY2UsIGZvcm1lcmx5IGtub3duIGFzIGNkZGFzcmMsIG5vdyBrbm93biBhcyBjZGlvY2RkYXNyYyAoZml4ZXMgIzMyMzMyNykuIFNob3VsZCBhbHNvIHJlYWQgQ0QtVEUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuaDoKCSAgUG9ydCBsaWJjZGlvIGNkZGEgc291cmNlLCBmb3JtZXJseSBrbm93biBhcyBjZGRhc3JjLCBub3cga25vd24gYXMKCSAgY2Rpb2NkZGFzcmMgKGZpeGVzICMzMjMzMjcpLiBTaG91bGQgYWxzbyByZWFkIENELVRFWFQgaWYgYXZhaWxhYmxlLAoJICBidXQgdGhhdCdzIG5vdCB0ZXN0ZWQgKGZpeGVzICMzMTc2NTgpLgoKMjAwNi0wMS0xOCAxOTowODowOCArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggY29udmVyc2lvbiBmcm9tIFRJTUUgdG8gQllURVMgZm9ybWF0IChmaXhlcyAjMzI2ODY0OwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCk6CgkgIEZpeCBjb252ZXJzaW9uIGZyb20gVElNRSB0byBCWVRFUyBmb3JtYXQgKGZpeGVzICMzMjY4NjQ7CgkgIHBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+KQoKMjAwNi0wMS0xOCAxODo1NDowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgoyMDA2LTAxLTE3IDE2OjQ1OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZQoJICBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCjIwMDYtMDEtMTYgMTA6MjM6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHdpdGggbG92ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHdpdGggbG92ZQoKMjAwNi0wMS0xNSAyMDoyMTo0OCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBGaXggY29tcGlsYXRpb24gb2YgaWQzZGVtdXggd2hlbiB6bGliIGlzIG5vdCBwcmVzZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIGlkM2RlbXV4IHdoZW4gemxpYiBpcyBub3QgcHJlc2VudC4KCSAgKEZpeGVzICMzMjY2MDI7IHBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCkKCjIwMDYtMDEtMTUgMTQ6MTI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL01ha2VmaWxlLmFtOiBvdGhlcndpc2UgYnVpbGQgd2lsbCBmYWlsIGZvciBmb2xrcyB3aXRoIGxpYmVzZCBpbiBhIG5vbi1zdGFuZGFyZCBwcmVmaXggKCMzMjcwMDkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICBBZGQgJChFU0RfQ0ZMQUdTKSwgb3RoZXJ3aXNlIGJ1aWxkIHdpbGwgZmFpbCBmb3IgZm9sa3MKCSAgd2l0aCBsaWJlc2QgaW4gYSBub24tc3RhbmRhcmQgcHJlZml4ICgjMzI3MDA5KS4KCjIwMDYtMDEtMTMgMTk6Mjk6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgoyMDA2LTAxLTEzIDE5OjI1OjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgcmVsZWFzaW5nIDAuMTAuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMQoKMjAwNi0wMS0xMyAxODozNzoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IGZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFdpbSBUYXltYW5zCgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIGZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxOAoKMjAwNi0wMS0xMyAxODozNTowMCArMDAwMCAgTWlrZSBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0xMyAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgcGF0Y2ggYnk6IE1pa2UgU21pdGgKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9tZXNzYWdlX25ldyksCgkgIChnc3RfbGV2ZWxfbWVzc2FnZV9hcHBlbmRfY2hhbm5lbCk6CgkgIEZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxMgoKMjAwNi0wMS0xMSAxMTozOToxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IHByZXJlbGVhc2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHByZXJlbGVhc2luZwoJICAqIHBvL2FmLnBvOgoJICAqIHBvL2F6LnBvOgoJICAqIHBvL2NzLnBvOgoJICAqIHBvL2VuX0dCLnBvOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL25iLnBvOgoJICAqIHBvL25sLnBvOgoJICAqIHBvL29yLnBvOgoJICAqIHBvL3NxLnBvOgoJICAqIHBvL3NyLnBvOgoJICAqIHBvL3N2LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDA2LTAxLTExIDExOjA0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBDbG9zZXMgIzMyNjUyNAoKMjAwNi0wMS0xMCAxMjozODo1OSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IERvbid0IGxlYWsgZmlsdGVyIGFycmF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfbGV2ZWxfZGlzcG9zZSk6CgkgIERvbid0IGxlYWsgZmlsdGVyIGFycmF5cy4KCjIwMDYtMDEtMDkgMTc6MDQ6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy91cGxvYWQubWFrOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIGFkZCBTdW4gQXVkaW8gcGx1Z2luLiBWZXJpZmllZCB0aGF0IG5vdGhpbmcgYnJlYWtzIGFuZCB0aGF0IG1ha2UgY2hlY2sgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgU3VuIEF1ZGlvIHBsdWdpbi4gVmVyaWZpZWQgdGhhdCBub3RoaW5nIGJyZWFrcyBhbmQgdGhhdCBtYWtlIGNoZWNrIHdvcmtzLgoJICBEb24ndCB0aGluayB0aGUgZG9jcyBnZXRzIHByb3Blcmx5IGJ1aWx0IHlldCwgYnV0IEkgZG9uJ3QgdW5kZXJzdGFuZCBleGFjdGx5IGhvdyB0byBlbmFibGUgdGhhdC4KCjIwMDYtMDEtMDcgMjA6MDE6MDkgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC91ZHAvOiBBbGxvdyB1ZHBzcmMgYW5kIGR5bnVkcHNpbmsgdG8gdGFrZSBhIHNvY2tmZCBhcyBhIHBhcmFtZXRlci4gRm9yIHVkcHNyYywgb3ZlcnJpZGVzIHRoZSBwb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDEtMDcgIFBoaWxpcHBlIEtoYWxhZiAgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgQWxsb3cgdWRwc3JjIGFuZCBkeW51ZHBzaW5rIHRvIHRha2UgYSBzb2NrZmQgYXMgYSBwYXJhbWV0ZXIuIEZvciB1ZHBzcmMsCgkgIG92ZXJyaWRlcyB0aGUgcG9ydCBvciBtdWx0aWNhc3QgcGFyYW1ldGVycy4gRml4ZXMgYnVncyAjMzIzMDIxLgoKMjAwNi0wMS0wNiAxNjoyODozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi86IEFkZCBuZXcgZ2NvbmZhdWRpb3NyYyBhbmQgZ2NvbmZ2aWRlb3NyYyBlbGVtZW50cyAobmVlZGVkIGZvciBnbm9tZS1zb3VuZC1yZWNvcmRlcikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jbGFzc19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChjYl90b2dnbGVfZWxlbWVudCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGNiX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBBZGQgbmV3IGdjb25mYXVkaW9zcmMgYW5kIGdjb25mdmlkZW9zcmMgZWxlbWVudHMKCSAgKG5lZWRlZCBmb3IgZ25vbWUtc291bmQtcmVjb3JkZXIpLgoKMjAwNi0wMS0wNiAxMTo0Njo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBBZGQgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgZm9yIHByb3BlciBkZWNvZGViaW4gYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKToKCSAgQWRkIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGZvciBwcm9wZXIgZGVjb2RlYmluIGJlaGF2aW91ci4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2NvbW1lbnRfZnJhbWUpLAoJICAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgRmFpbHVyZSB0byBkZWNvZGUgc29tZSB0YWdzIGlzIG5vdCBhIEdTVF9FUlJPUigpIGJ1dCBhCgkgIEdTVF9XQVJOSU5HKCkKCSAgV2hlbiBpdGVyYXRpbmcgb3ZlciBhIGNodW5rIG9mIHRleHQsIGNoZWNrIHRoYXQgd2UgaGF2ZW4ndCBnb25lIHRvbwoJICBmYXIuCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwNi0wMS0wNSAxNzowMzo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChwbHVnaW5faW5pdCk6CgkgIGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoKMjAwNi0wMS0wNCAxNzoyODo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnLzogRml4IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgRml4IGxlYWtzLgoKMjAwNi0wMS0wMiAxOTozODozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRG9uJ3QgZ19hc3NlcnQoKSB3aGVyZSB3ZSBzaG91bGQganVzdCByZXR1cm4gRkFMU0U7IHJlbW92ZSB1bm5lY2Vzc2FyeSBnX2Fzc2VydCgpOyBpbml0aWFsaXplIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpLAoJICAoZ3N0X2ZsYWNfZGVjX2NvbnZlcnRfc3JjKSwgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X2ZsYWNfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGdfYXNzZXJ0KCkgd2hlcmUgd2Ugc2hvdWxkIGp1c3QgcmV0dXJuIEZBTFNFOyByZW1vdmUKCSAgdW5uZWNlc3NhcnkgZ19hc3NlcnQoKTsgaW5pdGlhbGl6ZSBzb21lIGZpZWxkcyBwcm9wZXJseSBpbgoJICBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gKGZpeGVzICMzMjU1MDQpLiBBbHNvLCB1c2UKCSAgR1NUX0RFQlVHX09CSkVDVCBpbiB0d28gbW9yZSBwbGFjZXMuCgoyMDA1LTEyLTMwIDE1OjUxOjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IGFsc28gcmVtb3ZlIHNtb290aHdhdmUncyBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGFsc28gcmVtb3ZlIHNtb290aHdhdmUncyBNYWtlZmlsZS5hbQoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZml4IHBsdWdpbiBkb2NzCgoyMDA1LTEyLTMwIDE1OjM5OjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9zbW9vdGh3YXZlLy5naXRpZ25vcmU6CgkqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3Rod2F2ZS9SRUFETUU6CgkqIGdzdC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICByZW1vdmUgb2xkIHBsdWdpbiB0aGF0IHdlbnQgYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgb2xkIHBsdWdpbiB0aGF0IHdlbnQgYmFkCgoyMDA1LTEyLTMwIDE1OjM0OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbTogYWRkZWQgbWlzc2luZyBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgYWRkZWQgbWlzc2luZyBNYWtlZmlsZS5hbQoKMjAwNS0xMi0zMCAxNToyODo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgbW92ZWQgbGV2ZWwtZXhhbXBsZSB0byB0ZXN0cy9leGFtcGxlcy9sZXZlbC1leGFtcGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIG1vdmVkIGxldmVsLWV4YW1wbGUgdG8gdGVzdHMvZXhhbXBsZXMvbGV2ZWwtZXhhbXBsZQoJICAqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9kZW1vLmM6IChtYWluKToKCSAgKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOiAobWFpbik6CgkgIHNvbWUgaW5pdGlhbCBmaXhlcwoKMjAwNS0xMi0yOSAxNjozNjoxOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogVHJhY2sgcGFja2V0cyBzZW50IHBlciBjbGllbnQgaW4gYWRkaXRpb24gdG8gYnl0ZXMgc2VudDsgcHJvdmlkZSB0aGlzIGluZm8gdGhyb3VnaCBnZXQtc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgVHJhY2sgcGFja2V0cyBzZW50IHBlciBjbGllbnQgaW4gYWRkaXRpb24gdG8gYnl0ZXMgc2VudDsgcHJvdmlkZQoJICB0aGlzIGluZm8gdGhyb3VnaCBnZXQtc3RhdHMgc2lnbmFsCgoyMDA1LTEyLTI5IDExOjI2OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiBDYW4ndCB1c2UgZ3N0X29iamVjdF91bnJlZigpIG9uIGEgR3N0QWRhcHRlciAoIzMyNTE5MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9kaXNwb3NlKToKCSAgQ2FuJ3QgdXNlIGdzdF9vYmplY3RfdW5yZWYoKSBvbiBhIEdzdEFkYXB0ZXIgKCMzMjUxOTEpLgoKMjAwNS0xMi0yOCAxODo1NTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBJZiBhIGJyb2tlbiB0YWcgaGFzIDAgYnl0ZXMgcGF5bG9hZCwgYXQgbGVhc3Qgc3RpbGwgc2tpcCB0aGUgMTAgYnl0ZSBoZWFkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKToKCSAgSWYgYSBicm9rZW4gdGFnIGhhcyAwIGJ5dGVzIHBheWxvYWQsIGF0IGxlYXN0IHN0aWxsIHNraXAKCSAgdGhlIDEwIGJ5dGUgaGVhZGVyCgoyMDA1LTEyLTIyIDE1OjAwOjQxICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwLzogTWFraW5nIHRoZXNlIGRlcGF5bG9hZGVycyAoSDI2MysgYW5kIG1wZWc0IHZpZGVvKSBpbmhlcml0IGZyb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMjIgIFBoaWxpcHBlIEtoYWxhZiAgPGJ1cmdlckBzcGVlZHkub3JnPgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBNYWtpbmcgdGhlc2UgZGVwYXlsb2FkZXJzIChIMjYzKyBhbmQgbXBlZzQgdmlkZW8pIGluaGVyaXQgZnJvbQoJICBSdHBCYXNlRGVwYXlsb2FkZXJDbGFzcy4gRml4ZXMgYnVncyAjMzIzOTIyIGFuZCAjMzIzOTA4LgoKMjAwNS0xMi0yMSAxNzoxNTowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLio6IFJlZ2VuZXJhdGUgdGhlIHBsdWdpbiBoaWVhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBSZWdlbmVyYXRlIHRoZSBwbHVnaW4gaGllYXJjaHkuCgoyMDA1LTEyLTIxIDE1OjI0OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBpZDNkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMjEgIEphbiBTY2htaWR0ICA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9pZDNkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2lkM2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGlkM2RlbXV4LgoJICBEb24ndCBmYWlsIGlmIHRoZSBmaXJzdCBidWZmZXIgaXMgbm90IGF0IG9mZnNldCAwLCBqdXN0CgkgIGF0dGVtcHQgdG8gdHlwZWZpbmQgYW5kIGRvIHBhc3MgdGhyb3VnaAoJICBSZW5hbWUgdGhlIGdzdF90eXBlIGZ1bmN0aW9uIGZyb20gZ3N0X2dzdF9pZDNkZW11eC4uCgoyMDA1LTEyLTIwIDEyOjQ0OjI1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBDb2xsZWN0IHN0YXRpc3RpY3M7IHJldHVybiB0aGVtIGZyb20gZ2V0X3N0YXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGQpLCAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfc3RhdHMpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIENvbGxlY3Qgc3RhdGlzdGljczsgcmV0dXJuIHRoZW0gZnJvbSBnZXRfc3RhdHMuCgoyMDA1LTEyLTE5IDE1OjQzOjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBTdHVwaWQgc2lnbmVkbmVzcyBpc3N1ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgU3R1cGlkIHNpZ25lZG5lc3MgaXNzdWUuLi4KCjIwMDUtMTItMTkgMTU6MTk6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jaGFpbiksIChnc3Rfc3dmZGVjX3JlbmRlcik6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgIEdldCBzb21ldGhpbmcgZnJvbSB0aGUgcGVlciBwYWQgb25jZSB3ZSd2ZSBjaGVja2VkIGlmIHRoZXJlIGlzIGEgcGVlciBwYWQuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQ291cGxlIG9mIGZpeGVzCgoyMDA1LTEyLTE5IDE1OjA2OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDb25zdHJ1Y3QgaW5kZXggZm9yIGluZGV4bGVzcyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9vZG1sKSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIENvbnN0cnVjdCBpbmRleCBmb3IgaW5kZXhsZXNzIGZpbGVzLgoJICBNYWtlIHN1cmUgcGFkL2J1ZmZlcnMgYXJlIGNvcnJlY3RseSByZXNldCB0byBOVUxMIG9uY2Ugd2UgZG9uJ3QgbmVlZAoJICB0aGVtIGFueW1vcmUsIGVsc2Ugd2UgZ2V0IGxvdmVseSBzZWdmYXVsdHMvYXNzZXJ0aW9ucy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgWWVzLCB5b3UgY2FuIGhhdmUgOTZLSHogYXVkaW8gYW5kIHdtYSBpbiB3YXYgOigKCjIwMDUtMTItMTggMTU6MTQ6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igb3B0aW9uYWwgZGVwZW5kZW5jeSBvbiB6bGliIGZvciBpZDNkZW11eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBvcHRpb25hbCBkZXBlbmRlbmN5IG9uIHpsaWIgZm9yIGlkM2RlbXV4CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2dzdF9pZDNkZW11eF9nZXRfdHlwZSksCgkgIChnc3RfaWQzZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9pZDNkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9pZDNkZW11eF9yZXNldCksIChnc3RfaWQzZGVtdXhfaW5pdCksIChnc3RfaWQzZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCksIChnc3RfaWQzZGVtdXhfcmVtb3ZlX3NyY3BhZCksCgkgIChnc3RfaWQzZGVtdXhfdHJpbV9idWZmZXIpLCAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zZXRfcHJvcGVydHkpLCAoZ3N0X2lkM2RlbXV4X2dldF9wcm9wZXJ0eSksCgkgIChpZDNkZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSksIChnc3RfaWQzZGVtdXhfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX2lkM3YxKSwgKGdzdF9pZDNkZW11eF9yZWFkX2lkM3YyKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9pZDNkZW11eF9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfaWQzZGVtdXhfc3JjX2NoZWNrZ2V0cmFuZ2UpLCAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpLAoJICAoZ3N0X2lkM2RlbXV4X3NyY19nZXRyYW5nZSksIChnc3RfaWQzZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9pZDNkZW11eF9wYWRfcXVlcnkpLCAoZ3N0X2lkM2RlbXV4X2dldF9xdWVyeV90eXBlcyksCgkgIChzaW1wbGVfZmluZF9wZWVrKSwgKHNpbXBsZV9maW5kX3N1Z2dlc3QpLAoJICAoZ3N0X2lkM2RlbXV4X2RvX3R5cGVmaW5kKSwgKGdzdF9pZDNkZW11eF9zZW5kX3RhZ19ldmVudCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKHJlYWRfc3luY2hfdWludCksCgkgIChpZDNkZW11eF9yZWFkX2lkM3YxX3RhZyksIChpZDNkZW11eF9yZWFkX2lkM3YyX3RhZyksCgkgIChpZDNkZW11eF9pZDN2Ml9mcmFtZV9oZHJfc2l6ZSksIChjb252ZXJ0X2ZpZF90b192MjQwKSwKCSAgKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLWZyYW1lcy50eHQ6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1zdHJ1Y3R1cmUudHh0OgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfY29tbWVudF9mcmFtZSksIChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKGlkM3YyX3RhZ190b190YWdsaXN0KSwgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBBbGwgbmV3IExHUEwgaWQzIGRlbXV4ZXIuIENhbiB1c2UgemxpYiBmb3IgY29tcHJlc3NlZCBmcmFtZXMsCgkgIG90aGVyd2lzZSBpdCBkaXNjYXJkcyB0aGVtLiBXb3JrcyBvbiBteSB0ZXN0IGZpbGVzLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2xvb3ApOgoJICBEb24ndCBzZW5kIEVPUyB0byBhIG5vbi1leGlzdGluZyBzcmNwYWQKCSAgVGhlIGRlYnVnIGNhdGVnb3J5IGNhbiBiZSBzdGF0aWMKCjIwMDUtMTItMTcgMTc6NDg6MzggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDogVXBkYXRlcy4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV92bW9kZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfbGlzdF9jaGFubmVscyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9zZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfZ2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBJbXBsZW1lbnQgdmVydGljYWwgc3luYyBhbmQKCSAgY29sb3IgYmFsYW5jZSBpbnRlcmZhY2UuCgoyMDA1LTEyLTE2IDIxOjU3OjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9vcGVuX2F1ZGlvKToKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3ByZXBhcmUpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCjIwMDUtMTItMTYgMTk6MzI6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogVXNlIEdzdFNlZ21lbnQgdG8gaW1wbGVtZW50IG1vcmUgc2Vla2luZyBmZWF0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX290aGVyKSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgVXNlIEdzdFNlZ21lbnQgdG8gaW1wbGVtZW50IG1vcmUgc2Vla2luZyBmZWF0dXJlcy4KCjIwMDUtMTItMTYgMTI6MjU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoKMjAwNS0xMi0xNiAxMDoxMjo0OSArMDAwMCAgQmVuamFtaW4gUGluZWF1IDxiZW4ucGluZWF1QGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEFkZCA8bmV0aW5ldC9pbi5oPiBpbmNsdWRlIGFuZCBtb3ZlIDxhcnBhL2luZXQuaD4gaW5jbHVkZSB0byBtYWtlIHRoaW5ncyB3b3JrIG9uIE9wZW5CU0QgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICBBZGQgPG5ldGluZXQvaW4uaD4gaW5jbHVkZSBhbmQgbW92ZSA8YXJwYS9pbmV0Lmg+IGluY2x1ZGUKCSAgdG8gbWFrZSB0aGluZ3Mgd29yayBvbiBPcGVuQlNEIGFzIHdlbGwgKGZpeGVzICMzMjM3MTc7CgkgIHBhdGNoIGJ5OiBCZW5qYW1pbiBQaW5lYXUpCgoyMDA1LTEyLTE2IDA5OjU5OjIxICswMDAwICBnY29jYXRyZUBnbWFpbC5jb20gPGdjb2NhdHJlQGdtYWlsLmNvbT4KCgkgIGV4dC93YXZwYWNrLzogV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZQoJICBjYXBzIChmaXhlcyAjMzIyOTczOyBwYXRjaCBieTogZ2NvY2F0cmVAZ21haWwuY29tKS4gQWxzbwoJICByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGdvbmUgaW4gMC4xMC4KCjIwMDUtMTItMTQgMjA6MDU6NDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgU2V0IGNsb2NrIHJhdGUgdG8gYmUgZml4ZWQgaW4gODAwMC4gSXQgZml4ZXMgYnVnICMzMjQwMTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXQgY2xvY2sgcmF0ZSB0byBiZSBmaXhlZCBpbiA4MDAwLiBJdCBmaXhlcyBidWcgIzMyNDAxMi4KCjIwMDUtMTItMTQgMTg6MDc6MTYgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvOiBGaXhlZCBwYXlsb2FkIHJhbmdlIGluIHBheWxvZGVyIGNhcHMuIFJlbW92ZWQgcGF5bG9hZCByYW5nZSBjb21wbGV0bHkgZnJvbSBkZXBheWxvYWRlcnMgYXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTQgIFBoaWxpcHBlIEtoYWxhZiAgPGJ1cmdlckBzcGVlZHkub3JnPgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9SRUFETUU6CgkgIEZpeGVkIHBheWxvYWQgcmFuZ2UgaW4gcGF5bG9kZXIgY2Fwcy4gUmVtb3ZlZCBwYXlsb2FkIHJhbmdlIGNvbXBsZXRseSBmcm9tCgkgIGRlcGF5bG9hZGVycyBhcyB0aGV5IGRvbid0IHJlcXVpcmUgcGF5bG9hZCB0eXBlIGluIHRoZWlyIGNhcHMuIEluIGVmZmVjdCwKCSAgdGhlcmUgaXNuJ3QgYW55IHNwZWNpZmljIHBheWxvYWQgdHlwZSBmb3IgYW55IGdpdmVuIGNvZGVjLCBvbmx5IHN1Z2dlc3Rpb25zLgoJICBGaXhlcyBidWcgIzMyNDAxMS4KCjIwMDUtMTItMTMgMjE6NTg6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBDb2RlIGNsZWFudXAgYW5kIHJlLWVuYWJsaW5nIHF1ZXVlZCB0aW1lIHZhbGlkaXR5IGNoZWNrIGZvciBjb3JyZWN0IEVPUyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKTogQ29kZSBjbGVhbnVwIGFuZCByZS1lbmFibGluZwoJICBxdWV1ZWQgdGltZSB2YWxpZGl0eSBjaGVjayBmb3IgY29ycmVjdCBFT1MgaGFuZGxpbmcuCgoyMDA1LTEyLTEzIDE3OjE4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogQWRkICdkZXZpY2UtbmFtZScgcHJvcGVydHkgYW5kIGZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgJ2RldmljZS1uYW1lJyBwcm9wZXJ0eSBhbmQgZml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCjIwMDUtMTItMTMgMTA6NDU6MDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx4L2dzdGZseGRlYy5jOiBJZiB0aGUgc3BlZWQgb2YgdGhlIGZpbGUgaXMgbnVsbCBpbiB0aGUgaGVhZGVyLCBzZXQgdGhlIGZyYW1lX3RpbWUgdG8gdGhlIGRlZmF1bHQgc2V0dGluZyBvZiBHU1QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICBJZiB0aGUgc3BlZWQgb2YgdGhlIGZpbGUgaXMgbnVsbCBpbiB0aGUgaGVhZGVyLCBzZXQgdGhlIGZyYW1lX3RpbWUgdG8gdGhlIGRlZmF1bHQKCSAgc2V0dGluZyBvZiBHU1RfU0VDT05EIC8gNzAuIFdoaWNoIGlzIHRoZSBkZWZhdWx0IGZyYW1lX2RlbGF5IGZvciAuZmxpIGZpbGVzIGFzCgkgIHN0YXRlZCBpbiB0aGlzIGRvY3VtZW50IDogaHR0cDovL3d3dy5jb21wdXBoYXNlLmNvbS9mbGljLmh0bQoJICBXb3VsZCBiZSBuaWNlIHRvIGhhdmUgdGhlIHRpbWUgY29udmVyc2lvbiBkb25lIHByb3Blcmx5IHRvbwoJICAoZHVyYXRpb24gPSBmbHhoLT5mcmFtZXMgKiBmbHhkZWMtPmZyYW1lX3RpbWUpCgoyMDA1LTEyLTEyIDIyOjI5OjM0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEFkZGluZyBkb2N1bWVudGF0aW9uIGZvciB2aWRlb21peGVyIG9uIG15IHdheSB3aXRoIGEgZnVubnkgc2FtcGxlIHBpcGVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICBBZGRpbmcKCSAgZG9jdW1lbnRhdGlvbiBmb3IgdmlkZW9taXhlciBvbiBteSB3YXkgd2l0aCBhIGZ1bm55IHNhbXBsZQoJICBwaXBlbGluZS4KCjIwMDUtMTItMTIgMjE6NDM6MDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggY2FwcyBuZWdvdGlhdGlvbi4gKCMzMjM4OTYpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTEyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgRml4IGNhcHMgbmVnb3RpYXRpb24uICgjMzIzODk2KQoKMjAwNS0xMi0xMiAxODoxNDo1OCArMDAwMCAgQXJ3ZWQgdi4gTWVya2F0eiA8di5tZXJrYXR6QGdteC5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBTZXQgY29ycmVjdCB0aW1lc3RhbXBzIG9uIGF1ZGlvIGxhY2VzLCBmaXhlcyBwbGF5YmFjayBvZiBtcDMgZnJvbSBtYXRyb3NrYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldCBjb3JyZWN0IHRpbWVzdGFtcHMgb24gYXVkaW8gbGFjZXMsIGZpeGVzIHBsYXliYWNrIG9mIG1wMyBmcm9tIG1hdHJvc2thLgoKMjAwNS0xMi0xMiAxMDo0MDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfbG9vcCk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfc3JjX3F1ZXJ5KSwgKGdzdF9tbXNfY3JlYXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX3ZpZGVvX2xpbmspLAoJICAoZ3N0X3N3ZmRlY19zcmNfcXVlcnkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YKCSAgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpYi0yLjYgdXNlcnMuCgoyMDA1LTEyLTEyIDEwOjMwOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS4qOiBVc2UgZ3N0X29iamVjdF91bnJlZigpIGZvciBHc3RPYmplY3RzIGluc3RlYWQgb2YgZ19vYmplY3RfdW5yZWYoKSBhbmQgZml4IGEgbWVtIGxlYWsgaW4gYSBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1X3BhcnNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX2Rpc3Bvc2UpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9hdV9wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgVXNlIGdzdF9vYmplY3RfdW5yZWYoKSBmb3IgR3N0T2JqZWN0cyBpbnN0ZWFkIG9mCgkgIGdfb2JqZWN0X3VucmVmKCkgYW5kIGZpeCBhIG1lbSBsZWFrIGluIGEgZGVidWcKCSAgc3RhdGVtZW50OyB3aGlsZSB3ZSdyZSBhdCBpdCwgYWxzbyBib3JnaWZ5LCB1c2UKCSAgYm9pbGVycGxhdGUgbWFjcm9zIGFuZCBjbGVhbiB1cCBhIGxpdHRsZSBiaXQuCgoyMDA1LTEyLTExIDIwOjI3OjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlYnVnL2VmZW5jZS5jOiBBZGRlZCBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfaW5pdCksIChnc3RfZWZlbmNlX2dldHJhbmdlKSwKCSAgKGdzdF9lZmVuY2VfY2hlY2tnZXRyYW5nZSksIChnc3RfZWZlbmNlX2FjdGl2YXRlX3NyY19wdWxsKToKCSAgQWRkZWQgcHVsbCBtb2RlLgoKMjAwNS0xMi0xMSAxOToyNTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFVzZSBhdWRpb3Rlc3RzcmMgaW5zdGVhZCBvZiBzaW5lc3JjICgjMzIzNzk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtYWluKToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIFVzZSBhdWRpb3Rlc3RzcmMgaW5zdGVhZCBvZiBzaW5lc3JjICgjMzIzNzk4KS4KCjIwMDUtMTItMTEgMTc6NTA6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBtb3JlIGRlYnVnLWZ1bmMtcHRyIHVzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpOgoJICBtb3JlIGRlYnVnLWZ1bmMtcHRyIHVzYWdlCgoyMDA1LTEyLTExIDE2OjQzOjQyICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2ZseC9mbHhfY29sb3IuYzoKCSogZ3N0L2ZseC9mbHhfY29sb3IuaDoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIE5vdyBmbHhkZWMgd29ya3Mgb24gYmlnLWVuZGlhbiBtYWNoaW5lcyBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGZseGRlYyB3b3JrcyBvbiBiaWctZW5kaWFuIG1hY2hpbmVzIGFzIHdlbGwuCgoyMDA1LTEyLTExIDE2OjE0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL2VmZW5jZS5jOiBNYWtlIHN1cmUgR1NUX0JVRkZFUl9EQVRBIGlzIHNldCBvbiBmZW5jZWQgY29waWVkIGJ1ZmZlcnM7IGZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2luaXQpLCAoZ3N0X2VmZW5jZV9jaGFpbiksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9jb3B5KToKCSAgTWFrZSBzdXJlIEdTVF9CVUZGRVJfREFUQSBpcyBzZXQgb24gZmVuY2VkIGNvcGllZCBidWZmZXJzOyBmaXgKCSAgR1NUX0RFQlVHIGNyYXNoZXIgd2hlcmUgR1NUX1RJTUVfRk9STUFUIHdhcyBub3QgdXNlZCBpbgoJICBjb25qdW5jdGlvbiB3aXRoIEdTVF9USU1FX0FSR1MuIEFsc28sIGRvbid0IGxlYWsgcGFkIHRlbXBsYXRlcwoJICBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBwYWQgZnVuY3Rpb25zLgoKMjAwNS0xMi0xMCAyMDoyNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogUmV3cml0ZSBmbGFjZGVjIGEgYml0LCBzbyB0aGF0IGV2ZW4gc2Vla2luZyBtaWdodCB3b3JrIG5vdy4gTW9zdCBpbXBvcnRhbnRseSwgZG9uJ3QgYWN0IHVwb24gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19jbGFzc19pbml0KSwgKGdzdF9mbGFjX2RlY19pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX2VvZiksIChnc3RfZmxhY19kZWNfd3JpdGUpLCAoZ3N0X2ZsYWNfZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNfZGVjX2NvbnZlcnRfc3JjKSwgKGdzdF9mbGFjX2RlY19nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpLCAoZ3N0X2ZsYWNfZGVjX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X2ZsYWNfZGVjX3NyY19ldmVudCksCgkgIChnc3RfZmxhY19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFJld3JpdGUgZmxhY2RlYyBhIGJpdCwgc28gdGhhdCBldmVuIHNlZWtpbmcgbWlnaHQgd29yayBub3cuIE1vc3QKCSAgaW1wb3J0YW50bHksIGRvbid0IGFjdCB1cG9uIGFueSBmbG93IHJldHVybiB2YWx1ZXMgd2UgZ2V0LCBqdXN0IHRlbGwKCSAgdGhlIGRlY29kZXIgZXZlcnl0aGluZydzIGRhbmR5IGFuZCBhY3Qgb24gdGhlIGZsb3cgcmV0dXJuIHZhbHVlcwoJICBsYXRlciBvbiBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gV2UgZG9uJ3Qgd2FudCB0byBtZXNzIHVwIHRoZSBpbnRlcm5hbAoJICBkZWNvZGVyIHN0YXRlIGZvciBub24tZmF0YWwgdGhpbmdzIGxpa2UgZmx1c2hpbmcgcGFkcyBldGMuIE90aGVyCgkgIHRoYW4gdGhhdCwgdXNlIEdzdFNlZ21lbnQgKHNlZ21lbnQgc2Vla3MgZG9uJ3Qgd29yayB5ZXQgdGhvdWdoLCBidXQKCSAgc2hvdWxkIGJlIGVhc3kgdG8gYWRkKSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZHJvcCB0aGUgc3VwZXJmbHVvdXMKCSAgJ2ZsYWNkZWM6JyBmcm9tIGRlYnVnIG1lc3NhZ2VzLCB1c2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCwgYW5kCgkgIGxvdHMgb2Ygb3RoZXIgdGhpbmdzLgoKMjAwNS0xMi0xMCAxNDo1Nzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIGNvbW1lbnQgaW4gT1NTIGluY2x1ZGVzIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBjb21tZW50IGluIE9TUyBpbmNsdWRlcyBjaGVjay4KCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgICogc3lzL29zcy9vc3NfcHJvYmUuYzoKCSAgRG9uJ3QgYXNzdW1lIHRoZSBPU1Mgc291bmRjYXJkLmggaW5jbHVkZSBpcyBhbHdheXMgaW4KCSAgdGhlIHN5cy8gZGlyZWN0b3J5LiBJbnN0ZWFkLCB1c2UgdGhlIGV4aXN0aW5nIGRlZmluZXMKCSAgZnJvbSBjb25maWcuaCB0byBpbmNsdWRlIHRoZSByaWdodCBmaWxlLiBGaXhlcwoJICBjb21waWxhdGlvbiBvbiBPcGVuQlNEIDMuOCAoIzMyMzcxOCkuCgoyMDA1LTEyLTA5IDE5OjUxOjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgYm9yZ2lmeSBhbmQgZml4IHVwIGRvY3VtZW50YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkgYW5kIGZpeCB1cCBkb2N1bWVudGF0aW9uCgoyMDA1LTEyLTA5IDE1OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksCgkgIChnc3RfZmFhZF91cGRhdGVfY2Fwcyk6CgkgIEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscwoJICBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiBlcnJvcmluZy4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSBlLmcuIGpwZWcgc3RyZWFtcyB3aXRoIDAgZHVyYXRpb24gZnJhbWVzIGFzIGhhdmluZyAwIGZyYW1lcmF0ZS4KCSAgRGVidWcgZml4ZXMuIFNvbWUgNjQgYml0IHZhcmlhYmxlIGZpeGVzCgoyMDA1LTEyLTA5IDExOjEyOjQ4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFjY2VwdCBhIHdpZGVyIHJhbmdlIG9mIGZsYWMgZmlsZXMsIG1vcmUgY2xvc2VseSBtYXRjaGluZyBmbGFjIHNwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKHJhd19jYXBzX2ZhY3RvcnkpLCAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICBBY2NlcHQgYSB3aWRlciByYW5nZSBvZiBmbGFjIGZpbGVzLCBtb3JlIGNsb3NlbHkgbWF0Y2hpbmcgZmxhYyBzcAoKMjAwNS0xMi0wOCAxNjoyNzoxMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFkZCBtdWx0aXBhcnQgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBZGQgbXVsdGlwYXJ0IGVsZW1lbnRzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBGaXggZmxhYy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogQWRkIGRvY3MuCgoyMDA1LTEyLTA3IDExOjQ2OjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNZW1sZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgTWVtbGVhayBmaXhlcy4KCSAgU2VuZCBvdXQgRU9TIGZvciB2YWxpZCByZWFzb25zIChjb3VsZG4ndCBwdWxsX3JhbmdlKCkgZnJvbSB1cHN0cmVhbQoJICBmb3IgZXhhbXBsZSkuCgoyMDA1LTEyLTA3IDExOjQwOjQ2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNZW1sZWFrIGFuZCBjcmFzaGVyIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KToKCSAgTWVtbGVhayBhbmQgY3Jhc2hlciBmaXhlcy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgTWVtbGVhayBmaXhlcwoKMjAwNS0xMi0wNiAxOTo1NTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDQ6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSogZXh0L2VzZC9lc2RzaW5rLmg6CgkqIGV4dC9mbGFjL2ZsYWNfY29tcGF0Lmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmg6CgkqIGV4dC9qcGVnL3Ntb2tlZm9ybWF0Lmg6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJKiBnc3QvZGVidWcvdGVzdHMuYzoKCSogZ3N0L2RlYnVnL3Rlc3RzLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmg6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSogZ3N0L3J0c3AvcnRzcHVybC5jOgoJKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzoKCSogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9wYWludC5jOgoJKiBnc3Qvc21wdGUvcGFpbnQuaDoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL3JpZmYuaDoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDUgMTg6MTI6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC4xMC4wID09PQoKMjAwNS0xMi0wNSAxODowMzoyMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuMTAuMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMAoKMjAwNS0xMi0wNSAxODowMTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbGVhc2luZyAwLjEwLjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjAKCjIwMDUtMTItMDUgMTY6MjE6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTEyLTA1IDE1OjA4OjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaXQucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDA1LTEyLTA1IDEzOjA0OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KSwgKGdzdF9mYWFjX2NoYWluKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6IChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOiAoZ3N0X3hpbmVfaW5wdXRfZ2V0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9jaGFpbik6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDUgMTM6MDM6MDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfd3JpdGVfY2FsbGJhY2spOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwgKGdzdF9wbmdkZWNfdGFzayk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW4pOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3ZvcmJpc19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlcik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA1IDEyOjIzOjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6IFJlbW92ZSBhcmdzIGZvciBwbHVnaW5zIHRoYXQgYXJlbid0IGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgIFJlbW92ZSBhcmdzIGZvciBwbHVnaW5zIHRoYXQgYXJlbid0IGluIC1nb29kLgoKMjAwNS0xMi0wNCAyMjoyNjowNyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICByZW1vdmUgcGFuZ28gcGx1Z2luIGFzIGl0cyBnb25lIGludG8gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHBhbmdvIHBsdWdpbiBhcyBpdHMgZ29uZSBpbnRvIGJhc2UKCjIwMDUtMTItMDMgMTg6NTE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgZml4IGVsZW1lbnQgZGVzY3JpcHRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZWxlbWVudCBkZXNjcmlwdGlvbnMKCjIwMDUtMTItMDMgMTg6NTA6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZkc3JjLnhtbDoKCSAgcmVtb3ZlIGZkc3JjIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBmZHNyYyBkb2NzCgoyMDA1LTEyLTAxIDE5OjE4OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS43ID09PQoKMjAwNS0xMi0wMSAxOToxNDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC45LjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNwoKMjAwNS0xMi0wMSAxOToxMzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbGVhc2luZyAwLjkuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS43CgoyMDA1LTEyLTAxIDE3OjUzOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTEyLTAxIDE1OjM0OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGFkZCBtdWx0aXBhcnQgcGx1Z2luIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtdWx0aXBhcnQgcGx1Z2luIHRvIGRvY3MKCjIwMDUtMTItMDEgMTU6MjI6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuaDoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5oOgoJKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIG1vdmUgcGFuZ28gdG8gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBwYW5nbyB0byBiYXNlCgoyMDA1LTEyLTAxIDE0OjM5OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvOiBwYXJzZXJzIGFyZSBkZXBheWVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkgIHBhcnNlcnMgYXJlIGRlcGF5ZXJzCgoyMDA1LTEyLTAxIDE0OjMwOjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICBEbyBidXJnZXIncyByZW5hbWUgZm9yIHJ0cCBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIERvIGJ1cmdlcidzIHJlbmFtZSBmb3IgcnRwIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycwoKMjAwNS0xMS0zMCAxOTowMjozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi86IEZpeCBzZWVraW5nIGluIGR2ZGVtdXggYWdhaW4sIGFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2hhaW4pOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgRml4IHNlZWtpbmcgaW4gZHZkZW11eCBhZ2FpbiwgYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwNS0xMS0zMCAxODo0ODo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IHRlc3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdGVzdHMKCjIwMDUtMTEtMzAgMTg6NDA6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCB0ZXN0cyBzdWJkaXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB0ZXN0cyBzdWJkaXIKCjIwMDUtMTEtMzAgMTg6MzY6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGFkZCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIE1ha2VmaWxlLmFtCgoyMDA1LTExLTMwIDE4OjI4OjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUE9SVEVEXzA5OgoJICAqIGRvY3MvcmFuZG9tL1BPUlRFRF8wOToKCSAgbW92ZQoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBhZGQKCSAgKiB3aW4zMi9nc3Quc2xuOgoJICByZW1vdmUKCjIwMDUtMTEtMzAgMTg6MjQ6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY2hlY2svLmdpdGlnbm9yZToKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIGNoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkqIGV4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiBleGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiBleGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIGV4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgbW92ZSB1bmRlciB0ZXN0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSB1bmRlciB0ZXN0cwoKMjAwNS0xMS0zMCAxNjo1Nzo1NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGNoYW5nZXMKCjIwMDUtMTEtMzAgMTQ6NTM6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci4qOiBBZGQgbWlzc2luZyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzogKGdzdF90ZXh0X3JlbmRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2NsYXNzX2luaXQpLCAocmVzaXplX2JpdG1hcCksCgkgIChnc3RfdGV4dF9yZW5kZXJfcmVuZGVyX3RleHQpLCAoZ3N0X3RleHRfcmVuZGVyX3NldGNhcHMpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2ZpeGF0ZV9jYXBzKSwgKGdzdF90ZXh0X3JlbmRlcmVyX2JpdG1hcF90b19heXV2KSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9jaGFpbiksIChnc3RfdGV4dF9yZW5kZXJfZmluYWxpemUpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2luaXQpLCAoZ3N0X3RleHRfcmVuZGVyX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuaDoKCSAgQWRkIG1pc3NpbmcgZmlsZXMuCgoyMDA1LTExLTMwIDEzOjIwOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBwYW5nby1iYXNlZCB0ZXh0b3ZlcmxheSwgdGltZW92ZXJsYXkgYW5kIHRleHRyZW5kZXIgdG8gMC45IGFuZCBhZGQgYmFja2dyb3VuZCBzaGFkaW5nIGFuZCB0ZXh0IHdyYXBwaW5nIG1vZGVzLiBNLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzogKGdzdF9jbG9ja19vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfY2xvY2tfb3ZlcmxheV9yZW5kZXJfdGltZSksIChnc3RfY2xvY2tfb3ZlcmxheV9nZXRfdGV4dCksCgkgIChnc3RfY2xvY2tfb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF9jbG9ja19vdmVybGF5X2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuaDoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfZ2V0X3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfZmluYWxpemUpLCAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdXBkYXRlX3dyYXBfbW9kZSksIChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF9saW5rZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF91bmxpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSksIChnc3RfdGV4dF9vdmVybGF5X2dldGNhcHMpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zaGFkZV95KSwgKGdzdF90ZXh0X292ZXJsYXlfYmxpdF95dXY0MjApLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9yZXNpemVfYml0bWFwKSwgKGdzdF90ZXh0X292ZXJsYXlfcmVuZGVyX3RleHQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wdXNoX2ZyYW1lKSwgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3ZpZGVvKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X3RpbWVfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RpbWVfb3ZlcmxheV9yZW5kZXJfdGltZSksIChnc3RfdGltZV9vdmVybGF5X2dldF90ZXh0KSwKCSAgKGdzdF90aW1lX292ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfdGltZV9vdmVybGF5X2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5oOgoJICBQb3J0IHBhbmdvLWJhc2VkIHRleHRvdmVybGF5LCB0aW1lb3ZlcmxheSBhbmQgdGV4dHJlbmRlciB0byAwLjkKCSAgYW5kIGFkZCBiYWNrZ3JvdW5kIHNoYWRpbmcgYW5kIHRleHQgd3JhcHBpbmcgbW9kZXMuIE1ha2UKCSAgdGltb3ZlcmxheSBkZXJpdmUgZnJvbSB0ZXh0b3ZlcmxheS4gQWxzbyBhZGQgbmV3IGNsb2Nrb3ZlcmxheQoJICBlbGVtZW50LgoKMjAwNS0xMS0zMCAxMToxMDowMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdWRwL01ha2VmaWxlLmFtOiBNb3ZlZCB0byBuZXRidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTMwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbTogTW92ZWQgdG8gbmV0YnVmZmVyLgoKMjAwNS0xMS0zMCAxMDoxODo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBQb3J0ZWQgbXVsdGlwYXJ0IG11eC9kZW11eCB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTMwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIFBPUlRFRF9POToKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCksIChnc3RfbXVsdGlwYXJ0X211eF9maW5hbGl6ZSksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9zaW5rY29ubmVjdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jaGFuZ2Vfc3RhdGUpOiBQb3J0ZWQgbXVsdGlwYXJ0IG11eC9kZW11eCB0bwoJICAwLjkuCgoyMDA1LTExLTMwIDA4OjI2OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC86IHVwZGF0ZSBmb3Igc3ltYm9scyBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChnc3RfbmF2aWdhdGlvbnRlc3RfZ2V0X3R5cGUpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6IChnc3RfYWdpbmd0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOiAoZ3N0X2RpY2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOiAoZ3N0X2VkZ2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzogKGdzdF9yZXZ0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOiAoZ3N0X3NoYWdhZGVsaWN0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOiAoZ3N0X3ZlcnRpZ290dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOiAoZ3N0X3dhcnB0dl9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvX2ZsaXBfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19mbGlwX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHVwZGF0ZSBmb3Igc3ltYm9scyBjaGFuZ2UKCjIwMDUtMTEtMjkgMTc6NDY6MDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3VkcC86IHRoZSBvbGQgZ3N0bmV0IGxpYiB3YXMgcmVuYW1lZCBnc3RuZXRidWZmZXIgKCMzMjIyNTcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHRoZSBvbGQgZ3N0bmV0IGxpYiB3YXMgcmVuYW1lZCBnc3RuZXRidWZmZXIgKCMzMjIyNTcpCgoyMDA1LTExLTI5IDE1OjQyOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEFjdHVhbGx5IHJlbmRlciB0aGUgdGV4dCBmcm9tIHRoZSB0ZXh0IHBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3JlbmRlcl90ZXh0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKToKCSAgQWN0dWFsbHkgcmVuZGVyIHRoZSB0ZXh0IGZyb20gdGhlIHRleHQgcGFkLgoKMjAwNS0xMS0yOSAxNDo0OTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kZWJ1Zy86IFVwZGF0ZSBmb3IgR3N0QmFzZVRyYW5zZm9ybSBldmVudCB2aXJ0dWFsIG1ldGhvZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOiAoZ3N0X25hdnNlZWtfZXZlbnQpOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9ldmVudCk6CgkgIFVwZGF0ZSBmb3IgR3N0QmFzZVRyYW5zZm9ybSBldmVudCB2aXJ0dWFsIG1ldGhvZAoKMjAwNS0xMS0yOSAxMDo1NTowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvY2Fpcm8vTWFrZWZpbGUuYW06IG5vIG5lZWQgdG8gbGluayB0byB2aWRlb2ZpbHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yOSAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIG5vIG5lZWQgdG8gbGluayB0byB2aWRlb2ZpbHRlcgoKMjAwNS0xMS0yOSAxMDo0NjowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHJlbW92ZSB0aGUgdmlkZW9maWx0ZXIgbGlicmFyeSBhbmQgbGluayB0byB0aGUgb25lIGluIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB0aGUgdmlkZW9maWx0ZXIgbGlicmFyeSBhbmQgbGluayB0byB0aGUgb25lIGluIGJhc2UKCjIwMDUtMTEtMjkgMDE6MzA6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgYm9yZ2lmeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeQoKMjAwNS0xMS0yOCAxNzozMTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVXNlbGVzcyBjaGVjayBub3cgd2UncmUgc2V0dGluZyB0aGUgY3VycmVudCBlbnRyeSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgVXNlbGVzcyBjaGVjayBub3cgd2UncmUgc2V0dGluZyB0aGUgY3VycmVudCBlbnRyeSBjb3JyZWN0bHkuCgoyMDA1LTExLTI4IDE2OjU0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbiAoZml4ZXMgIzMyMjY2Nyk7IG1ha2Ugc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX3Jlc3luYyksIChnc3RfanBlZ2VuY19jaGFpbiksCgkgIChnc3RfanBlZ2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2pwZWdlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qcGVnZW5jX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uIChmaXhlcyAjMzIyNjY3KTsgbWFrZQoJICBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXNhZmU7IGRvbid0IHJlcGVhdCB0aGUgY3VycmVudCBmdW5jdGlvbgoJICBuYW1lIGluIEdTVF9ERUJVRyBzdGF0ZW1lbnRzOyB1c2UgR1NUX1JPVU5EX1VQXyogbWFjcm9zOyB1c2UKCSAgZ3N0X3BhZF9hbGxvY19idWZmZXIoKTsgbWlzYy4gbWlub3IgY2xlYW51cHMuCgoyMDA1LTExLTI4IDE1OjQzOjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NyY2dldGNhcHMpOgoJICBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yCgkgIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0cyBpbiAwIGNoYW5uZWxzIHdpdGggc2FtcGxlcmF0ZXMgb2YgMC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyB1cHdhcmQgdHJhbnNpdGlvbnMsIHRoZW4gY2FsbCBwYXJlbnQgc3RhdGVfY2hhbmdlLCB0aGVuIGRvCgkgIGRvd253YXJkIHRyYW5zaXRpb25zLgoKMjAwNS0xMS0yOCAxNToxMzoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IExvb2sgZm9yIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzLCBub3QgcGl4ZWxfd2lkdGggYW5kIHBpeGVsX2hlaWdodCAoRml4ZXM6ICMzMjI2NDUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBMb29rIGZvciBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2Fwcywgbm90IHBpeGVsX3dpZHRoIGFuZAoJICBwaXhlbF9oZWlnaHQgKEZpeGVzOiAjMzIyNjQ1KQoKMjAwNS0xMS0yOCAxMjo1OTowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZyb20gTWljaGFsIEJlbmVzOiBmcmFtZSBkdXJhdGlvbiBzaG91bGQgYmUgR1NUX1NFQ09ORCAvIGZyYW1lcmF0ZSwgbm90CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBGcm9tIE1pY2hhbCBCZW5lczoKCSAgZnJhbWUgZHVyYXRpb24gc2hvdWxkIGJlIEdTVF9TRUNPTkQgLyBmcmFtZXJhdGUsIG5vdAoJICBHU1RfU0VDT05EICogZnJhbWVyYXRlLiAoRml4ZXM6ICMzMjI2NDMpCgoyMDA1LTExLTI3IDE3OjAyOjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZml4IHVwIEdTVF9QTFVHSU5fTERGTEFHUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGZpeCB1cCBHU1RfUExVR0lOX0xERkxBR1MKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICBmaXggaW5jbHVkZXMgKHNlZSAjMzE3MDQzKQoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgc3RvcCBpbnN0YWxsaW5nIHRoaXMgbGlicmFyeQoKMjAwNS0xMS0yNyAxNTozMDoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG5vIG5lZWQgZm9yIGFuIEFTX0xJQlRPT0wgY2FsbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbm8gbmVlZCBmb3IgYW4gQVNfTElCVE9PTCBjYWxsCgoyMDA1LTExLTI3IDE0OjMzOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCjIwMDUtMTEtMjYgMTI6NTQ6NDcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBpbmNvbWluZyBWaWRlbyBkdiBzdHJlYW0gZG9lc24ndCBoYXZlIGEgcGl4ZWwgYXNwZWN0IHJhdGlvIHNldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfc2lua19zZXRjYXBzKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBpbmNvbWluZyBWaWRlbyBkdiBzdHJlYW0gZG9lc24ndCBoYXZlCgkgIGEgcGl4ZWwgYXNwZWN0IHJhdGlvIHNldC4KCjIwMDUtMTEtMjUgMjI6MTQ6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBkb2N1bWVudCBmbGFjZGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2N1bWVudCBmbGFjZGVjCgoyMDA1LTExLTI1IDIxOjM2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICBkbyBzb21lIG5hbWUgYm9yZ2lmeWluZyBkb2N1bWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG8gc29tZSBuYW1lIGJvcmdpZnlpbmcKCSAgZG9jdW1lbnQKCjIwMDUtMTEtMjUgMjE6MDI6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jdW1lbnRpbmcgYXV0bypzaW5rIHVzaW5nIHN0cnN0ciBmb3IgdGhlIHZpZGVvIHNpbmsgbG9va3VwLCBjbGFzcyBmaWVsZCBpcyBub3Qgb3JkZXJlZCB1cGRhdGUgb3RoZXIgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmFjdG9yeV9maWx0ZXIpOgoJICBkb2N1bWVudGluZyBhdXRvKnNpbmsKCSAgdXNpbmcgc3Ryc3RyIGZvciB0aGUgdmlkZW8gc2luayBsb29rdXAsIGNsYXNzIGZpZWxkIGlzIG5vdCBvcmRlcmVkCgkgIHVwZGF0ZSBvdGhlciBwbHVnaW5zCgoyMDA1LTExLTI1IDE5OjU4OjE5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoKMjAwNS0xMS0yNSAxODoxNTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvd2F2cGFjay86IHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayksCgkgIChnc3Rfd2F2cGFja19kZWNfd3ZjbGluayksIChnc3Rfd2F2cGFja19kZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zZXR1cF9jb250ZXh0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19kZWNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChmaW5kX2hlYWRlciksIChmaW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZWVrKSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCjIwMDUtMTEtMjUgMTg6MDM6MjQgKzAwMDAgIFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MkB5YWhvby5jYT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gY2xvc2UgY29udHJvbCBzb2NrZXRzIGluIHVkcHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RvcCk6CgkgIFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gY2xvc2UgY29udHJvbCBzb2NrZXRzIGluIHVkcHNyYy4KCjIwMDUtMTEtMjQgMTU6MDc6MDYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogRmx1c2ggdGhlIHBsYW5lcyBsaXN0IG9uIHJldmVyc2UgY2FwcyBuZWdvdGlhdGlvbi4gVGhpcyB3YXMgY3Jhc2hpbmcgYmVjYXVzZSBvZiBkaWZmZXJlbnRseSBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3NldF9jYXBzKSwKCSAgKGdzdF9xdWFya3R2X2dldF91bml0X3NpemUpLCAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9xdWFya3R2X3BsYW5ldGFibGVfY2xlYXIpLCAoZ3N0X3F1YXJrdHZfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdWFya3R2X2Jhc2VfaW5pdCksIChnc3RfcXVhcmt0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9xdWFya3R2X2luaXQpOiBGbHVzaCB0aGUgcGxhbmVzIGxpc3Qgb24gcmV2ZXJzZSBjYXBzCgkgIG5lZ290aWF0aW9uLiBUaGlzIHdhcyBjcmFzaGluZyBiZWNhdXNlIG9mIGRpZmZlcmVudGx5IHNpemVkCgkgIGJ1ZmZlcnMuCgoyMDA1LTExLTI0IDEyOjUwOjI4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC86IEhhbmRsZSBzdHJpZGVzIGNvcnJlY3RseSwgZml4IGlkZW50aXR5IGZsaXBwaW5nLCBjb252ZXJ0IG5hdmlnYXRpb24gZXZlbnQgY29ycmVjdGx5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZHJhd19ib3hfcGxhbmFyNDExKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIChnc3RfdmlkZW9mbGlwX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9mbGlwX3NldF9jYXBzKSwgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvZmxpcF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb2ZsaXBfZmxpcCksCgkgIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybSksIChnc3RfdmlkZW9mbGlwX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3ZpZGVvZmxpcF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvZmxpcF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvZmxpcF9jbGFzc19pbml0KSwgKGdzdF92aWRlb2ZsaXBfaW5pdCk6IEhhbmRsZSBzdHJpZGVzCgkgIGNvcnJlY3RseSwgZml4IGlkZW50aXR5IGZsaXBwaW5nLCBjb252ZXJ0IG5hdmlnYXRpb24gZXZlbnQKCSAgY29ycmVjdGx5IGFnYWluLgoKMjAwNS0xMS0yNCAxMToxNjo1MyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogUkVBRE1FOgoJICBGaXggIzMyMDI4ODogd3JvbmcgcmVhZG1lIGluIHBsdWdpbnMtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ICMzMjAyODg6IHdyb25nIHJlYWRtZSBpbiBwbHVnaW5zLWdvb2QKCjIwMDUtMTEtMjQgMTE6MDY6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGZpeCB0b3J0dXJlIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHRvcnR1cmUgdGFyZ2V0CgoyMDA1LTExLTIzIDIxOjI1OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCjIwMDUtMTEtMjMgMjA6MDU6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNiA9PT0KCjIwMDUtMTEtMjMgMTk6NTc6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZWxlYXNpbmcgMC45LjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNgoKMjAwNS0xMS0yMyAxOTo1NjozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS42CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjYKCjIwMDUtMTEtMjMgMTk6MTQ6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgIGFkZGluZyBjdXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBjdXR0ZXIKCjIwMDUtMTEtMjMgMTk6MDU6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTExLTIzIDE2OjQ5OjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiBPb3BzLCBpbml0aWFsaXNlIHRoZSBmcmFtZXJhdGUgR1ZhbHVlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZ3N0X25hdmlnYXRpb250ZXN0X2luaXQpOgoJICBPb3BzLCBpbml0aWFsaXNlIHRoZSBmcmFtZXJhdGUgR1ZhbHVlCgoyMDA1LTExLTIzIDE1OjUwOjUxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFZpZGVvRmlsdGVyIGluaGVyaXRzIGZyb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKGdzdF90aW1lb3ZlcmxheV91cGRhdGVfZm9udF9oZWlnaHQpLAoJICAoZ3N0X3RpbWVvdmVybGF5X3NldF9jYXBzKSwgKGdzdF90aW1lb3ZlcmxheV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF90aW1lb3ZlcmxheV90cmFuc2Zvcm0pLCAoZ3N0X3RpbWVvdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGltZW92ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfdGltZW92ZXJsYXlfaW5pdCksCgkgIChnc3RfdGltZW92ZXJsYXlfZ2V0X3R5cGUpOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9zZXRfY2FwcyksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfdHJhbnNmb3JtKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2Jhc2VfaW5pdCksIChnc3RfbmF2aWdhdGlvbnRlc3RfY2xhc3NfaW5pdCksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfaW5pdCksIChnc3RfbmF2aWdhdGlvbnRlc3RfZ2V0X3R5cGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6IChnc3RfYWdpbmd0dl9zZXRfY2FwcyksCgkgIChnc3RfYWdpbmd0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9hZ2luZ3R2X3RyYW5zZm9ybSksCgkgIChnc3RfYWdpbmd0dl9iYXNlX2luaXQpLCAoZ3N0X2FnaW5ndHZfY2xhc3NfaW5pdCksCgkgIChnc3RfYWdpbmd0dl9pbml0KSwgKGdzdF9hZ2luZ3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6IChnc3RfZGljZXR2X3NldF9jYXBzKSwKCSAgKGdzdF9kaWNldHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfZGljZXR2X3RyYW5zZm9ybSksCgkgIChnc3RfZGljZXR2X2Jhc2VfaW5pdCksIChnc3RfZGljZXR2X2NsYXNzX2luaXQpLAoJICAoZ3N0X2RpY2V0dl9pbml0KSwKCSAgKGdzdF9kaWNldHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzogKGdzdF9lZGdldHZfc2V0X2NhcHMpLAoJICAoZ3N0X2VkZ2V0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9lZGdldHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9lZGdldHZfYmFzZV9pbml0KSwgKGdzdF9lZGdldHZfY2xhc3NfaW5pdCksCgkgIChnc3RfZWRnZXR2X2luaXQpLAoJICAoZ3N0X2VkZ2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3F1YXJrdHZfZ2V0X3VuaXRfc2l6ZSksIChmYXN0cmFuZCksCgkgIChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3F1YXJrdHZfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdWFya3R2X2Jhc2VfaW5pdCksCgkgIChnc3RfcXVhcmt0dl9jbGFzc19pbml0KSwgKGdzdF9xdWFya3R2X2luaXQpLAoJICAoZ3N0X3F1YXJrdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOiAoZ3N0X3JldnR2X3NldF9jYXBzKSwKCSAgKGdzdF9yZXZ0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9yZXZ0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3JldnR2X2Jhc2VfaW5pdCksIChnc3RfcmV2dHZfY2xhc3NfaW5pdCksIChnc3RfcmV2dHZfaW5pdCksCgkgIChnc3RfcmV2dHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzogKGdzdF9zaGFnYWRlbGljdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3NoYWdhZGVsaWN0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9zaGFnYWRlbGljdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9zaGFnYWRlbGljdHZfYmFzZV9pbml0KSwgKGdzdF9zaGFnYWRlbGljdHZfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2hhZ2FkZWxpY3R2X2luaXQpLCAoZ3N0X3NoYWdhZGVsaWN0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOiAoZ3N0X3ZlcnRpZ290dl9zZXRfY2FwcyksCgkgIChnc3RfdmVydGlnb3R2X2dldF91bml0X3NpemUpLCAoZ3N0X3ZlcnRpZ290dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZlcnRpZ290dl9iYXNlX2luaXQpLCAoZ3N0X3ZlcnRpZ290dl9jbGFzc19pbml0KSwKCSAgKGdzdF92ZXJ0aWdvdHZfaW5pdCksIChnc3RfdmVydGlnb3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6IChnc3Rfd2FycHR2X3NldF9jYXBzKSwKCSAgKGdzdF93YXJwdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3Rfd2FycHR2X3RyYW5zZm9ybSksCgkgIChnc3Rfd2FycHR2X2Jhc2VfaW5pdCksIChnc3Rfd2FycHR2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhcnB0dl9pbml0KSwKCSAgKGdzdF93YXJwdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5jOiAoZ3N0X3ZpZGVvZmlsdGVyX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb2ZpbHRlcl9jbGFzc19pbml0KSwgKGdzdF92aWRlb2ZpbHRlcl9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9mbGlwX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvZmxpcF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb2ZsaXBfZmxpcCksIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybSksCgkgIChnc3RfdmlkZW9mbGlwX2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X3ZpZGVvZmxpcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvZmxpcF9iYXNlX2luaXQpLCAoZ3N0X3ZpZGVvZmxpcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb2ZsaXBfaW5pdCksIChwbHVnaW5faW5pdCksIChnc3RfdmlkZW9mbGlwX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6IFZpZGVvRmlsdGVyIGluaGVyaXRzIGZyb20KCSAgQmFzZVRyYW5zZm9ybSwgaXQncyBqdXN0IGEgcGxhY2UgaG9sZGVyIGZvciBub3cgYW5kIGV2ZXJ5IHZpZGVvCgkgIGVmZmVjdCBwbHVnaW4gaGFzIGJlZW4gcG9ydGVkIHRvIHVzZSBCYXNlVHJhbnNmb3JtIGZlYXR1cmVzCgkgIGRpcmVjdGx5LiBRdWFya1RWIHdhcyBmaXhlZCB0b28gKHdhcyBicm9rZW4pLCBuYXZpZ2F0aW9udGVzdAoJICB3b3JrcwoJICBhbmQgYmVzdCBmb3IgdGhlIGVuZCwgdmlkZW9mbGlwIGNvbnZlcnRzIG5hdmlnYXRpb24gZXZlbnRzCgkgIGRlcGVuZGluZwoJICBvbiBmbGlwIG1ldGhvZCAhIEZpeGVzICMzMjA5NTMKCjIwMDUtMTEtMjMgMTQ6MjI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4ZXMgZm9yIEFQSSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfZml4YXRlKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9pbml0KSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4ZXMgZm9yIEFQSSBjaGFuZ2VzCgoyMDA1LTExLTIzIDEyOjE5OjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBjdXR0ZXIgdG8gc3BlYyBpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGN1dHRlciB0byBzcGVjIGluCgoyMDA1LTExLTIzIDExOjU3OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoKMjAwNS0xMS0yMiAyMzo1ODoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2pwZWcvOiBKUEVHIGZyYWN0aW9ueSBnb29kbmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX3NldGNhcHMpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKSwgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19zZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19yZXN5bmMpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgIEpQRUcgZnJhY3Rpb255IGdvb2RuZXNzLgoKMjAwNS0xMS0yMiAyMjozNTo1NyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tL2dyYXBoaWMuaDoKCSAgRml4IGZvciAjMzIxNDMwOiB1bnJlc29sdmVkIHN5bWJvbHMgZHVlIHRvIGluY29ycmVjdCBsaW5rYWdlIG9uIGlubGluZSBmdW5jdGlvbnMgaW4gZ29vbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBmb3IgIzMyMTQzMDogdW5yZXNvbHZlZCBzeW1ib2xzIGR1ZSB0byBpbmNvcnJlY3QgbGlua2FnZSBvbiBpbmxpbmUgZnVuY3Rpb25zCgkgIGluIGdvb20uCgkgIERvZXMgbm90LCBob3dldmVyLCBmaXggdGhlIGdlbmVyYWwgY3JhY2toZWFkZWRuZXNzIG9mIGdvb20gKGdsb2JhbCB2YXJpYWJsZXMsCgkgIG9oIG15ISk7IHRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIC1iYWQuCgoyMDA1LTExLTIyIDIyOjIxOjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vcmUgZnJhY3Rpb25hbCBmcmFtZXJhdGUgY29udmVyc2lvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKSwgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3NpbmtfbGluayk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfc2V0Y2Fwcyk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2Fwcyk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfaW5pdCksCgkgIChnc3RfYXZpbXV4X3ZpZHNpbmtjb25uZWN0KToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21faW5pdCksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKSwgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgTW9yZSBmcmFjdGlvbmFsIGZyYW1lcmF0ZSBjb252ZXJzaW9ucwoKMjAwNS0xMS0yMiAyMDowNzo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19maXhhdGUpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5jOgoJICAoZ3N0X3ZpZGVvZmlsdGVyX2Zvcm1hdF9nZXRfc3RydWN0dXJlKSwgKGdzdF92aWRlb2ZpbHRlcl9zZXRjYXBzKSwKCSAgKGdzdF92aWRlb2ZpbHRlcl9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuaDoKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMuCgoyMDA1LTExLTIyIDE4OjExOjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGZpeCB1cCBtb3JlIGVudW1zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdXAgbW9yZSBlbnVtcwoKMjAwNS0xMS0yMiAxNzozOToxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMsIHZpZGVvbWl4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKToKCSAgRnJhY3Rpb25hbCBmcmFtZXJhdGVzLCB2aWRlb21peGVyLgoKMjAwNS0xMS0yMiAxNzowOTozNiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2R2LzogRnJhY3Rpb25hbCBmcmFtZXJhdGVzIGZvciBEVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCksIChnc3RfZHZkZWNfc2lua19zZXRjYXBzKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaW5pdCksCgkgIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksIChnc3RfZHZkZW11eF9zaW5rX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfdmlkZW8pLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpLAoJICAoZ3N0X2R2ZGVtdXhfZmx1c2gpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIEZyYWN0aW9uYWwgZnJhbWVyYXRlcyBmb3IgRFYuCgoyMDA1LTExLTIyIDE0OjQ0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBVc2UgZ3N0X3BsdWdpbl9mZWF0dXJlX2xpc3RfZnJlZSgpIHRvIGZyZWUgZmVhdHVyZSBsaXN0IGFuZCBpbiB0aGUgY2FzZSBvZiBhdXRvdmlkZW9zaW5rIGZyZWUgdGhlIGxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgIFVzZSBnc3RfcGx1Z2luX2ZlYXR1cmVfbGlzdF9mcmVlKCkgdG8gZnJlZSBmZWF0dXJlIGxpc3QgYW5kCgkgIGluIHRoZSBjYXNlIG9mIGF1dG92aWRlb3NpbmsgZnJlZSB0aGUgbGlzdCBhdCBhbGwuIEFsc28KCSAgbWlzY2VsbGFuZW91cyBjb3NtZXRpYyBmaXhlcy4KCjIwMDUtMTEtMjIgMTM6MTM6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogY29weSBjYWxjdWxhdGlvbiBjb2RlIGZyb20gbGV2ZWw7IHJlbW92ZSB1c2Ugb2Ygc29tZSBhdWRpbyBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2hhaW4pLAoJICAoZ3N0X2N1dHRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2N1dHRlcl9nZXRfY2Fwcyk6CgkgIGNvcHkgY2FsY3VsYXRpb24gY29kZSBmcm9tIGxldmVsOyByZW1vdmUgdXNlIG9mIHNvbWUgYXVkaW8KCSAgZnVuY3Rpb25zCgoyMDA1LTExLTIyIDEzOjExOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgoyMDA1LTExLTIyIDEyOjQ4OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgoyMDA1LTExLTIyIDEyOjQxOjM1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIGNvc21ldGljIGZpeGVzCgoyMDA1LTExLTIyIDEyOjM4OjMzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgVXBkYXRlIGZvciBnc3RfdGFnX3NldHRlciBBUEkgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogVXBkYXRlIGZvciBnc3RfdGFnX3NldHRlciBBUEkgY2hhbmdlcy4KCjIwMDUtMTEtMjIgMTE6NTc6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpCgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKQoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jIChzcGVlZF9zaW5rX2V2ZW50KQoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYyAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6IFJ1biB1cGRhdGUtZnVuY25hbWVzLgoKMjAwNS0xMS0yMiAxMTo1MzozNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSkgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY193cml0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KQoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY193cml0ZSkKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmMgKGdzdF9mbGFjZW5jX3NlZWtfY2FsbGJhY2spCgkgIChnc3RfZmxhY2VuY19zaW5rX2V2ZW50KQoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jIChnc3RfZ2NvbmZfYXVkaW9fc2lua19pbml0KQoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jIChnc3RfZ2NvbmZfdmlkZW9fc2lua19pbml0KQoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmMgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCkKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYyAoc3BlZXhfZGVjX2V2ZW50LCBzcGVleF9kZWNfY2hhaW4pCgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jIChnc3RfYXVwYXJzZV9jaGFpbikKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmMgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCkKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmMgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCkKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmMgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcikKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspCgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jIChnc3RfZ29vbV9ldmVudCkKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jIChnc3RfZWJtbF93cml0ZV9zZWVrKQoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpCgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYyAoZ3N0X3dhdmVuY19zdG9wX2ZpbGUpCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmMgKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlaykKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6IFJ1biB1cGRhdGUtZnVuY25hbWVzLgoKMjAwNS0xMS0yMiAxMTo0OTozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFVSSUhhbmRsZXIgaW50ZXJmYWNlIGFuZCBlbGVtZW50IHByb3BlcnRpZXMgYXJlIG5vdyBwcm9wZXJseSBzeW5jaHJvbml6ZWQgZm9yIERWMTM5NHNyYyBhbmQgVURQU3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9kdjEzOTRzcmNfaW5pdCksIChnc3RfZHYxMzk0c3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2R2MTM5NHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSksCgkgIChnc3RfZHYxMzk0c3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfdXBkYXRlX3VyaSksIChnc3RfdWRwc3JjX3NldF91cmkpLAoJICAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY191cmlfZ2V0X3VyaSk6CgkgIFVSSUhhbmRsZXIgaW50ZXJmYWNlIGFuZCBlbGVtZW50IHByb3BlcnRpZXMgYXJlIG5vdyBwcm9wZXJseQoJICBzeW5jaHJvbml6ZWQgZm9yIERWMTM5NHNyYyBhbmQgVURQU3JjCgoyMDA1LTExLTIyIDExOjM2OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogbGliZ3N0dGFnZWRpdCBoYXMgYmVlbiByZW5hbWVkIHRvIGxpYmdzdHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICBsaWJnc3R0YWdlZGl0IGhhcyBiZWVuIHJlbmFtZWQgdG8gbGliZ3N0dGFnLgoKMjAwNS0xMS0yMSAyMDoxMTo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEFwcGx5IHBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gZml4ICMzMTkxODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChyZWFkX2JvZHkpOgoJICBBcHBseSBwYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlIHRvIGZpeCAjMzE5MTg0LgoKMjAwNS0xMS0yMSAxOTo1MDoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwb3J0IGN1dHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9jdXR0ZXJfaW5pdCksIChnc3RfY3V0dGVyX21lc3NhZ2VfbmV3KSwgKGdzdF9jdXR0ZXJfY2hhaW4pLAoJICAoZ3N0X2N1dHRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2N1dHRlcl9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpLCAoZ3N0X2N1dHRlcl9nZXRfY2Fwcyk6CgkgIHBvcnQgY3V0dGVyCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGZpeCB1cCBwbHVnaW4gZGV0YWlscwoKMjAwNS0xMS0yMSAxODowOTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZyBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNkZWNfc3JjX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY19zaW5rX2V2ZW50KToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19ldmVudF9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfc2lua19ldmVudF9oYW5kbGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspOgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cKCSAgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0NLCgkgIHRvIEdTVF9QQURfU1RSRUFNX0xPQ0suIERvbid0IGxlYWsgcmVmZXJlbmNlcyBpbiBmbHhkZWMgZXZlbnQKCSAgZnVuY3Rpb25zLgoKMjAwNS0xMS0yMSAxNzo1MjoxNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgRm9yZ290IHRvIGNvbW1pdCBoZWFkZXIgZmlsZSBjaGFuZ2VzLCBNYWtlZmlsZS5hbSBjaGFuZ2VzLiBPb3BzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRm9yZ290IHRvIGNvbW1pdCBoZWFkZXIgZmlsZSBjaGFuZ2VzLCBNYWtlZmlsZS5hbSBjaGFuZ2VzLiBPb3BzLgoKMjAwNS0xMS0yMSAxNzo0OToyMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGdzdF9vYmplY3RfdW5yZWYsIG5vdCBnX29iamVjdF91bnJlZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ3N0X29iamVjdF91bnJlZiwgbm90IGdfb2JqZWN0X3VucmVmCgoyMDA1LTExLTIxIDE3OjM3OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCk6CgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCjIwMDUtMTEtMjEgMTc6MjM6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhZGQgZGVidWcgbWVzc2FnZSBpbiBwYWQgYWN0aXZhdGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpOgoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFkZCBkZWJ1ZyBtZXNzYWdlIGluIHBhZCBhY3RpdmF0ZSBmdW5jdGlvbi4KCjIwMDUtMTEtMjEgMTc6MTg6MDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdXBhcnNlLzogUGFydGlhbGx5IGZpeCAjMTYxNzEyLiBwbGF5YmluIHN0aWxsIGRvZXNuJ3Qgd29yayBvbiB0aGVzZSBmaWxlcywgKG9uIHRoZSBidWcgcmVwb3J0LCBBbmR5IHNheXMgd2UgYXJlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdXBhcnNlX2luaXQpLCAoZ3N0X2F1cGFyc2VfZGlzcG9zZSksIChnc3RfYXVwYXJzZV9jaGFpbiksCgkgIChnc3RfYXVwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgUGFydGlhbGx5IGZpeCAjMTYxNzEyLiBwbGF5YmluIHN0aWxsIGRvZXNuJ3Qgd29yayBvbiB0aGVzZSBmaWxlcywKCSAgKG9uIHRoZSBidWcgcmVwb3J0LCBBbmR5IHNheXMgd2UgYXJlbid0IHR5cGVmaW5kaW5nIGl0IGZvciBzb21lCgkgIHJlYXNvbj8pIGJ1dCBhdCBsZWFzdCBhdXBhcnNlIGlzbid0IHRvdGFsbHkgYnVzdGVkIGxpa2UgaXQgd2FzIGJlZm9yZS4KCjIwMDUtMTEtMjEgMTY6NDU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgRFg1MCwgRElWWCBhbmQgRElWMyBmb3VyY2NzIChwYXRjaCBieQoJICBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCjIwMDUtMTEtMjEgMTY6MzY6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgICouKjogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiAqLmg6CgkgICogKi5jOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgoyMDA1LTExLTIxIDE1OjA2OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpbGxlciBldmVudHMgYXJlIGdvbmUgZm9yIG5vdywgY29tbWVudCBvdXQgc2VjdGlvbiBnZW5lcmF0aW5nIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyk6CgkgIEZpbGxlciBldmVudHMgYXJlIGdvbmUgZm9yIG5vdywgY29tbWVudCBvdXQgc2VjdGlvbiBnZW5lcmF0aW5nCgkgIHRoZW0uCgoyMDA1LTExLTIxIDE0OjM5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfZnJvbV9jYXBzKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF90eXBlX2dldCksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwgKHF0ZGVtdXhfZHVtcF9zdHNkKSwKCSAgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyk6CgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCjIwMDUtMTEtMjEgMTQ6MzM6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICgjMzIyMDI3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19zaW5rX2ZpeGF0ZSk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfZml4YXRlKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maXhhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6CgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKgoJICAoIzMyMjAyNykKCjIwMDUtMTEtMjEgMTQ6MzE6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICgjMzIyMDI3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2ZpeGF0ZSk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2Rfc3JjZml4YXRlKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKgoJICAoIzMyMjAyNykKCjIwMDUtMTEtMjEgMTM6Mzg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXhlcyBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19zZXRjYXBzKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfb2RtbCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6ICh3cml0ZV9tZXRhZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGFyc2VfYWR0bCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgRml4ZXMgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgoyMDA1LTExLTIxIDEyOjEzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGZvciBjb2xsZWN0IHBhZHMgQVBJIGNoYW5nZS4gQWxzbyBmaXggdGV4dG92ZXJsYXkgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfZmluYWxpemUpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfbGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfdW5saW5rZWQpLCAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdmlkZW8pLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCksIChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZm9yIGNvbGxlY3QgcGFkcyBBUEkgY2hhbmdlLiBBbHNvIGZpeCB0ZXh0b3ZlcmxheSBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb24uCgoyMDA1LTExLTIwIDE3OjA0OjU1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogUmVwbGFjZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOiBSZXBsYWNlCgkgIEdTVF9QQURfSVNfVVNBQkxFIGJ5IHNvbWV0aGluZyBhcHByb2FjaGluZyBpdC4KCjIwMDUtMTEtMjAgMTY6NDM6MzIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggZm9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6IEZpeCBmb3IKCSAgQVBJIGNoYW5nZXMuCgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOiBGaXggZm9yIEFQSQoJICBjaGFuZ2VzLAoJICBidXQgYWxzbyBmaXggdGhlIGNvZGUgdGhhdCB3YXMgbm90IGNoZWNraW5nIHJldHVybiB2YWx1ZXMgZnJvbQoJICBwYWRfcHVzaCBuZWl0aGVyIHVzaW5nIHBhZF9hbGxvY19idWZmZXIuCgoyMDA1LTExLTE4IDE4OjE5OjIxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogQWRkZWQgZGVidWcgY2F0ZWdvcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcG5nZW5jX2NoYWluKToKCSAgQWRkZWQgZGVidWcgY2F0ZWdvcnkKCSAgUmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgd2hlbiBzZW5kaW5nIGFuIEVPUywgc28gdGhlIHdob2xlIHBpcGVsaW5lCgkgIGdvZXMgdG8gRU9TLgoKMjAwNS0xMS0xNyAxODoyMzoyMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgQ3JlYXRlZCBTcGVleCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyOyBPcHRpbWl6ZSBHNzExIHBheWxvYWRlciB0byB1c2UgYWRhcHRlciBhbmQgc2VuZCBwYWNrZXRzIHVudGlsIE1UVSBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBTcGVleCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyOyBPcHRpbWl6ZSBHNzExIHBheWxvYWRlciB0byB1c2UgYWRhcHRlciBhbmQgc2VuZCBwYWNrZXRzIHVudGlsIE1UVSBzaXplLgoKMjAwNS0xMS0xNiAxOTowODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IEZpeCBsZWFrIGluIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksIChzZXR1cF9zaW5rX3BhZCk6CgkgIEZpeCBsZWFrIGluIGNoZWNrLgoKMjAwNS0xMS0xNiAxNzowMDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IEZpeCBzdGF0ZSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzdGF0ZSBjaGFuZ2UuCgoyMDA1LTExLTE2IDExOjAyOjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIE1vdmUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfdWRwc3JjX2NyZWF0ZSk6IE1vdmUgY29tbWVudC4KCjIwMDUtMTEtMTYgMTA6NDM6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IENsZWFuIHVwIHdpdGggdGhlIGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0xNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiBDbGVhbiB1cCB3aXRoIHRoZSBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDUtMTEtMTUgMTk6NDE6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogV2hlbiBzZWVraW5nLCBzZWVrIHRvIGNsb3Nlc3QgaW5kZXggZW50cnkgYXQgb3IgYmVmb3JlIHRoZSByZXF1ZXN0ZWQgc2VlayBwb3NpdGlvbiwgbm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKToKCSAgV2hlbiBzZWVraW5nLCBzZWVrIHRvIGNsb3Nlc3QgaW5kZXggZW50cnkgYXQgb3IgYmVmb3JlIHRoZSByZXF1ZXN0ZWQKCSAgc2VlayBwb3NpdGlvbiwgbm90IGp1c3QgdGhlIGNsb3Nlc3Qgb25lICgjMzIxMDAxKS4KCjIwMDUtMTEtMTUgMTI6MTY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEludmVydCBESUIgaW1hZ2VzIGFnYWluIChzZWUgIzEzMjM0MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKHN3YXBfbGluZSksIChnc3RfYXZpX2RlbXV4X2ludmVydCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgSW52ZXJ0IERJQiBpbWFnZXMgYWdhaW4gKHNlZSAjMTMyMzQxKS4KCjIwMDUtMTEtMTQgMDI6MTM6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2R2L2dzdGR2LmM6CgkqIGV4dC9lc2QvZ3N0ZXNkLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L29sZGNvcmUvZ3N0ZWxlbWVudHMuYzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgoyMDA1LTExLTEyIDEzOjMxOjU2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBPbmx5IEdTVF9ERUJVRygpIGluZm9ybWF0aW9uIG9uIHRoZSB2YWxpZCBjb21wb25lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBPbmx5IEdTVF9ERUJVRygpIGluZm9ybWF0aW9uIG9uIHRoZSB2YWxpZCBjb21wb25lbnRzLgoKMjAwNS0xMS0xMSAxOTozNDo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS41ID09PQoKMjAwNS0xMS0xMSAxOTozMzoyMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjUKCjIwMDUtMTEtMTEgMTg6MzM6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTExLTExIDE2OjQ4OjU4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBZZWFoLCBpbXBsZW1lbnQgcHJvcGVyIHNlZWtpbmcuIEV4YWN0IHNlZWtpbmcgYW5kIHNlZ21lbnQgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBZZWFoLCBpbXBsZW1lbnQgcHJvcGVyIHNlZWtpbmcuIEV4YWN0IHNlZWtpbmcgYW5kIHNlZ21lbnQgc2Vla2luZy4KCSAgU3RpbGwgbmVlZCB0byBkbyBzb21lIGNoZWNrcyBmb3Igc2VnbWVudF9zdG9wLgoKMjAwNS0xMS0xMSAxNToxNzo0NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBmaXggQ2Fpcm8gZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBDYWlybyBlbnRyeQoKMjAwNS0xMS0xMCAxMjozNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgoyMDA1LTExLTEwIDEyOjIyOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBEb24ndCB0cnkgdG8gcmVhZHkgYnVmZmVyIGR1cmF0aW9uIGZyb20gYnVmZmVyIHRoYXQgd2UgZG9uJ3Qgb3duIGFueSAgbG9uZ2VyIGFuZCB0aGF0IG1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIERvbid0IHRyeSB0byByZWFkeSBidWZmZXIgZHVyYXRpb24gZnJvbSBidWZmZXIgdGhhdCB3ZSBkb24ndAoJICBvd24gYW55ICBsb25nZXIgYW5kIHRoYXQgbWlnaHQgYWxyZWFkeSBoYXZlIGJlZW4gdW5yZWZmZWQuCgkgICgjMzIxMTM2KQoKMjAwNS0xMS0wOSAyMTozNToyOSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIEF0dGVtcHRpbmcgdG8gb3B0aW1pemUgdGhlIGNvZGUgZm9yIGVtYmVkZGVkIHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBdHRlbXB0aW5nIHRvIG9wdGltaXplIHRoZSBjb2RlIGZvciBlbWJlZGRlZCBzeXN0ZW1zLgoKMjAwNS0xMS0wOCAwODo1NDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBEb24ndCByZS11c2UgYWxyZWFkeSBjbG9zZWQgZmlsZSBkZXNjcmlwdG9yLiAoIzMyMDkyMCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xvc2UpOgoJICBEb24ndCByZS11c2UgYWxyZWFkeSBjbG9zZWQgZmlsZSBkZXNjcmlwdG9yLiAoIzMyMDkyMCkKCjIwMDUtMTEtMDcgMTc6MzU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuKjogQ2FjaGUgcHJvYmVkIGNhcHM7IGZpeCBkZWJ1ZyBvdXRwdXQgZm9yIFNFVF9QQVJBTSBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X29zc19zaW5rX3NldF9wcm9wZXJ0eSksIChnc3Rfb3NzX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkgIENhY2hlIHByb2JlZCBjYXBzOyBmaXggZGVidWcgb3V0cHV0IGZvciBTRVRfUEFSQU0gbWFjcm9zLgoKMjAwNS0xMS0wNyAxNTowOTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jYWlyby86IFBvcnQgY2Fpcm8gdGV4dG92ZXJsYXkgcGx1Z2luIHRvIDAuOS4gQWRkICdzaGFkZWQtYmFja2dyb3VuZCcgcHJvcGVydHkgYW5kIHJlZG8gcG9zaXRpb24uIERvZXNuJ3QgaGFuZGxlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL2dzdGNhaXJvLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X3RleHRfb3ZlcmxheV9maW5hbGl6ZSksCgkgIChnc3RfdGV4dF9vdmVybGF5X2luaXQpLCAoZ3N0X3RleHRfb3ZlcmxheV9mb250X2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3RleHRfb3ZlcmxheV9yZW5kZXJfdGV4dCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2dldGNhcHMpLCAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfbGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfdW5saW5rZWQpLCAoZ3N0X3RleHRfb3ZlcmxheV9zaGFkZV95KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfYmxpdF8xKSwgKGdzdF90ZXh0X292ZXJsYXlfYmxpdF9zdWIyeDIpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wdXNoX2ZyYW1lKSwgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3ZpZGVvKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBQb3J0IGNhaXJvIHRleHRvdmVybGF5IHBsdWdpbiB0byAwLjkuIEFkZCAnc2hhZGVkLWJhY2tncm91bmQnCgkgIHByb3BlcnR5IGFuZCByZWRvIHBvc2l0aW9uLiBEb2Vzbid0IGhhbmRsZSB1cHN0cmVhbSByZW5lZ290aWF0aW9uCgkgIHlldCB0aG91Z2guCgoyMDA1LTExLTA3IDEwOjMxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBObyBuZWVkIHRvIHRha2UgdGhlIFNUUkVBTV9MT0NLIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBJbXByb3ZlIHNvbWUgZGVidWcgbWVzc2FnZXMuIERvbid0IGxlYWsgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTm8gbmVlZCB0byB0YWtlIHRoZSBTVFJFQU1fTE9DSyBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gSW1wcm92ZQoJICBzb21lIGRlYnVnIG1lc3NhZ2VzLiBEb24ndCBsZWFrIHBhZCBuYW1lcyBpbiBkZWJ1ZyBtZXNzYWdlcy4KCjIwMDUtMTEtMDcgMTA6Mjc6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRG9uJ3QgZXJyb3Igb3V0IHdoZW4gdGhlIHNvdXJjZSBwYWQgaXNuJ3QgbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3ZvcmJpc19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlcik6CgkgIERvbid0IGVycm9yIG91dCB3aGVuIHRoZSBzb3VyY2UgcGFkIGlzbid0IGxpbmtlZC4KCjIwMDUtMTEtMDIgMTk6NDI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvOiBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwgYW5kIHNldCBraWQgdG8gTlVMTCBzdGF0ZSBiZWZvcmUgcmVtb3ZpbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGRvX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCBhbmQgc2V0IGtpZAoJICB0byBOVUxMIHN0YXRlIGJlZm9yZSByZW1vdmluZyBpdC4KCjIwMDUtMTEtMDIgMTY6NDg6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBzaWdoLCBzdGF0aWMgcGFkIHRlbXBsYXRlcyBhcmVuJ3QgcmVmY291bnRlZCBwcm9wZXJseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2lnaCwgc3RhdGljIHBhZCB0ZW1wbGF0ZXMgYXJlbid0IHJlZmNvdW50ZWQgcHJvcGVybHkKCjIwMDUtMTEtMDEgMTY6MTQ6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogZ3N0L2xldmVsLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNS0xMS0wMSAxNToxNTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IEFkZGVkIHByb3BlciBldmVudCBoYW5kbGluZCwgbWFkZSBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQgdXNlIEdTVF9GT1JNQVRfQllURVMgKG90aGVyd2lzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19zdG9wX2ZpbGUpLAoJICAoZ3N0X3dhdmVuY19pbml0KSwgKGdzdF93YXZlbmNfZXZlbnQpLCAoZ3N0X3dhdmVuY19jaGFpbik6CgkgIEFkZGVkIHByb3BlciBldmVudCBoYW5kbGluZCwKCSAgbWFkZSBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQgdXNlIEdTVF9GT1JNQVRfQllURVMgKG90aGVyd2lzZSBpdCdzCgkgIGlnbm9yZWQpLAoJICBhbmQgZG9uJ3Qgc2V0IGEgZHVyYXRpb24gb2YgMCBmb3IgYnVmZmVycyBvdGhlcndpc2UgdGhleSBhcmUgZGlzY2FyZGVkCgkgIGJ5IEdzdEJhc2VTaW5rLgoJICBHc3RXYXZFbmMgbmVlZHMgc29tZSBzZXJpb3VzIGxvdmluZywgYWZ0ZXIgZ29pbmcgdGhyb3VnaCB0aGUgY29kZSBJJ20KCSAgcmVhbGx5IHdvbmRlcmluZyBob3cgdGhpcyBjYW4gc3RheSBpbiAtZ29vZCAuLi4KCjIwMDUtMTEtMDEgMTU6MTE6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgRml4IGxlYWtzIGFuZCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgYXMgcmVwb3J0ZWQgYnkgdmFsZ3JpbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLCAoc2V0dXBfc2lua19wYWQpLAoJICAoc2V0dXBfbWF0cm9za2FtdXgpLCAoY2hlY2tfYnVmZmVyX2RhdGEpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfZmluYWxpemUpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLCAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgRml4IGxlYWtzIGFuZCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgYXMgcmVwb3J0ZWQgYnkgdmFsZ3JpbmQKCjIwMDUtMTEtMDEgMTQ6NDE6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgLi4uIGFuZCBhZGQgdGhlIG1pc3NpbmcgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgLi4uIGFuZCBhZGQgdGhlIG1pc3NpbmcgZmlsZQoKMjAwNS0xMS0wMSAxNDozNjowMiArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgoJICBhZGQgYSB1bml0IHRlc3QgZm9yIG1hdHJvc2thbXV4IGZpeCB0aGUgYnVncyB0aGF0IHRoZSB1bml0IHRlc3QgZXhwb3NlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9zZWVrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgYWRkIGEgdW5pdCB0ZXN0IGZvciBtYXRyb3NrYW11eAoJICBmaXggdGhlIGJ1Z3MgdGhhdCB0aGUgdW5pdCB0ZXN0IGV4cG9zZWQKCjIwMDUtMTEtMDEgMTQ6MzQ6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgZml4IE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggTWFrZWZpbGUuYW0KCjIwMDUtMTEtMDEgMTI6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBpbiBjbGFzc19pbml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBpbgoJICBjbGFzc19pbml0LgoKMjAwNS0xMS0wMSAxMjozNTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFNldCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGVibWwgaGVhZGVycyBhcyB3ZWxsLCBzbyB0aGF0IHRoZSBlbGVtZW50IGFmdGVyIG1hdHJvc2thbXV4IGNhbiBnZXQgdGhlIHRpbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfbmV3KSwKCSAgKGdzdF9lYm1sX3dyaXRlX3Jlc2V0KSwgKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfbmV3KToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIFNldCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGVibWwgaGVhZGVycyBhcyB3ZWxsLCBzbyB0aGF0IHRoZQoJICBlbGVtZW50IGFmdGVyIG1hdHJvc2thbXV4IGNhbiBnZXQgdGhlIHRpbWVzdGFtcCBhbHJlYWR5IHdoZW4KCSAgcmVhZGluZyB0aGUgZmlyc3QgZWJtbCBlbGVtZW50IGFuZCBkb2Vzbid0IGhhdmUgdG8gd2FpdCBmb3IKCSAgdGhlIGFjdHVhbCBkYXRhIGJ1ZmZlciBmb3IgdGhhdCAoIzMyMDMwOCkuCgoyMDA1LTEwLTMxIDIyOjA4OjUyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jIChnc3RfdmlkZW9taXhlcl9wYWRfdW5saW5rKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0zMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmMgKGdzdF92aWRlb21peGVyX3BhZF91bmxpbmspCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfbGluayk6IEtpbGwgc29tZSBtZW1sZWFrcy4KCSAgKGdzdF92aWRlb21peGVyX3BhZF9nZXRfcHJvcGVydHkpOiBTdHlsZSBmaXguCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2V0X3Byb3BlcnR5KTogU3R5bGUgZml4LgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2luaXQpOiBTdHlsZSBmaXguCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKTogS2lsbCBtZW1sZWFrLgoJICAoZ3N0X3ZpZGVvbWl4ZXJfbG9vcCk6IEtpbGwgbWVtbGVhay4KCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6IEtpbGwgbWVtbGVhay4KCjIwMDUtMTAtMzEgMTk6MDg6MjcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBKdXN0IHNvbWUgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3Qgc29tZSBjbGVhbnVwLgoKMjAwNS0xMC0zMSAxNDo0MTozMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgQWRkIGNoZWNrcyB0byBHU1RfRkxPV19OT1RfTElOS0VEIGZvciB2YWx1ZXMgcmV0dXJuZWQgZnJvbSBnc3RfcGFkX3B1c2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgY2hlY2tzIHRvIEdTVF9GTE9XX05PVF9MSU5LRUQgZm9yIHZhbHVlcyByZXR1cm5lZCBmcm9tIGdzdF9wYWRfcHVzaC4KCjIwMDUtMTAtMzEgMTI6MDA6MTAgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgUGF5bG9hZGVyIG5vdyBzZXRzIHNvbWUgZGVmYXVsdCBjYXBzIG9uIHRoZSBzcmNwYWQgaWYgY2FwcyBvbiB0aGUgc2lua3BhZCBhcmUgbmV2ZXIgc2V0LiBUaGlzIGlzIGltcG9ydGFudCBmb3IgdGhlIGc3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXlsb2FkZXIgbm93IHNldHMgc29tZSBkZWZhdWx0IGNhcHMgb24gdGhlIHNyY3BhZCBpZiBjYXBzIG9uIHRoZSBzaW5rcGFkIGFyZSBuZXZlciBzZXQuIFRoaXMgaXMgaW1wb3J0YW50IGZvciB0aGUgZzcxMSB0byB3b3JrIHdpdGggYnVyZ2VyJ3MgcnRwYmluIGVsZW1lbnQuCgoyMDA1LTEwLTI4IDE5OjE5OjQwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIEFkZCBjaGVja3MgZm9yIHJldHVybiB2YWx1ZXMgZnJvbSBnc3RfcGFkX3B1c2ggYW5kIGdzdF9wYWRfYWxsb2NfYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGNoZWNrcyBmb3IgcmV0dXJuIHZhbHVlcyBmcm9tIGdzdF9wYWRfcHVzaCBhbmQgZ3N0X3BhZF9hbGxvY19idWZmZXIuCgoyMDA1LTEwLTI4IDE1OjMyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIFNpbXBsZUJsb2NrIHN1cHBvcnQgdG8gbWF0cm9za2EgZGVtdXhlciBhbmQgbXV4ZXIgKHBhcnQgb2YKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9pbml0KSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfYnVmZmVyX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLCAoZ3N0X21hdHJvc2thX211eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X21hdHJvc2thX211eF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIFNpbXBsZUJsb2NrIHN1cHBvcnQgdG8gbWF0cm9za2EgZGVtdXhlciBhbmQgbXV4ZXIgKHBhcnQgb2YKCSAgTWF0cm9za2EgdjIpLiAoIzMxOTczMSkKCjIwMDUtMTAtMjggMTM6MjQ6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IENsZWFudXBzLiBEb24ndCBjcmVhdGUgY2FwcyBmb3IgZXZlcnkgY2hhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19pbml0KSwgKGdzdF9qcGVnX2RlY19jaGFpbiksCgkgIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIENsZWFudXBzLiBEb24ndCBjcmVhdGUgY2FwcyBmb3IgZXZlcnkgY2hhaW4uCgoyMDA1LTEwLTI3IDE4OjQ2OjMyICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgIEZpeCB0byBzZXQgdGltZXN0YW1wIG9uIGJ1ZmZlciwgaXQgd2FzIHRlc3RlZCB3aXRoIFJUUCBHNzExIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRvIHNldCB0aW1lc3RhbXAgb24gYnVmZmVyLCBpdCB3YXMgdGVzdGVkIHdpdGggUlRQIEc3MTEgZWxlbWVudHMuCgoyMDA1LTEwLTI3IDExOjI3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOiBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoKMjAwNS0xMC0yNyAxMToyNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlCgkgIG9uIHRoZSBidXMgaW5zdGVhZC4KCjIwMDUtMTAtMjcgMTE6MDA6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc3NyYy5jOiBTZXQgY29ycmVjdCBmb3JtYXQgb24gb3NzIGluc3RlYWQgb2YgYSBzaWxseSB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3ByZXBhcmUpOgoJICBTZXQgY29ycmVjdCBmb3JtYXQgb24gb3NzIGluc3RlYWQgb2YgYSBzaWxseSB2YWx1ZS4KCjIwMDUtMTAtMjcgMDk6NTI6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFVzZSBsaWJvaWwgZm9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fYm94X2NvcHlfcGxhbmVfaTQyMCksCgkgIChnc3RfdmlkZW9fYm94X2k0MjApLCAoZ3N0X3ZpZGVvX2JveF9heXV2KTogVXNlIGxpYm9pbCBmb3IKCSAgSTQyMCByZW5kZXJpbmcgYXMgd2VsbCwgZG9lc24ndCBicmluZyBtdWNoIGZvciBteSBwbGF0Zm9ybS4KCSAgTWlnaHQgaGVscCBvbiBzb21lIG90aGVyIHBsYXRmb3Jtcy4KCjIwMDUtMTAtMjYgMjE6NDc6MzYgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgRGVjbGFyaW5nIHRoZSBwYWR0ZW1wbGF0ZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBEZWNsYXJpbmcgdGhlIHBhZHRlbXBsYXRlIGNvcnJlY3RseS4KCjIwMDUtMTAtMjYgMjA6Mjg6MzIgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgU2V0dGluZyB0aGUgcHJvcGVyIGNvcHlyaWdodCBub3RpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXR0aW5nIHRoZSBwcm9wZXIgY29weXJpZ2h0IG5vdGljZS4KCjIwMDUtMTAtMjYgMTc6MjM6MDYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOiBVc2UgbGlib2lsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbTogVXNlIGxpYm9pbC4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfc2V0X2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dik6IExvdCBvZiBvcHRpbWl6YXRpb24gaW4gQVlVViByZW5kZXJpbmcKCSAgdXNpbmcgbGlib2lsLiBXaWxsIGRvdCB0aGUgc2FtZSB0byBJNDIwIGJvcmRlciBnZW5lcmF0aW9uCgkgIHRvbW9ycm93LgoKMjAwNS0xMC0yNiAxNjozNjowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBmaXggYXV0b21ha2Ugd2FybmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBhdXRvbWFrZSB3YXJuaW5ncwoKMjAwNS0xMC0yNiAxNDo1MDo1OSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIEhhY2tlZCB0aGUgRzcxMSAoZGUpcGF5bG9hZGVyIHRvIHRyeSB0byBtYWtlIHRoaW5ncyByaWdodC4gcnRwZzcxMWRlYyBub3cgaW5oZXJpdHMgZnJvbSB0aGUgYmFzZXJ0cGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSGFja2VkIHRoZSBHNzExIChkZSlwYXlsb2FkZXIgdG8gdHJ5IHRvIG1ha2UgdGhpbmdzIHJpZ2h0LiBydHBnNzExZGVjIG5vdyBpbmhlcml0cyBmcm9tIHRoZSBiYXNlcnRwZGVwYXlsb2FkZXIuCgoyMDA1LTEwLTI2IDE0OjIzOjQ1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBSZW1vdmluZyB0aGlzIGZvcmdvdHRlbiBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXYpOiBSZW1vdmluZyB0aGlzIGZvcmdvdHRlbiBkZWJ1Zy4KCjIwMDUtMTAtMjYgMTQ6MDg6NDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCB0aGUgc3RyaWRlIGlzc3VlIHdoZW4gYm94aW5nIHRvIEFZVVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvX2JveF9heXV2KTogRml4IHRoZSBzdHJpZGUgaXNzdWUgd2hlbiBib3hpbmcgdG8gQVlVVi4KCjIwMDUtMTAtMjYgMTE6MTI6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogQWN0dWFsbHkgdXNlIHRoZSAnb3NzJyBkZWJ1ZyBjYXRlZ29yeSB3ZSByZWdpc3Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBBY3R1YWxseSB1c2UgdGhlICdvc3MnIGRlYnVnIGNhdGVnb3J5IHdlIHJlZ2lzdGVyLgoKMjAwNS0xMC0yNiAxMDozODoxOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFVzZSBnc3RfcGFkX2dldF9wYXJlbnQgYW5kIGRyb3AgdGhlIHJlZiB0aGF0IHdhcyBhZGRlZCB0aHJvdWdoIHRoYXQgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2Fwcyk6CgkgIFVzZSBnc3RfcGFkX2dldF9wYXJlbnQgYW5kIGRyb3AgdGhlIHJlZiB0aGF0IHdhcyBhZGRlZCB0aHJvdWdoCgkgIHRoYXQgY2FsbC4KCjIwMDUtMTAtMjYgMTA6MDM6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBmaXggY29tcGlsYXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBjb21waWxhdGlvbgoKMjAwNS0xMC0yNSAyMTowOTozNiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICBKdXN0IHJlbW92ZWQgYSBjb3VwbGUgb2YgbGluZXMgb2Ygd2VpcmQgY29kZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC90ZXN0IHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHJlbW92ZWQgYSBjb3VwbGUgb2YgbGluZXMgb2Ygd2VpcmQgY29kZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC90ZXN0IHRpbWUuCgoyMDA1LTEwLTI1IDE5OjE5OjM4ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuaDoKCSAgRzcxMSBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyIGNyZWF0ZWQgYnkgRWRnYXJkIExpbWEgKGl0IHN1cHBvcnRzIG11bGF3IGFuZCBhbGF3IChkZWMpZW5jb2RlcnMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHNzExIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIgY3JlYXRlZCBieSBFZGdhcmQgTGltYSAoaXQgc3VwcG9ydHMKCSAgbXVsYXcgYW5kIGFsYXcgKGRlYyllbmNvZGVycykKCjIwMDUtMTAtMjUgMTc6NTU6MTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IERvaCAhIEkgaW50cm9kdWNlZCB3aW5nbydzIGJ1ZyBhZ2FpbiAhIFNvcnJ5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOgoJICBEb2ggISBJIGludHJvZHVjZWQgd2luZ28ncyBidWcgYWdhaW4gISBTb3JyeS4uLgoKMjAwNS0xMC0yNSAxNjowMjozOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoKMjAwNS0xMC0yNSAxNTowNzowMiArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSAgR2V0dGluZyB0aGUgR1NNIChkZSlwYXlsb2FkZXIgd29ya2luZyBhbmQgY29tcGF0aWJsZSB3aXRoIG91ciBwbGFucyBmb3IgUlRQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR2V0dGluZyB0aGUgR1NNIChkZSlwYXlsb2FkZXIgd29ya2luZyBhbmQgY29tcGF0aWJsZSB3aXRoIG91ciBwbGFucyBmb3IgUlRQLgoKMjAwNS0xMC0yNSAxMzowMzowNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSAgZml4IG1pc3Rha2VuIGNsYWltIG9uIEdQTCwgaXRzIExHUEwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBtaXN0YWtlbiBjbGFpbSBvbiBHUEwsIGl0cyBMR1BMCgoyMDA1LTEwLTI1IDEwOjQ3OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFB1c2ggYSBuZXdzZWdtZW50IGV2ZW50LCBtb3ZlIHNvbWUgcmVkdW5kYW50IGNvZGUgaW4gYSBzaW5nbGUgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY190YXNrKTogUHVzaAoJICBhIG5ld3NlZ21lbnQgZXZlbnQsIG1vdmUgc29tZSByZWR1bmRhbnQgY29kZSBpbiBhIHNpbmdsZSBwbGFjZS4KCjIwMDUtMTAtMjUgMTA6MjM6MjYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogVGVtcG9yYXJ5IGhhY2sgdG8gZ2V0IGNvcnJlY3QgY29sb3JzIG9yZGVyIHdoZW4gd2UgaGF2ZSBhIHBuZyBpbWFnZSB3aXRoIGFscGhhIGNoYW5uZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY190YXNrKTogVGVtcG9yYXJ5CgkgIGhhY2sgdG8gZ2V0IGNvcnJlY3QgY29sb3JzIG9yZGVyIHdoZW4gd2UgaGF2ZSBhIHBuZyBpbWFnZSB3aXRoCgkgIGFscGhhIGNoYW5uZWwuCgoyMDA1LTEwLTI0IDE3OjI5OjAyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMgd2hlbiB0aGVyZSB3aWxsIGJlIG5vIG1vcmUgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2FkZF9wYWRzKToKCSAgQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMgd2hlbiB0aGVyZSB3aWxsIGJlIG5vIG1vcmUgcGFkcy4KCjIwMDUtMTAtMjQgMTY6Mzk6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgdHdvIG5ldyBwYXlsb2FkZXJzLCBhbiBSRkMgMjE5MCBwYXlsb2FkZXIgZm9yIGgyNjMgYW5kIGEgcGF5bG9hZCBjb252ZXJ0b3IgZm9yIGFuIGFzdGVyaXNrIHNlcnZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19nZXRfdHlwZSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2Jhc2VfaW5pdCksIChnc3RfYXN0ZXJpc2toMjYzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19pbml0KSwgKGdzdF9hc3Rlcmlza2gyNjNfZmluYWxpemUpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19jaGFpbiksIChnc3RfYXN0ZXJpc2toMjYzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2dldF9wcm9wZXJ0eSksIChnc3RfYXN0ZXJpc2toMjYzX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmM6IChnc3RfcnRwaDI2M2VuY19nZXRfdHlwZSksCgkgIChnc3RfcnRwaDI2M2VuY19iYXNlX2luaXQpLCAoZ3N0X3J0cGgyNjNlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwaDI2M2VuY19pbml0KSwgKGdzdF9ydHBoMjYzZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBoMjYzZW5jX3NldGNhcHMpLCAoZ3N0X3J0cGgyNjNlbmNfZ29iZmluZXIpLAoJICAoZ3N0X3J0cGgyNjNlbmNfZmx1c2gpLCAoZ3N0X3J0cGgyNjNlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwaDI2M2VuY19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmg6CgkgIEFkZGVkIHR3byBuZXcgcGF5bG9hZGVycywgYW4gUkZDIDIxOTAgcGF5bG9hZGVyIGZvciBoMjYzIGFuZAoJICBhIHBheWxvYWQgY29udmVydG9yIGZvciBhbiBhc3RlcmlzayBzZXJ2ZXIuCgoyMDA1LTEwLTI0IDE1OjU3OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzcmMuYzogU2V0IGJ5dGVzX3Blcl9zYW1wbGUgY29ycmVjdGx5IChpcyBub3QgYWx3YXlzIDQsIGJ1dCBkZXBlbmRzIG9uIHdpZHRoIGFuZCBudW1iZXIgb2YgY2hhbm5lbHMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcHJlcGFyZSk6CgkgIFNldCBieXRlc19wZXJfc2FtcGxlIGNvcnJlY3RseSAoaXMgbm90IGFsd2F5cyA0LCBidXQKCSAgZGVwZW5kcyBvbiB3aWR0aCBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzKS4KCjIwMDUtMTAtMjQgMTU6NTA6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IEZpeCBzZWVraW5nLCBzbyB0aGF0IGZsYWNlbmMgY2FuIHJld3JpdGUgdGhlIGhlYWRlciB3aXRoIHRoZSBjb3JyZWN0IGR1cmF0aW9uIGFuZCBhbW91bnQgb2Ygc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjZW5jX2luaXQpLCAoZ3N0X2ZsYWNlbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mbGFjZW5jX3NlZWtfY2FsbGJhY2spLCAoZ3N0X2ZsYWNlbmNfd3JpdGVfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCksIChnc3RfZmxhY2VuY19jaGFpbiksCgkgIChnc3RfZmxhY2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2ZsYWNlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9mbGFjZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBGaXggc2Vla2luZywgc28gdGhhdCBmbGFjZW5jIGNhbiByZXdyaXRlIHRoZSBoZWFkZXIgd2l0aCB0aGUKCSAgY29ycmVjdCBkdXJhdGlvbiBhbmQgYW1vdW50IG9mIHNhbXBsZXMgYW5kIGFsbCB0aGF0IGF0IEVPUzsKCSAgYWxzbyBzZXQgdGltZXN0YW1wcyBhbmQgZ3JhbnVsZXBvcyBvbiBvdXRnb2luZyBidWZmZXJzOyBhZGQKCSAgZGVidWcgY2F0ZWdvcnk7IGZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgoyMDA1LTEwLTI0IDEzOjQ2OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgcmVzdHJpY3QgdmlkZW8gZ2VvbWV0cnkgZnJvbSAxNiB0byA0MDk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgcmVzdHJpY3QgdmlkZW8gZ2VvbWV0cnkKCSAgZnJvbSAxNiB0byA0MDk2LgoKMjAwNS0xMC0yNCAxMzoyMjoxNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRml4IGNhcHMgbmVnb3RpYXRpb24gY29ycmVjdGx5LCBhZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKToKCSAgRml4IGNhcHMgbmVnb3RpYXRpb24gY29ycmVjdGx5LCBhZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoKMjAwNS0xMC0yNCAxMzowMjo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCjIwMDUtMTAtMjQgMDg6NTk6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogRG9uJ3QgdXNlIGZpeGVkIGNhcHMgb24gYSBzaW5rIHBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KTogRG9uJ3QgdXNlIGZpeGVkCgkgIGNhcHMgb24KCSAgYSBzaW5rIHBhZC4KCjIwMDUtMTAtMjMgMjM6MDU6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS40ID09PQoKMjAwNS0xMC0yMyAyMjo0MzowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2luZyAwLjkuNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS40CgoyMDA1LTEwLTIzIDExOjA3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgU1RPUFBFRC0+RkFJTEVECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTVE9QUEVELT5GQUlMRUQKCjIwMDUtMTAtMjEgMTc6MDA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQWRkIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSwgZml4IHF1ZXJ5IHR5cGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfc3BlZXhlbmNfc3JjX3F1ZXJ5KToKCSAgQWRkIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSwgZml4IHF1ZXJ5IHR5cGUgZnVuY3Rpb24uCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIExldCdzIG5vdCBzZXQgbm9uLWZpeGVkIGNhcHMgb24gc291cmNlIHBhZHMuCgoyMDA1LTEwLTIxIDE2OjE1OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgU2V0IGNvcnJlY3Qgc3RyZWFtX3RpbWUgaW4gbmV3c2VnbWVudCBldmVudC4gYXZpIGNhbiBhbHNvIGhhbmRsZSBhIGR1cmF0aW9uIHF1ZXJ5IG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIFNldCBjb3JyZWN0IHN0cmVhbV90aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQuCgkgIGF2aSBjYW4gYWxzbyBoYW5kbGUgYSBkdXJhdGlvbiBxdWVyeSBub3cuCgoyMDA1LTEwLTIxIDEwOjA2OjQwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGFkZGl0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGZvciBsYXRlc3QgYWRkaXRpb25zCgoyMDA1LTEwLTIwIDE5OjE0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBkdXJhdGlvbiBxdWVyeTsgZml4IGJhc2V0aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQgYWZ0ZXIgc2VlazsgZml4IGR1cmF0aW9uIGluIGluaXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIEZpeCBkdXJhdGlvbiBxdWVyeTsgZml4IGJhc2V0aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQgYWZ0ZXIKCSAgc2VlazsgZml4IGR1cmF0aW9uIGluIGluaXRpYWwgbmV3c2VnbWVudCBldmVudC4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICBFeHRyYWN0IG51bWJlciBvZiBjaGFubmVscyBhbmQgc2FtcGxlcmF0ZSBmcm9tIHZvcmJpcyBoZWFkZXJzOwoJICBhZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcyB3aGVuIHF1ZXJ5aW5nIHRoZSBkdXJhdGlvbnMgb2YgdGhlCgkgIGlucHV0IHN0cmVhbXMuCgoyMDA1LTEwLTIwIDExOjUwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFNldCBzdHJlYW0gdGltZSBjb3JyZWN0bHkgaW4gbmV3c2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIFNldCBzdHJlYW0gdGltZSBjb3JyZWN0bHkgaW4gbmV3c2VnbWVudC4KCjIwMDUtMTAtMjAgMTE6Mzk6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENvcnJlY3RseSBmaWxsIGluIHRoZSBzdHJlYW0gdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIENvcnJlY3RseSBmaWxsIGluIHRoZSBzdHJlYW0gdGltZS4KCjIwMDUtMTAtMTkgMjA6NDg6MjQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdXNlIEVMRU1FTlQgbWVzc2FnZXMgaW5zdGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIEVMRU1FTlQgbWVzc2FnZXMgaW5zdGVhZAoKMjAwNS0xMC0xOSAxNTo1ODowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IEFQSSBjaGFuZ2UgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfZ2V0X3F1ZXJ5X3R5cGVzKSwgKHNwZWVkX3NyY19xdWVyeSk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9nZXRfcXVlcnlfdHlwZXMpLCAoZ3N0X3R0YV9wYXJzZV9xdWVyeSk6CgkgIEFQSSBjaGFuZ2UgZml4LgoKMjAwNS0xMC0xOSAxNTo1NzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFQSSBjaGFuZ2UgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2xlbmd0aCksCgkgIChnc3RfZmxhY2RlY19zcmNfcXVlcnkpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19xdWVyeSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6IChnc3RfbmF2c2Vla19zZWVrKToKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2dldF9sZW5ndGgpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIEFQSSBjaGFuZ2UgZml4LgoKMjAwNS0xMC0xOSAxMDo1Nzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogTWFrZSBpbmxpbmUgZnVuY3Rpb25zIGVpdGhlciAnc3RhdGljIGlubGluZScgb3IgJ2V4dGVybiBpbmxpbmUnLCBvdGhlcndpc2UgdGhlIEZvcnRlIGNvbXBpbGVyIGFwcGFyZW50bHkgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgICogZ3N0L2dvb20vZ3JhcGhpYy5oOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6CgkgIE1ha2UgaW5saW5lIGZ1bmN0aW9ucyBlaXRoZXIgJ3N0YXRpYyBpbmxpbmUnIG9yICdleHRlcm4gaW5saW5lJywKCSAgb3RoZXJ3aXNlIHRoZSBGb3J0ZSBjb21waWxlciBhcHBhcmVudGx5IHdvbid0IGlubGluZSB0aGVtICgjMzE3MzAwKS4KCjIwMDUtMTAtMTggMjI6NTA6MTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogZm9yZ290IHRoZSBidWZmZXIgdW5yZWYgaW4gcHVsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBmb3Jnb3QgdGhlIGJ1ZmZlciB1bnJlZiBpbiBwdWxsLgoKMjAwNS0xMC0xOCAyMjo0NDoxMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBDb21wbGV0ZSByZXdyaXRlIG9mIHBuZ2RlYy4gSXQncyBub3cgdmVyeSBuaWNlIGFuZCBoYW5kbGUgcHVzaC9wdWxsIGJhc2VkIG1vZGVsLiBpZiB5b3UgaGF2ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9wbmdkZWNfaW5pdCksICh1c2VyX2Vycm9yX2ZuKSwgKHVzZXJfd2FybmluZ19mbiksCgkgICh1c2VyX2luZm9fY2FsbGJhY2spLCAodXNlcl9lbmRyb3dfY2FsbGJhY2spLAoJICAodXNlcl9lbmRfY2FsbGJhY2spLAoJICAodXNlcl9yZWFkX2RhdGEpLCAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwKCSAgKGdzdF9wbmdkZWNfdGFzayksIChnc3RfcG5nZGVjX2NoYWluKSwgKGdzdF9wbmdkZWNfc2lua19ldmVudCksCgkgIChnc3RfcG5nZGVjX2xpYnBuZ19jbGVhciksIChnc3RfcG5nZGVjX2xpYnBuZ19pbml0KSwKCSAgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZSk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDogQ29tcGxldGUgcmV3cml0ZSBvZiBwbmdkZWMuIEl0J3Mgbm93CgkgIHZlcnkgbmljZSBhbmQgaGFuZGxlIHB1c2gvcHVsbCBiYXNlZCBtb2RlbC4gaWYgeW91IGhhdmUgZmlsZXNyYwoJICBjb25uZWN0ZWQgdG8gaXQsIGl0IHdpbGwgZG8gcmFuZG9tIGFjY2VzcyB0byBsb2FkIHRoZSBwbmcgZmlsZS4KCSAgSWYgeW91IGhhdmUgYSBuZXR3b3JrIHNvdXJjZSB0aGF0IGNhbid0IGRvIF9nZXRyYW5nZSwgaXQgZG9lcwoJICBwcm9ncmVzc2l2ZSBsb2FkaW5nIHRocm91Z2ggdGhlIGNoYWluIGZ1bmN0aW9uLgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLAoJICAodHJhbnNmb3JtX3JnYiksICh0cmFuc2Zvcm1fYmdyKTogRml4IGNhcHMgbmVnb3RpYXRpb24gY29ycmVjdGx5CgkgIHRoYW5rcyB0byBNYXN0ZXIgV2ltIFRheW1hbnMgOy0pCgoyMDA1LTEwLTE4IDE4OjEyOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogUG9ydGVkIG1hdHJvc2thIGRlbXV4ZXIgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzogKHBsdWdpbl9pbml0KToKCSAgUG9ydGVkIG1hdHJvc2thIGRlbXV4ZXIgdG8gMC45LgoKMjAwNS0xMC0xOCAxODowNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG1wZWc0IGlucHV0IGhhbmRsaW5nICgjMzE4ODQ3KTsgYWxzbywgd2hpbGUgd2UncmUgYXQgaXQsIGZpeCBtZWRpYSB0eXBlIGZvciBNb3Rpb24tSi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBGaXggbXBlZzQgaW5wdXQgaGFuZGxpbmcgKCMzMTg4NDcpOyBhbHNvLCB3aGlsZSB3ZSdyZSBhdCBpdCwKCSAgZml4IG1lZGlhIHR5cGUgZm9yIE1vdGlvbi1KUEVHOiBzaG91bGQgYmUgaW1hZ2UvanBlZy4KCjIwMDUtMTAtMTggMTM6MjE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IGZvciBzZWdtZW50LXN0YXJ0L3N0b3AgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIEZpeCBmb3Igc2VnbWVudC1zdGFydC9zdG9wIEFQSSBjaGFuZ2UuCgoyMDA1LTEwLTE3IDE3OjE4OjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIGluIGEgYmV0dGVyIHdheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwKCSAgKHRyYW5zZm9ybV9yZ2IpLCAodHJhbnNmb3JtX2Jncik6IEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIGluIGEKCSAgYmV0dGVyCgkgIHdheS4KCjIwMDUtMTAtMTcgMTY6NTk6MjAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCBjYXBzIG5lZ28gc29tZSBtb3JlIHRvIGdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOiBGaXggY2FwcyBuZWdvIHNvbWUgbW9yZSB0byBnZXQKCSAgQVlVVgoJICBvdXRwdXQgZGVjbGFyZWQgaW4gdHJhbnNmb3JtX2NhcHMuCgoyMDA1LTEwLTE3IDE1OjIzOjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFdlIHVzZSBmaXhlZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpOiBXZSB1c2UgZml4ZWQgY2Fwcy4KCjIwMDUtMTAtMTcgMTU6MTQ6MjkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCB3cm9uZyBzaXplIGNhbGN1bGF0aW9ucyBhbmQgaW1wbGVtZW50IGdldF91bml0X3NpemUgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOiBGaXggd3Jvbmcgc2l6ZSBjYWxjdWxhdGlvbnMgYW5kCgkgIGltcGxlbWVudCBnZXRfdW5pdF9zaXplIGNvcnJlY3RseS4KCjIwMDUtMTAtMTcgMTQ6NTY6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEVuYWJsZSBmbHggcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSBmbHggcGx1Z2luLgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChmbHhfZGVjb2RlX2NodW5rcyk6CgkgIEZpeCBnY2M0IHNpZ25lZG5lc3MgaXNzdWUuCgoyMDA1LTEwLTE3IDA4OjQ2OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkaW5nIHZpZGVvbWl4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOiBBZGRpbmcgdmlkZW9taXhlci4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KSwKCSAgKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfY2hhaW4pOiBNb3JlIGRlYnVnZ2luZy4KCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06IEFkZGluZyBhbHBoYWNvbG9yCgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9iYXNlX2luaXQpLAoJICAoZ3N0X2FscGhhX2NvbG9yX2NsYXNzX2luaXQpLCAoZ3N0X2FscGhhX2NvbG9yX2luaXQpLAoJICAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2FwcyksCgkgICh0cmFuc2Zvcm1fcmdiKSwgKHRyYW5zZm9ybV9iZ3IpLAoJICAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9pcCksCgkgIChwbHVnaW5faW5pdCk6IFBvcnRlZCB0byAwLjkgdXNpbmcgaW4gcGxhY2UgYmFzZSB0cmFuZm9ybS4KCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfbGluayksIChnc3RfdmlkZW9taXhlcl9wYWRfdW5saW5rKSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9pbml0KSwgKGdzdF92aWRlb21peGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKSwgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKSwgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIFBvcnRlZAoJICB0byAwLjkgdXNpbmcgY29sbGVjdHBhZHMuCgoyMDA1LTEwLTE2IDIxOjE5OjQ0ICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIGZseCBwbHVnaW4gcG9ydGVkIHRvIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZmx4IHBsdWdpbiBwb3J0ZWQgdG8gMC45CgoyMDA1LTEwLTE2IDE0OjMzOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgdXNlIGdzdF92ZXJzaW9uX3N0cmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIGdzdF92ZXJzaW9uX3N0cmluZwoKMjAwNS0xMC0xNiAxMzoxNzoxMSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjOiBHTElCX0NIRUNLLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6IEdMSUJfQ0hFQ0suCgoyMDA1LTEwLTE1IDE2OjQ4OjU1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvOiBQb3J0ZWQgcG5nZGVjIHRvIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnBuZy9nc3RwbmcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9wbmdkZWNfaW5pdCksICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOiBQb3J0ZWQgcG5nZGVjIHRvIDAuOQoKMjAwNS0xMC0xNCAxMjo0MzozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgbWF0cm9za2EgbXV4ZXIgdG8gMC45ICgjMzE4ODQ3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6IChwbHVnaW5faW5pdCk6CgkgIFBvcnQgbWF0cm9za2EgbXV4ZXIgdG8gMC45ICgjMzE4ODQ3KS4KCjIwMDUtMTAtMTMgMTg6NTk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogRml4IGhhbmRsaW5nIG9mIEdTVF9UQUdfREFURSwgd2hpY2ggaXMgbm93IG9mIEdTVF9UWVBFX0RBVEU7IHVzZSBHU1RfUkVBRF9VSU5UMzJfTEUoKSBhbmQgZnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfZ2V0X3RhZ192YWx1ZSksCgkgIChjb21tZW50X2luaXQpLCAoY29tbWVudF9hZGQpOgoJICBGaXggaGFuZGxpbmcgb2YgR1NUX1RBR19EQVRFLCB3aGljaCBpcyBub3cgb2YgR1NUX1RZUEVfREFURTsKCSAgdXNlIEdTVF9SRUFEX1VJTlQzMl9MRSgpIGFuZCBmcmllbmRzIHJhdGhlciB0aGFuIHRoZSBwcml2YXRlCgkgIGltcGxlbWVudGF0aW9uIG9mIHRob3NlIHNhbWUgbWFjcm9zLgoKMjAwNS0xMC0xMyAxNjowMTozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGZpeCBkaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdAoKMjAwNS0xMC0xMyAxNToyODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6IG1vcmUgdHlwbyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSAgbW9yZSB0eXBvIGZpeGVzCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfYXJ0c2RzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6IChnc3RfYWZwYXJzZV9vcGVuX2ZpbGUpLAoJICAoZ3N0X2FmcGFyc2VfY2xvc2VfZmlsZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNpbmtfY2xvc2VfZmlsZSksIChnc3RfYWZzaW5rX2NoYWluKSwKCSAgKGdzdF9hZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOiAoZ3N0X2RpcmVjdGZidmlkZW9zaW5rX2luaXQpOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5faW5pdCksCgkgIChnc3RfamFja19iaW5fY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9uYXNzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19pbml0KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NmX2NoYW5nZV9zdGF0ZSksIChnc3Rfc2ZfcmVsZWFzZV9yZXF1ZXN0X3BhZCksCgkgIChnc3Rfc2Zfb3Blbl9maWxlKSwgKGdzdF9zZl9jbG9zZV9maWxlKSwgKGdzdF9zZl9sb29wKToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2luaXQpOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzogKGdzdF9hcGVfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKGdzdF9tdWx0aWZpbGVzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfc2V0X2xvY2F0aW9uKSwgKGdzdF9tdWx0aWZpbGVzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX25leHRfZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19wYWRfcXVlcnkpLCAoZ3N0X211bHRpZmlsZXNpbmtfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYWluKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19pbml0KSwKCSAgKGR4cjNhdWRpb3Npbmtfb3BlbiksIChkeHIzYXVkaW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhaW5fcGNtKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fYWMzKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpLCAoZHhyM3NwdXNpbmtfb3BlbiksCgkgIChkeHIzc3B1c2lua19jbG9zZSksIChkeHIzc3B1c2lua19jaGFpbiksCgkgIChkeHIzc3B1c2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KSwKCSAgKGR4cjN2aWRlb3Npbmtfb3BlbiksIChkeHIzdmlkZW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjN2aWRlb3Npbmtfd3JpdGVfZGF0YSksIChkeHIzdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3FjYW1zcmNfb3BlbiksIChnc3RfcWNhbXNyY19jbG9zZSk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldCksCgkgIChnc3RfdmNkc3JjX29wZW5fZmlsZSksIChnc3RfdmNkc3JjX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3ZjZHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMTAtMTIgMTQ6Mjk6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2VzZC9lc2Rtb24uYzogKGdzdF9lc2Rtb25fb3Blbl9hdWRpbyksCgkgIChnc3RfZXNkbW9uX2Nsb3NlX2F1ZGlvKSwgKGdzdF9lc2Rtb25fY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZXNkL2VzZG1vbi5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dG92ZXJsYXlfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2luaXQpOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpZmlsZXNyY19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzcmNfZ2V0KSwgKGdzdF9tdWx0aWZpbGVzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzcmNfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOiAoZ3N0X3BpcGVmaWx0ZXJfaW5pdCksCgkgIChnc3RfcGlwZWZpbHRlcl9vcGVuX2ZpbGUpLCAoZ3N0X3BpcGVmaWx0ZXJfY2xvc2VfZmlsZSksCgkgIChnc3RfcGlwZWZpbHRlcl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IChnc3Rfb3N4YXVkaW9zaW5rX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMTAtMTIgMDM6MTQ6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkaXN0IGNhaXJvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXN0IGNhaXJvCgoyMDA1LTEwLTEyIDAzOjEyOjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC86IHVwZGF0ZSBvZiBjYWlyby1iYXNlZCB0aW1lb3ZlcmxheSB0byAxLjAgQ2Fpcm8gQVBJIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHJlc2l6aW5nIG9mIG91dHB1dCBzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL2dzdGNhaXJvLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dG92ZXJsYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF90aW1lb3ZlcmxheV91cGRhdGVfZm9udF9oZWlnaHQpLAoJICAoZ3N0X3RpbWVvdmVybGF5X3NldHVwKSwgKGdzdF90aW1lb3ZlcmxheV9wbGFuYXI0MTEpOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICB1cGRhdGUgb2YgY2Fpcm8tYmFzZWQgdGltZW92ZXJsYXkgdG8gMS4wIENhaXJvIEFQSQoJICBkb2Vzbid0IHdvcmsgeWV0IGZvciByZXNpemluZyBvZiBvdXRwdXQgc2luawoKMjAwNS0xMC0xMiAwMzowNzoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBjaGVjawoKMjAwNS0xMC0xMiAwMzowMzoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBnc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgZ3N0Y2hlY2sKCjIwMDUtMTAtMTEgMTc6Mzg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogbmV3c2VnbWVudCBBUEkgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19ldmVudCksIChzcGVleF9kZWNfY2hhaW4pOgoJICBuZXdzZWdtZW50IEFQSSBmaXguCgoyMDA1LTEwLTExIDE2OjM0OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgoyMDA1LTEwLTExIDE2OjMzOjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX3dyaXRlKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2V2ZW50KToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19zdG9wX2ZpbGUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgoyMDA1LTEwLTExIDEwOjA3OjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogU2lnbmVkbmVzcyBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IFNpZ25lZG5lc3MgY2xlYW51cHMuCgoyMDA1LTEwLTEwIDE5OjU3OjQwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIFNwZWV4ZW5jIHBvcnRlZCB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTcGVleGVuYyBwb3J0ZWQgdG8gMC45LgoKMjAwNS0xMC0xMCAxNDoxNjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvOiBDbGVhbnVwcywgbWFrZSBkZXZpY2UgY29uZmlndXJhYmxlIGluIHRoZSBzaW5rLCBoYW5kbGUgYW5kIHJlcG9ydCBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zaW5rX2luaXQpLCAoZ3N0X29zc19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9vc3Nfc2lua19vcGVuKSwKCSAgKGdzdF9vc3Nfc2lua19wcmVwYXJlKSwgKGdzdF9vc3Nfc2lua19yZXNldCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9vc3Nfc3JjX2luaXQpLCAoZ3N0X29zc19zcmNfb3BlbiksCgkgIChnc3Rfb3NzX3NyY19wcmVwYXJlKToKCSAgQ2xlYW51cHMsIG1ha2UgZGV2aWNlIGNvbmZpZ3VyYWJsZSBpbiB0aGUgc2luaywgaGFuZGxlIGFuZCByZXBvcnQKCSAgZXJyb3JzLgoKMjAwNS0xMC0xMCAxMjozMTowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nY29uZi86IE1ha2Ugc3VyZSBlbGVtZW50IGlzIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gdGhlIGJpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19yZXNldCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19yZXNldCk6CgkgIE1ha2Ugc3VyZSBlbGVtZW50IGlzIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gdGhlIGJpbi4KCjIwMDUtMTAtMDcgMTY6Mjg6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIERvbid0IHVucmVmIHRoZSBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KTogRG9uJ3QgdW5yZWYgdGhlIG1lc3NhZ2UuCgoyMDA1LTEwLTA3IDE2OjIyOjU5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBjYWJsZSBpcyB1bnBsdWdnZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpOiBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBjYWJsZSBpcwoJICB1bnBsdWdnZWQuCgkgIChnc3RfZHYxMzk0c3JjX2NyZWF0ZSwgZ3N0X2R2MTM5NHNyY191bmxvY2spOiBSZW1vdmUgc29tZSBwcmludHMuCgoyMDA1LTEwLTA3IDE1OjI0OjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndCBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndAoJICBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoKMjAwNS0xMC0wNyAxMzoxNzo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IENsZWFuIHVwIGZvciBzdHlsZSBiZWZvcmUgZG9pbmcgc29tZSBoYWNraW5nLiBUaGUgb25seSBjaGFuZ2Ugc2hvdWxkIGJlIHRoYXQgdGhlIHN0YXRlIGNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBDbGVhbiB1cCBmb3Igc3R5bGUgYmVmb3JlIGRvaW5nIHNvbWUKCSAgaGFja2luZy4gVGhlIG9ubHkgY2hhbmdlIHNob3VsZCBiZSB0aGF0IHRoZSBzdGF0ZSBjaGFuZ2Ugc3R1ZmYgd2FzCgkgIHB1dCBpbnRvIGJhc2VzcmMncyBzdGFydCgpIGFuZCBzdG9wKCkgcm91dGluZXMsIHdoaWNoIGNvYWxlc2NlcwoJICBzb21lIHN0ZXBzLgoKMjAwNS0xMC0wNyAxMTozMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIGNoZWNrIGZvciBtbWFwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGNoZWNrIGZvciBtbWFwCgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICBPbmx5IGNvbXBpbGUgZWZlbmNlIHBsdWdpbiBvbiBzeXN0ZW1zIHRoYXQgaGF2ZSBtbWFwLgoKMjAwNS0xMC0wNSAxNjozNjo1NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IGZpbGVzCgoyMDA1LTEwLTA1IDExOjM4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnLzogUG9ydCBwcm9ncmVzc3JlcG9ydCwgbmF2c2VlaywgbmF2aWdhdGlvbnRlc3QsIHRlc3RzaW5rIGFuZCBicmVha215ZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuaDoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICBQb3J0IHByb2dyZXNzcmVwb3J0LCBuYXZzZWVrLCBuYXZpZ2F0aW9udGVzdCwgdGVzdHNpbmsgYW5kCgkgIGJyZWFrbXlkYXRhLgoKMjAwNS0xMC0wNSAxMToxNToyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEZpeGVzIGZvciBiZXR0ZXIgY29udmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KToKCSAgRml4ZXMgZm9yIGJldHRlciBjb252ZXJzaW9uCgoyMDA1LTEwLTA0IDE3OjU4OjQwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXV0b2RldGVjdC86IFNldCBzdGF0ZSBvZiBlbGVtZW50cyB0byBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIGJpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBTZXQgc3RhdGUgb2YgZWxlbWVudHMgdG8gTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSBiaW5zLgoJICBTZXQgc3RhdGUgb2YgdGVzdCBlbGVtZW50IHRvIE5VTEwgaWYgd2UgZmFpbGVkIHRvIG1vdmUgaXQgdG8gUkVBRFkKCjIwMDUtMTAtMDQgMTc6NDQ6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvOiBBZGRlZCBERUZBVUxUIDw9PT4gQllURVMsIFRJTUUgY29udmVyc2lvbnMgb24gc3JjcGFkLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksIChnc3RfZHZkZW11eF9zcmNfY29udmVyKToKCSAgQWRkZWQgREVGQVVMVCA8PT0+IEJZVEVTLCBUSU1FIGNvbnZlcnNpb25zIG9uIHNyY3BhZCwKCSAgQ29ycmVjdGVkIHRoZSBxdWVyeSBmdW5jdGlvbiBmb3IgcG9zaXRpb24gc28gaXQgZG9lc24ndCBmb3JnZXQgd2hhdAoJICBmb3JtYXQgd2FzIGFza2VkLCBhbmQgY2FsbHMgdGhlIGNvbnZlcnNpb24gZnVuY3Rpb25zIG9uIHRoZSBjb3JyZWN0IHBhZC4KCjIwMDUtMTAtMDMgMTc6NTk6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgo9PT0gcmVsZWFzZSAwLjkuMyA9PT0KCjIwMDUtMTAtMDMgMTc6NDg6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUFETUU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNlIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2UgdGltZQoKMjAwNS0xMC0wMiAyMzowODozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY193cml0ZSk6IERlYWwgd2l0aCBwYWRfYWxsb2MgZXJyb3IgcmV0dXJucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY193cml0ZSk6IERlYWwgd2l0aCBwYWRfYWxsb2MKCSAgZXJyb3IgcmV0dXJucy4KCjIwMDUtMTAtMDIgMTU6MzM6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYyAoR1NUX1BMVUdJTl9MREZMQUdTKTogQ2hhbmdlIHRvIGJlIGxpa2UgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYyAoR1NUX1BMVUdJTl9MREZMQUdTKTogQ2hhbmdlIHRvIGJlIGxpa2UgLWJhc2UuCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBQb3J0ZWQgdG8gMC45LgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfbG9vcCk6IEhhbmRsZSBlcnJvcnMgYmV0dGVyLgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOiBBZGQgdGhlIEdTVF9QTFVHSU5TX0JBU0UgY2ZsYWdzIGFuZCBsaWJzLAoJICBhbmQgbGluayB0byBnc3R0YWdlZGl0LiBFbmFibGUgZmxhY2VuYy4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFJlLWVuYWJsZSB0YWcgcmVhZGluZy4KCjIwMDUtMDktMzAgMTY6MzY6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogVmFyaW91cyBjbGFzcyBhbmQgY2FwcyBmaXhlcyBmcm9tIEFuZHJlIE1hZ2FsaGFlcyAoYW5kcnVua28pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6IChnc3RfcnRwYW1yZW5jX3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLCAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2hhbmRsZV9idWZmZXIpOgoJICBWYXJpb3VzIGNsYXNzIGFuZCBjYXBzIGZpeGVzIGZyb20gQW5kcmUgTWFnYWxoYWVzIChhbmRydW5rbykKCjIwMDUtMDktMjkgMTM6MDg6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiBVcGRhdGUgZm9yIG5ldyBidXMgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWFpbik6CgkgIFVwZGF0ZSBmb3IgbmV3IGJ1cyBBUEkuCgoyMDA1LTA5LTI4IDEzOjM4OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBObyBuZWVkIHRvIHRha2Ugc3RyZWFtIGxvY2sgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICBObyBuZWVkIHRvIHRha2Ugc3RyZWFtIGxvY2sgaGVyZS4KCjIwMDUtMDktMjggMDk6NDU6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCB1bmV4cGFuZGVkIGF1dG9jb25mIG1hY3JvIEdTVF9ET0MsIHdoaWNoIGhhcyBiZWVuIHJlbmFtZWQgdG8gR1NUX0RPQ0JPT0tfQ0hFQ0sgKHNlZSBjb21tb24vbTQvZ3N0LWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggdW5leHBhbmRlZCBhdXRvY29uZiBtYWNybyBHU1RfRE9DLCB3aGljaCBoYXMgYmVlbiByZW5hbWVkCgkgIHRvIEdTVF9ET0NCT09LX0NIRUNLIChzZWUgY29tbW9uL200L2dzdC1kb2MubTQpICgjMzE2MjAyKS4KCjIwMDUtMDktMjcgMTU6MTI6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogRml4IHBsYXliYWNrIG9mIG1vbm8gc3RyZWFtcyAoYnl0ZXNfcGVyX3NhbXBsZSBzaG91bGQgYmUgc2V0IGZyb20gdGhlIHNhbXBsZSB3aWR0aCBhbmQgdGhlIG51bWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfcHJlcGFyZSk6CgkgIEZpeCBwbGF5YmFjayBvZiBtb25vIHN0cmVhbXMgKGJ5dGVzX3Blcl9zYW1wbGUgc2hvdWxkIGJlIHNldAoJICBmcm9tIHRoZSBzYW1wbGUgd2lkdGggYW5kIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgbmVnb3RpYXRlZCwKCSAgYW5kIG5vdCBqdXN0IGJlIHNldCB0byA0KSAoIzMxNzMzOCkKCjIwMDUtMDktMjYgMTQ6NTk6MTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGF1cGFyc2UgdG8gcGx1Z2lucyBsaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYXVwYXJzZSB0byBwbHVnaW5zIGxpc3QKCjIwMDUtMDktMjYgMTQ6NDI6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiBTZXQgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfZmx1c2gpLAoJICAoZ3N0X3J0cG1wYWVuY19oYW5kbGVfYnVmZmVyKToKCSAgU2V0IGJ1ZmZlciBkdXJhdGlvbiBjb3JyZWN0bHkuCgoyMDA1LTA5LTI2IDEzOjA2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCBjcmFzaCB3aGVuIGVuY291bnRlcmluZyBhIHN0cmVhbSB3aXRoIGFuIHVua25vd24gZm91cmNjIG9yIGNvZGVjIGlkLiBJbnN0ZWFkLCBjcmVhdGUgYSBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNyYXNoIHdoZW4gZW5jb3VudGVyaW5nIGEgc3RyZWFtIHdpdGggYW4gdW5rbm93biBmb3VyY2Mgb3IKCSAgY29kZWMgaWQuIEluc3RlYWQsIGNyZWF0ZSBhIHBhZCBvZiB0eXBlIHZpZGVvL3gtYXZpLXVua25vd24gb3IKCSAgYXVkaW8veC1hdmktdW5rbm93biwgd2hpY2ggYXMgYSBzaWRlLWVmZmVjdCBhbHNvIHJlc3VsdHMgaW4gbGVzcwoJICBjb25mdXNpbmcgZXJyb3IgbWVzc2FnZXMgaW4gcGxheWVycyAoJ25vIGRlY29kZXInIHZzLiAnbm8gc3RyZWFtcycpOwoJICBtaW5vciBmaXhlcyB0byBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIGNsYXNzX2luaXQgZnVuY3Rpb24uCgoyMDA1LTA5LTI0IDEzOjM0OjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc2V0IHVwIHBsdWdpbiBwYXRocyBwcm9wZXJseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2V0IHVwIHBsdWdpbiBwYXRocyBwcm9wZXJseQoKMjAwNS0wOS0yNCAxMzoxMDo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogVGhlc2UgYXJlIHNpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCk6CgkgIFRoZXNlIGFyZSBzaW5rcy4KCjIwMDUtMDktMjQgMTI6MTA6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogZml4IHRlc3QgZm9yIG5ldyBHc3RDbG9ja1RpbWUgdXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGZpeCB0ZXN0IGZvciBuZXcgR3N0Q2xvY2tUaW1lIHVzZQoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpLCAoZ3N0X2xldmVsX3NldF9jYXBzKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBmaXggdXAgdGhlIGRlY2F5IHBlYWssIGVuc3VyaW5nIHRoZSBkZWNheSBwZWFrIGlzIG5ldmVyIGxvd2VyCgkgIHRoYW4gdGhlIHBlYWsgZm9yIHRoYXQgaW50ZXJ2YWwKCjIwMDUtMDktMjMgMTg6MjM6MDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdXBkYXRpbmcgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRpbmcgZG9jcwoKMjAwNS0wOS0yMyAxODoxNTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBjb21tb246CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBjb252ZXJ0IHRvIHVzaW5nIEdzdENsb2NrVGltZSBmb3IgYWxsIHRpbWUgdmFsdWVzLCBmaW5hbGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29udmVydCB0byB1c2luZyBHc3RDbG9ja1RpbWUgZm9yIGFsbCB0aW1lIHZhbHVlcywgZmluYWxseS4KCjIwMDUtMDktMjMgMTU6MDE6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBvZiBnb29tCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgb2YgZ29vbQoKMjAwNS0wOS0yMyAxNDoyMDowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB3ZSBoYW5kbGUgbW9yZSB0aGFuIHR3byBjaGFubmVscwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd2UgaGFuZGxlIG1vcmUgdGhhbiB0d28gY2hhbm5lbHMKCjIwMDUtMDktMjMgMDQ6MjM6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tZWRpYW4vTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgoyMDA1LTA5LTIyIDIyOjM4OjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgQXVwYXJzZSBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgYXVwYXJzZSAhIG9zc3NpbmsgYW5kIGFsc2FzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBdXBhcnNlIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBhdXBhcnNlICEgb3Nzc2luayBhbmQgYWxzYXNpbmsKCjIwMDUtMDktMjIgMTQ6MTM6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogVXNlIGlzX2ZpbGxlZCB0byBib3RoIGNoZWNrIE1UVSBhbmQgbWF4LXB0aW1lIG9mIGJhc2UgY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvVE9ETzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19nZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuaDoKCSAgVXNlIGlzX2ZpbGxlZCB0byBib3RoIGNoZWNrIE1UVSBhbmQgbWF4LXB0aW1lIG9mIGJhc2UgY2xhc3MuCgoyMDA1LTA5LTIyIDExOjI4OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IERvbid0IGZyYWdtZW50IHBhY2tldHMgd2l0aCBtdWx0aXBsZSBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KToKCSAgRG9uJ3QgZnJhZ21lbnQgcGFja2V0cyB3aXRoIG11bHRpcGxlIGZyYW1lcy4KCjIwMDUtMDktMjIgMTA6Mzk6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogUmVtb3ZlIGdfcHJpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvVE9ETzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzogKGdzdF9ydHBtcDR2ZGVjX3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19pbml0KSwgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLAoJICAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cG1wNHZlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSAgUmVtb3ZlIGdfcHJpbnQuCgkgIFVwZGF0ZSBUT0RPCgkgIE1ha2UgcGF5bG9hZCBlbmNvZGVyIGEgYml0IHNtYXJ0ZXIgYW5kIG1vcmUgY29ycmVjdCB3aXRoCgkgIHRpbWVzdGFtcHMuCgkgIEFkZGVkIG9wdGlvbiBpbiBwYXlsb2FkZXIgdG8gaW5jbHVkZSBjb25maWcgc3RyaW5nIGluLWJhbmQuCgoyMDA1LTA5LTIxIDE5OjQxOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBTdHJpcCBzcGFjZXMgZm9yIGtleS92YWx1ZSBwYWlycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zZW5kKToKCSAgU3RyaXAgc3BhY2VzIGZvciBrZXkvdmFsdWUgcGFpcnMuCgoyMDA1LTA5LTIxIDE3OjUzOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBNb3JlIFNEUCBwYXJzaW5nIGFuZCBjYXBzIHNldHRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBNb3JlIFNEUCBwYXJzaW5nIGFuZCBjYXBzIHNldHRpbmcuCgkgIERvIE5PX1BSRVJPTEwgZGlmZmVyZW50bHkuCgkgIGFkZCBwYWRzIG9ubHkgYWZ0ZXIgbmVnb3RpYXRlZC4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfZ2V0Y2Fwcyk6CgkgIEltcGxlbWVudCB0aGUgZ2V0Y2FwcyBmdW5jdGlvbi4KCjIwMDUtMDktMjEgMTc6NTA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOiBIYW5kbGUgbXVsdGlwbGUgQU1yIHBhY2tldHMgcGVyIHBheWxvYWQuIEhhbmRsZSBDUkMgYW5kIHBhcnNlIElMTC9JTFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6IChnc3RfcnRwYW1yZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwYW1yZGVjX2NoYWluKToKCSAgSGFuZGxlIG11bHRpcGxlIEFNciBwYWNrZXRzIHBlciBwYXlsb2FkLiBIYW5kbGUgQ1JDIGFuZAoJICBwYXJzZSBJTEwvSUxQLgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6IChnc3RfcnRwYW1yZW5jX3NldGNhcHMpOgoJICBNYWtlIGNhcHMgcGFyYW1zIHN0cmluZ3MgZm9yIGVhc3kgU0RQIG1hcHBpbmcuCgkgICogZ3N0L3J0cC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfaW5pdCksIChnc3RfcnRwZGVjX2dldGNhcHMpOgoJICBIYW5kbGUgY2Fwc25lZ28gYmV0dGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOiAoZ3N0X3J0cG1wNHZkZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19uZXdfY2Fwcyk6CgkgIEdlbmVyYXRlIGFuZCBwYXJzZSBjb25maWcgc3RyaW5nIGluIHRoZSBjYXBzLgoKMjAwNS0wOS0yMSAxMjoxOToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBVcGRhdGUgUkVBRE1FCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FCgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzogKGdzdF9ydHBhbXJkZWNfc2lua19zZXRjYXBzKToKCSAgTWFrZSBleHRyYSBwYXJhbXMgYXMgc3RyaW5ncy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXRfc3RhdGUpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksIChnc3RfcnRzcHNyY19zZW5kKToKCSAgTWFrZSBzdGF0ZSBjaGFuZ2UgcmV0dXJuIE5PX1BSRVJPTEwgYXMgdGhpcyBpcyBhIGxpdmUKCSAgc291cmNlLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSk6CgkgIERvbid0IHVucmVmIG9sZCBjYXBzIHdoZW4gTlVMTC4KCjIwMDUtMDktMjAgMTc6MzU6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBVUkkgaGFuZGxlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwgKGdzdF9ydHNwc3JjX3VyaV9nZXRfdXJpKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKSwgKGdzdF9ydHNwc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9tZWRpYV9nZXRfZm9ybWF0KToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgIEFkZCBVUkkgaGFuZGxlci4KCSAgUGFyc2UgU0RQIGFuZCBjcmVhdGUgY2Fwcy4KCjIwMDUtMDktMjAgMTc6MTk6NDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgbW9yZSBzcGVjIGZpbGUgZml4b3JpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgc3BlYyBmaWxlIGZpeG9yaW5nCgoyMDA1LTA5LTIwIDE3OjA0OjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC1wbHVnaW5zLnNwZWMuaW46CgkgIGZpeCBzcGVjIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggc3BlYyBmaWxlcwoKMjAwNS0wOS0yMCAxMDo1MTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBkb24ndCB1c2UgdW5kZXJzY29yZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IHVzZSB1bmRlcnNjb3JlcwoKMjAwNS0wOS0yMCAwNzozMDozMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhLmM6IGZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBmaXggZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAwNS0wOS0xOSAxNzo1NzowNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgIHByZXJlcXMgYXMgd2VsbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcHJlcmVxcyBhcyB3ZWxsCgoyMDA1LTA5LTE5IDE3OjUzOjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgY29tbWl0IHJlc3VsdCBvZiBzY2Fub2JqIHN0ZXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1pdCByZXN1bHQgb2Ygc2Nhbm9iaiBzdGVwCgoyMDA1LTA5LTE5IDE3OjAzOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOiBEb24ndCBjaGVjayBwYXlsb2FkIGZvciBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzogKGdzdF9ydHBoMjYzcGRlY19jaGFpbik6CgkgIERvbid0IGNoZWNrIHBheWxvYWQgZm9yIG5vdy4KCjIwMDUtMDktMTkgMTY6NDM6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCjIwMDUtMDktMTkgMTY6MjY6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogRml4IHdhdnBhcnNlIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBGaXggd2F2cGFyc2Ugc29tZSBtb3JlLgoKMjAwNS0wOS0xOSAxMTo0ODoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6IEZpeCBmb3IgYnVzIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBmb3IgYnVzIEFQSSBjaGFuZ2UuCgoyMDA1LTA5LTE5IDExOjM4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogRml4IGZvciBuZXcgYnVzIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1haW4pOgoJICBGaXggZm9yIG5ldyBidXMgQVBJLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFNldCBjYXBzIG9uIHBhZHMuCgoyMDA1LTA5LTE5IDExOjA2OjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgZGlzYWJsZSBmbGFncyBmb3IgdW5idWlsdCBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXNhYmxlIGZsYWdzIGZvciB1bmJ1aWx0IHBsdWdpbnMKCjIwMDUtMDktMTkgMDg6MjE6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvc2Nhbm9iai1idWlsZC5zdGFtcDoKCSAgbm9ybWFsIGJ1aWxkcyBzaG91bGRuJ3Qgc2NhbiBnb2JqZWN0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbm9ybWFsIGJ1aWxkcyBzaG91bGRuJ3Qgc2NhbiBnb2JqZWN0cwoKMjAwNS0wOS0xNiAwMDozODo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgcmVtb3ZlIGdzdC1yZWdpc3RlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGdzdC1yZWdpc3RlcgoKMjAwNS0wOS0xNSAxMzo1Nzo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgIFVwZGF0ZXMgdG8gcGF5bG9hZGVyL2RlcGF5bG9hZGVycywgbWFrZSBwYXlsb2FkZXJzIHVzZSB0aGUgYmFzZSBjbGFzc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlcyB0byBwYXlsb2FkZXIvZGVwYXlsb2FkZXJzLCBtYWtlIHBheWxvYWRlcnMgdXNlCgkgIHRoZSBiYXNlIGNsYXNzZXMuCgkgIFVwZGF0ZWQgUkVBRE1FIHdpdGggc3VnZ2VzdGVkIFJUUCBjYXBzIGFuZCBob3cgdG8gY29udmVydAoJICB0by9mcm9tIFNEUC4KCSAgQWRkZWQgY29uZmlnIGRlc2NyaXB0b3IgaW4gbXA0diBwYXlsb2FkZXIuCgoyMDA1LTA5LTE1IDEwOjQ3OjU4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmMgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KTogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTE1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYyAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYwoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpOiBVcGRhdGUgZm9yIG5ldyByZWdpc3RyeSBBUEkuCgoyMDA1LTA5LTE0IDIwOjUxOjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbW1vbi86IGEgc2ltcGxlIHB5IHNjcmlwdCB0byBnZW5lcmF0ZSB2YWxpZCB4bWwgZnJvbSBhIEMgZXhhbXBsZSBwcm9iYWJseSBhbHNvIG5lZWQgdG8gc3RyaXAgYW4gTUlUIGxpY2Vuc2Ugd2hlbiB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb21tb24vYy10by14bWwucHk6CgkgICogY29tbW9uL2d0ay1kb2MtcGx1Z2lucy5tYWs6CgkgIGEgc2ltcGxlIHB5IHNjcmlwdCB0byBnZW5lcmF0ZSB2YWxpZCB4bWwgZnJvbSBhIEMgZXhhbXBsZQoJICBwcm9iYWJseSBhbHNvIG5lZWQgdG8gc3RyaXAgYW4gTUlUIGxpY2Vuc2Ugd2hlbiB3ZSBkZWNpZGUKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIGFkZCBhbiBleGFtcGxlIHRvIGxldmVsIHRoYXQgd2lsbCBzaG93IHVwIGluIHRoZSBkb2NzCgkgICogZ3N0L3J0cC9UT0RPOgoJICBhZGQgYSBub3RlIGZvciB0aGUgZnV0dXJlCgoyMDA1LTA5LTE0IDExOjQ0OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBBY3R1YWxseSBkZWZpbmUgdGhlIGRlYnVnIG9iamVjdCBiZWluZyB1c2VkIGluIHdhdmVuYy4gRml4ZXMgIzMxNjIwNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jbGFzc19pbml0KToKCSAgQWN0dWFsbHkgZGVmaW5lIHRoZSBkZWJ1ZyBvYmplY3QgYmVpbmcgdXNlZCBpbiB3YXZlbmMuIEZpeGVzICMzMTYyMDUKCjIwMDUtMDktMTQgMTE6MjM6NDQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICBMaW5rIHNtcHRlIHBsdWdpbiBhZ2FpbnN0IEdTVF9CQVNFX0xJQlMsIHRvIGdldCBsaWJnc3RiYXNlOyBuZWVkZWQgdG8gYnVpbGQgb24gd2luMzIgYXMgdGhpcyBwbHVnaW4gdXNlcyBjb2xsZWN0cGFkcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIExpbmsgc21wdGUgcGx1Z2luIGFnYWluc3QgR1NUX0JBU0VfTElCUywgdG8gZ2V0IGxpYmdzdGJhc2U7IG5lZWRlZCB0bwoJICBidWlsZCBvbiB3aW4zMiBhcyB0aGlzIHBsdWdpbiB1c2VzIGNvbGxlY3RwYWRzIChidWcgMzE2MjA0KQoKMjAwNS0wOS0xMiAxNjozNzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCB1cCBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCjIwMDUtMDktMTIgMTY6MTQ6NDggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGF1dG9nZW4uc2ggKHBhY2thZ2UpOiBOb3cgdHlwZSAnbWFrZScgdG8gYnVpbGQgZ3N0LXBsdWdpbnMtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMTIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogYXV0b2dlbi5zaCAocGFja2FnZSk6IE5vdyB0eXBlICdtYWtlJyB0byBidWlsZCBnc3QtcGx1Z2lucy1nb29kLgoKMjAwNS0wOS0xMSAxNzo1MjowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBhZGQgc291cmNlIG1vZHVsZSB0byBkb2NzOyByZWluc3BlY3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb3VyY2UgbW9kdWxlIHRvIGRvY3M7IHJlaW5zcGVjdAoKMjAwNS0wOS0wOSAxNzo1Njo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIGZkc3JjIGJhY2sgaW50byBnc3RyZWFtZXIgY29yZSBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mZHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmRzcmMvZ3N0ZmRzcmMuYzoKCSAgKiBnc3QvZmRzcmMvZ3N0ZmRzcmMuaDoKCSAgTW92ZSBmZHNyYyBiYWNrIGludG8gZ3N0cmVhbWVyIGNvcmUgZWxlbWVudHMuCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KToKCSAgQmFzZXRyYW5zZm9ybSBjaGFuZ2VzLgoKMjAwNS0wOS0wOSAxNjoxMTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMDUtMDktMDkgMTE6MDk6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOiBzcGVjIGZpbGUgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBzcGVjIGZpbGUgZml4ZXMKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXIpOgoJICBpdCBhY3R1YWxseSBoZWxwcyB0byBhY3R1YWxseSBzdHJlYW0gaWYgd2UgaG9vayB1cCB0aGUKCSAgYWRkIHNpZ25hbCB0byBhbiBhY3R1YWwgaW1wbGVtZW50YXRpb24KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIHNvbWUgZGVidWdnaW5nCgoyMDA1LTA5LTA4IDE2OjU4OjQwICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAganBnZW5jIHBvcnRlZCB0byBHU1RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqcGdlbmMgcG9ydGVkIHRvIEdTVHJlYW1lciAwLjkKCjIwMDUtMDktMDggMTY6MjY6MTcgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJICBqcGVnZW5jIHBvcnRlZCB0byBHU3RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqcGVnZW5jIHBvcnRlZCB0byBHU3RyZWFtZXIgMC45CgoyMDA1LTA5LTA3IDEzOjQ5OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvOiBnc3R0YWdpbnRlcmZhY2UuaCAtPiBnc3R0YWdzZXR0ZXIuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgZ3N0dGFnaW50ZXJmYWNlLmggLT4gZ3N0dGFnc2V0dGVyLmgKCjIwMDUtMDktMDYgMjM6MzA6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCB0byAwLjkgYW5kIHJlLWVuYWJsZSBlZmVuY2UgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfY2xhc3NfaW5pdCksIChnc3RfZWZlbmNlX2luaXQpLAoJICAoZ3N0X2VmZW5jZV9jaGFpbiksIChnc3RfZWZlbmNlX2J1ZmZlcl9hbGxvYyksIChwbHVnaW5faW5pdCksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfZmVuY2VkX2J1ZmZlcl9jb3B5KSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2FsbG9jKSwgKGdzdF9mZW5jZWRfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfaW5pdCksIChnc3RfZmVuY2VkX2J1ZmZlcl9nZXRfdHlwZSk6CgkgIFBvcnQgdG8gMC45IGFuZCByZS1lbmFibGUgZWZlbmNlIHBsdWdpbi4KCjIwMDUtMDktMDYgMjE6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IEFkZCBzdXBwb3J0IGZvciBmbGFjIGZpbGVzIHdpdGggMjQvMzIgYml0cyBwZXIgc2FtcGxlOyBhbmQgbWlzYy4gbWlub3IgY2xlYW4tdXBzLiBTZWVraW5nIGlzIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZmxhY19jYXBzX2ZhY3RvcnkpLCAocmF3X2NhcHNfZmFjdG9yeSksCgkgIChnc3RfZmxhY2RlY193cml0ZSksIChnc3RfZmxhY2RlY19jb252ZXJ0X3NyYyk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZmxhYyBmaWxlcyB3aXRoIDI0LzMyIGJpdHMgcGVyIHNhbXBsZTsgYW5kIG1pc2MuCgkgIG1pbm9yIGNsZWFuLXVwcy4gU2Vla2luZyBpcyBzdGlsbCBwYXJ0bHkgYnJva2VuIChmb3IgbWUgYXQgbGVhc3QpLgoKMjAwNS0wOS0wNiAxNTo1MDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBtcGVnNCB2aWRlbyBwYXlsb2FkIGVuY29kZXIvZGVjb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOiAoZ3N0X3J0cG1wNHZkZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cG1wNHZkZWNfYmFzZV9pbml0KSwgKGdzdF9ydHBtcDR2ZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZkZWNfaW5pdCksIChnc3RfcnRwbXA0dmRlY19zZXRjYXBzKSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2NoYWluKSwgKGdzdF9ydHBtcDR2ZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwbXA0dmRlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cG1wNHZkZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBtcDR2ZGVjX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2dldF90eXBlKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2Jhc2VfaW5pdCksIChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2luaXQpLCAoZ3N0X3J0cG1wNHZlbmNfc2V0Y2FwcyksCgkgIChnc3RfcnRwbXA0dmVuY19mbHVzaCksIChnc3RfcnRwbXA0dmVuY19jaGFpbiksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cG1wNHZlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwbXA0dmVuY19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzogKGdzdF9ydHBtcGFkZWNfY2hhaW4pOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2ZsdXNoKToKCSAgQWRkZWQgbXBlZzQgdmlkZW8gcGF5bG9hZCBlbmNvZGVyL2RlY29kZXIuCgkgIEFkZGVkIHNvbWUgZG9jcyBpbiBtcGEgcGF5bG9hZGVyLgoKMjAwNS0wOS0wNiAxNDowNjo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuMSA9PT0KCjIwMDUtMDktMDYgMTQ6MDU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUFETUU6CgkqIFJFTEVBU0U6CgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC45LjIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuMgoKMjAwNS0wOS0wNSAxNzoyMDoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNS0wOS0wNSAxNjoyODoxNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfY2hhaW4pOiBNb3ZlIHRoZSBwYWQgYWRkaW5nIGhlcmUgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGhhbmRsZXIsIHNvIHdlIGZpcmUgc2lnbmFscyB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2NoYWluKTogTW92ZSB0aGUgcGFkIGFkZGluZwoJICBoZXJlIGZyb20gdGhlIHN0YXRlIGNoYW5nZSBoYW5kbGVyLCBzbyB3ZSBmaXJlIHNpZ25hbHMgd2l0aG91dAoJICBob2xkaW5nIHRoZSBzdGF0ZSBsb2NrLgoKMjAwNS0wOS0wNSAxNToxMDoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIGNsZWFuaW5nIHVwIGJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW5pbmcgdXAgYmFkCgoyMDA1LTA5LTA1IDEzOjE4OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIG1haW50ZW5hbmNlIGNvbW1pdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1haW50ZW5hbmNlIGNvbW1pdHMKCjIwMDUtMDktMDQgMTU6MDk6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QtYnVpbGQuc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZGlzdGNoZWNrIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXN0Y2hlY2sgZml4ZXMKCjIwMDUtMDktMDQgMTE6NTA6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIGZpeCBkaXN0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0Y2hlY2sKCjIwMDUtMDktMDIgMTU6NTY6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB2YXJpb3VzIHNwZWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgc3BlYyBmaXhlcwoKMjAwNS0wOS0wMiAxNTo0NDo1MCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2Zkc3JjL2dzdGZkc3JjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgoyMDA1LTA5LTAxIDIxOjI0OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjE6MjM6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMToyMDo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIxOjE1OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjA6MjM6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY2hlY2svLmdpdGlnbm9yZToKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIGNoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIHRlc3RzL2NoZWNrLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBbmRyZXdpbyBQYXRyaWNrb2ZvcnVzIFdpbmdvbnltdXMgLSA1IGFkZGl0aW9uYWwgdGVzdHMgZm9yIHlvdXIgc2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5kcmV3aW8gUGF0cmlja29mb3J1cyBXaW5nb255bXVzIC0gNSBhZGRpdGlvbmFsIHRlc3RzIGZvciB5b3VyIHNpbnMKCSAgQWRkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciBsZXZlbCBhbmQgZml4IGEgY2FzdGluZyBidWcgdGhhdCBtYWRlIHRoZSBhZGRpdGlvbmFsCgkgIGNoYW5uZWxzIHR1cm4gb3V0IHdyb25nCgoyMDA1LTA5LTAxIDE3OjU1OjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBkb2NzIHRvIGJ1aWxkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgYWRkIGRvY3MgdG8gYnVpbGQKCSAgKiBjb21tb24vcGx1Z2lucy54c2w6CgkgIHdyYXAgRGVzY3JpcHRpb24gaW50byBhIHJlZnNlY3QyCgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fZ2V0X3R5cGUpLCAoZ3N0X2dvb21fYmFzZV9pbml0KSwKCSAgKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksIChnc3RfZ29vbV9kaXNwb3NlKSwKCSAgKGdzdF9nb29tX3Npbmtfc2V0Y2FwcyksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKSwgKGdzdF9nb29tX2V2ZW50KSwgKGdzdF9nb29tX2NoYWluKSwKCSAgKGdzdF9nb29tX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBHc3RHT09NIC0+IEdzdEdvb20KCSAgYWRkIGFuIGV4YW1wbGUgbGF1bmNoIGxpbmUKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBjbGVhbnVwcwoKMjAwNS0wOC0zMSAxNjoyODowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZHZkbHBjbWRlYy8uZ2l0aWdub3JlOgoJKiBnc3QvZHZkbHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZGxwY21kZWMvZ3N0ZHZkbHBjbWRlYy5jOgoJKiBnc3QvZHZkbHBjbWRlYy9nc3RkdmRscGNtZGVjLmg6CgkgIHJlbW92ZSBkdmRscGNtZGVjLCBpdCdzIGR2ZCBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGR2ZGxwY21kZWMsIGl0J3MgZHZkIHN0dWZmCgoyMDA1LTA4LTMwIDE5OjQxOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIGFkZCBzb21lIGkxOG4gaGVhZGVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvbWUgaTE4biBoZWFkZXJzCgoyMDA1LTA4LTMwIDE5OjI0OjM3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDUtMDgtMzAgMTk6MjQ6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1ha2VmaWxlLmFtCgoyMDA1LTA4LTMwIDE5OjIwOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvdXBsb2FkLm1hazoKCSogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOgoJICBjb21taXQgbmV3IHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21taXQgbmV3IHN0dWZmCgoyMDA1LTA4LTMwIDE5OjAxOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJICBkb2N1bWVudCBlbGVtZW50cyBhbmQgcGx1Z2lucy4gIFNoYXphbSAhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2N1bWVudCBlbGVtZW50cyBhbmQgcGx1Z2lucy4gIFNoYXphbSAhCgoyMDA1LTA4LTMwIDE3OjM3OjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkqIENPUFlJTkc6CgkqIFJFTEVBU0U6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHNvbWUgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb21lIGZpbGVzCgo=