MjAwNy0wMi0xMyAgUmVsZWFzZSBNYW5hZ2VyCgoJKiBHQ0MgNC4xLjIgcmVsZWFzZWQuCgoyMDA2LTA1LTI0ICBSZWxlYXNlIE1hbmFnZXIKCgkqIEdDQyA0LjEuMSByZWxlYXNlZC4KCjIwMDYtMDItMjggIFJlbGVhc2UgTWFuYWdlcgoKCSogR0NDIDQuMS4wIHJlbGVhc2VkLgoKMjAwNS0xMS0wNiAgSm9zZXBoIFMuIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfcmVsZWFzZTogRnVydGhlciB1cGRhdGUgZm9yIFNWTi4gIERvbid0IHNldCBFWFBPUlRUQUcgb3IKCUVYUE9SVERBVEU7IGFsd2F5cyBkZXRlcm1pbmUgU1ZOUkVWIHRoZSBzYW1lIHdheS4gIENvcnJlY3QgbWVzc2FnZQoJYWJvdXQgd2hhdCBzb3VyY2VzIGFyZSBiZWluZyByZXRyaXZlZC4gIEluY2x1ZGUgYnJhbmNoIGluZm9ybWF0aW9uCglpbiBMQVNUX1VQREFURUQuCgkqIGNyb250YWI6IERvbid0IGluY2x1ZGUgaW5pdGlhbCAvIGluIGJyYW5jaCBuYW1lLgoKMjAwNS0xMS0wNSAgRGFuaWVsIEJlcmxpbiAgPGRiZXJsaW5AZGJlcmxpbi5vcmc+CgoJKiBnY2NfcmVsZWFzZTogIEFsd2F5cyBkZXRlcm1pbmUgcmV2aXNpb24gbnVtYmVyIGZyb20gZGF0ZSBvciB0YWcsCglhbmQgdXNlIHRoYXQsIGluc3RlYWQgb2YgZnJhZ2lsZSBkYXRlIGJhc2VkIGV4cG9ydC4KCVB1dCBiYWNrIHNldHRpbmcgb2Ygbm9uLWxvY2FsIENWU1JPT1QuCgoyMDA1LTExLTA1ICBEYW5pZWwgQmVybGluICA8ZGJlcmxpbkBkYmVybGluLm9yZz4KCgkqIGdjY19yZWxlYXNlOiBNYWtlIHRhZ3MgZ28gaW4gL3RhZ3MuCglEb24ndCB0YWcgZm9yIHNuYXBzaG90cy4KCURldGVybWluZSByZXZpc2lvbiBudW1iZXIgb2YgZXhwb3J0IGFuZCBwdXQgaW50byBzbmFwc2hvdAoJYW5ub3VuY2VtZW50LgoKMjAwNS0xMS0wMyAgRGFuaWVsIEJlcmxpbiAgPGRiZXJsaW5AZGJlcmxpbi5vcmc+CgoJKiBnY2NfcmVsZWFzZTogVXBkYXRlIGZvciBTVk4KCSogY3JvbnRhYjogVXBkYXRlIGZvciBuZXcgZ2NjX3JlbGVhc2UKCjIwMDUtMTAtMjYgIERhbmllbCBCZXJsaW4gIDxkYmVybGluQGRiZXJsaW4ub3JnPgoKCSogdXBkYXRlX3dlYl9kb2NzX3N2bjogVXNlIC1xIHRvIHF1aWV0IHN2bi4KCjIwMDUtMTAtMjYgIERhbmllbCBCZXJsaW4gIDxkYmVybGluQGRiZXJsaW4ub3JnPgoKCSogY3JvbnRhYjogVXBkYXRlIHRvIHJlZmxlY3QgcmVhbGl0eQoKMjAwNS0xMC0wMSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9zb3VyY2VzKTogSWYgdHJ5aW5nIHRvIGFwcGx5IGEgdGFnIHRoYXQKCWFscmVhZHkgZXhpc3RzLCBpc3N1ZSBhbiBlcnJvciBtZXNzYWdlIGFuZCBleGl0LgoKMjAwNS0wOS0zMCAgSm9zZXBoIFMuIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CgoJUFIgb3RoZXIvMjM2OTMKCSogdXBkYXRlX3dlYl9kb2NzOiBBZGQgUERGIHN1cHBvcnQuICBDb3JyZWN0IGNoZWNrIG9mIERFVi1QSEFTRS4KCjIwMDUtMDktMzAgIEpvc2VwaCBTLiBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgoKCSogdXBkYXRlX3dlYl9kb2NzX29sZDogUmVtb3ZlLgoKMjAwNS0wOC0xNCAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGdjY19yZWxlYXNlOiBVcGRhdGUgd2l0aCBGU0YgYWRkcmVzcy4KCjIwMDUtMDctMjYgIEphbmlzIEpvaG5zb24gIDxqYW5pczE4N0B1cy5pYm0uY29tPgoKCSogdXBkYXRlX3ZlcnNpb24gKEFERF9CUkFOQ0hFUyk6IEFkZCBkZnAtYnJhbmNoLgoKMjAwNS0wNS0yMSAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBjcm9udGFiOiBTcHJlYWQgc25hcHNob3QgYnVpbGRpbmcgbW9yZSBldmVubHkgdGhyb3VnaG91dCB0aGUKCXdlZWsuCgoyMDA1LTA1LTE5ICBKb3NlcGggUy4gTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNyb250YWI6IERvbid0IGJ1aWxkIDMuMyBicmFuY2ggc25hcHNob3RzLgoJKiB1cGRhdGVfdmVyc2lvbiAoSUdOT1JFX0JSQU5DSEVTKTogQWRkIGdjYy0zXzMtYnJhbmNoLgoKMjAwNS0wMy0xNSAgWmFjayBXZWluYmVyZyAgPHphY2tAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIFJFQURNRTogVXBkYXRlLgoJKiBnY2NfcmVsZWFzZTogVXBkYXRlIGdjYy9ERVYtUEhBU0UgaWYgdGhhdCBmaWxlIGV4aXN0cywgaW5zdGVhZAoJb2YgZ2NjL3ZlcnNpb24uYy4KCSogdXBkYXRlX3ZlcnNpb246IEhhbmRsZSB1cGRhdGluZyBnY2MvREFURVNUQU1QLgoJKiB1cGRhdGVfd2ViX2RvY3M6IEdlbmVyYXRlIGdjYy12ZXJzLnRleGkgZmlyc3QuCgoyMDA1LTAzLTEwICBSYW5qaXQgTWF0aGV3ICA8cm1hdGhld0Bob3RtYWlsLmNvbT4KCgkqIGdjY19yZWxlYXNlIChBREFfRElSUyk6IEFkZCAiZ25hdHRvb2xzIi4KCjIwMDUtMDItMjUgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjcm9udGFiOiBBZGp1c3QgZm9yIDQuMCBicmFuY2guCgoyMDA0LTEyLTMwICBTZWJhc3RpYW4gUG9wICA8cG9wQGNyaS5lbnNtcC5mcj4KCgkqIHVwZGF0ZV92ZXJzaW9uIChBRERfQlJBTkNIRVMpOiBSZXBsYWNlIGxuby1icmFuY2ggd2l0aAoJYXV0b3ZlY3QtYnJhbmNoLgoKMjAwNC0wOS0xMSAgR2VyYWxkIFBmZWlmZXIgIDxnZXJhbGRAcGZlaWZlci5jb20+CgoJKiBjcm9udGFiOiBSZW5hbWUgR0NDIDMuNSBzbmFwc2hvdHMgdG8gR0NDIDQuMCBzbmFwc2hvdHMuCgoyMDA0LTA4LTE0ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBBZGQgY29tbWVudCBoZWFkZXIgdG8gZ2VuZXJhdGVkCglNRDVTVU1TLgoKMjAwNC0wOC0wNiAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGdjY19yZWxlYXNlIChzbmFwc2hvdF9wcmludCk6IEFjY2VwdCBhcmd1bWVudHMuICBEb24ndCB1c2UgZWNobyAtZS4KCShhbm5vdW5jZV9zbmFwc2hvdCk6ICBVcGRhdGUgZm9yIGFib3ZlLiAgRG9uJ3QgdXNlIGVjaG8gLWUuCgoyMDA0LTA4LTAzIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBtYWludGFpbmVyLXNjcmlwdHMgKHNuYXBzaG90X3ByaW50KTogTmV3IGZ1bmN0aW9uLgoJKGFubm91bmNlX3NuYXBzaG90KTogR2VuZXJhdGUgYW5ub3VuY21lbnQgb24gdGhlIGZseS4KCVVzZSBhIGRpcmVjdG9yeSBsaW5rIGZvciBMQVRFU1QuCgkqIHNuYXBzaG90LVJFQURNRTogRGVsZXRlLgoJKiBzbmFwc2hvdC1pbmRleC5odG1sOiBEZWxldGUuCgoyMDA0LTA2LTA5ICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBNb3ZlIHRoZSBsaWJjcHAgZ21vIGZpbGVzCgl0byB0aGUgc291cmNlIGRpcmVjdG9yeS4KCjIwMDQtMDYtMDMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogZ2NjX3JlbGVhc2UgKG1heWJlX2J1aWxkX3RhcmZpbGUpOiBOZXcgZnVuY3Rpb24uCgkoYnVpbGRfdGFyZmlsZXMpOiBVc2UgbWF5YmVfYnVpbGRfdGFyZmlsZS4KCjIwMDQtMDUtMjEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBHZW5lcmF0ZSB0aGUgTkVXUyBmaWxlIGluIHRvcGxldmVsLgoKMjAwNC0wNS0xNyAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9zb3VyY2VzKTogQ2hhbmdlIENSQ3MgZnJvbSBicmlrIHRvIG1kNXN1bS4KCjIwMDQtMDUtMTYgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogY3JvbnRhYjogQWRkIEdDQyAzLjUgc25hcHNob3RzLCBjdXJyZW50eSBydW4gb24gU3VuZGF5cy4KCjIwMDQtMDUtMTMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBBbHNvIHJlbW92ZSBvbGQgLmd6IGZpbGVzIGZyb20gc3ViZGlyZWN0b3JpZXMKCW9uIHRoZSAxNXRoIG9mIHRoZSBtb250aC4KCjIwMDQtMDUtMTMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzIChNQU5VQUxTKTogQWRkIGdmb3J0cmFuLgoKMjAwNC0wNS0xMyAgQXJuYXVkIENoYXJsZXQgIDxjaGFybGV0QGFjdC1ldXJvcGUuZnI+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IEZpeCBnZW5lcmF0aW9uIG9mIEFkYSBkb2NzLgoKMjAwNC0wNS0xMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtQHBvbHlvbWluby5vcmcudWs+CgoJKiB1cGRhdGVfdmVyc2lvbiAoQUREX0JSQU5DSEVTKTogUmVtb3ZlIHRyZWUtc3NhLTIwMDIwNjE5LWJyYW5jaC4KCgkqIGdjY19yZWxlYXNlIChESUZGKTogUmVtb3ZlIC0zIG9wdGlvbi4KCjIwMDMtMDctMjYgIFBhdWwgQnJvb2sgIDxwYXVsQG5vd3Qub3JnPgoKCSogZ2NjX3JlbGVhc2U6IEFkZCBnY2MtZm9ydHJhbi4KCSogc25hcHNob3QtUkVBRE1FOiBEaXR0by4KCSogc25hcHNob3QtaW5kZXguaHRtbDogRGl0dG8uCgoyMDA0LTA1LTAyICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGNyb250YWI6IE1vdmUgR0NDIDMuNCBzbmFwc2hvdHMgZnJvbSBXZWRuZXNkYXkgYWZ0ZXJub29uIHRvCglGcmlkYXkgbmlnaHQsIHdoZXJlIGdjYy5nbnUub3JnIGhhcyBsZXNzIGxvYWQuCgoyMDA0LTA1LTAyICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGNyb250YWI6IEFkanVzdCB0ZW1wb3JhcnkgZGlyZWN0b3J5IHVzZWQgZm9yIHNuYXBzaG90IGdlbmVyYXRpb24uCglNb3ZlIEdDQyAzLjMgc25hcHNob3RzIHRvIFdlZG5lc2RheSAyMjozMiwgd2hlcmUgZ2NjLmdudS5vcmcgaGFzCglsZXNzIGxvYWQuCgoyMDA0LTA0LTE5ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBEbyBub3QgdXNlICItRiIgdG8gdGFnIHNvdXJjZXMuCgoyMDA0LTA0LTA3ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBEbyBub3QgdXNlICItciIgYW5kICItRCIgYXQgdGhlCglzYW1lIHRpbWUgd2l0aCAiY3ZzIGV4cG9ydCIuCgoyMDA0LTAzLTI3ICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGdjY19yZWxlYXNlOiBGaXggc2FuaXR5IGNoZWNrIGZvciBhcmd1bWVudCBvZiAtcCBjb21tYW5kLWxpbmUKCW9wdGlvbnMuICBJbiBzbmFwc2hvdCBtb2RlLCBvbmx5IGdlbmVyYXRlIGRpZmZzIGFnYWluc3QgdGhlIHByZXZpb3VzCglzbmFwc2hvdCBpZiB0aGUgdXNlciBkaWQgbm90IHNwZWNpZnkgYW55IG9sZCB0YXJiYWxsIGV4cGxpY3RseS4KCjIwMDQtMDMtMjUgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKEZUUF9QQVRIKTogVXNlIC92YXIvZnRwIGluc3RlYWQgb2YgfmZ0cCwgYW5kCglvbmx5IHNldCBhdCBhIHNpbmdsZSBwbGFjZS4KCjIwMDQtMDMtMTQgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKFNOQVBTSE9UU19ESVIpOiBOZXcgdmFyaWFibGUuICBVc2UgaXQuCgkoYW5ub3VuY2Vfc25hcHNob3QpOiBVc2UgaXQuCgoyMDA0LTAzLTE0ICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGdjY19yZWxlYXNlIChhbm5vdW5jZV9zbmFwc2hvdCk6IFVzZSBjaGFuZ2VkaXIgaW5zdGVhZCBvZgoJcGxhaW4gY2QuCgoyMDA0LTAyLTEwICBBcm5hdWQgQ2hhcmxldCAgPGNoYXJsZXRAYWN0LWV1cm9wZS5mcj4KCgkqIGdjY19yZWxlYXNlOiBBZGQgbGliYWRhIGFzIHBhcnQgb2YgQURBX0RJUlMuCgoyMDA0LTAxLTIxICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGNyb250YWI6IE1ha2UgMy40IHNuYXBzaG90cyBmcm9tIHRoZSBuZXcgMy40IHJlbGVhc2UgYnJhbmNoLgoKMjAwNC0wMS0yMCAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9zb3VyY2VzKTogRGVsZXRlIGNhbGwgdG8gbWFrZSBmNzcucmVidWlsdC4KCjIwMDQtMDEtMTcgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogc25hcHNob3QtUkVBRE1FOiBNZW50aW9uIGhvdyB0aGUgc25hcHNob3Qgd2FzIGdlbmVyYXRlZC4KCSogc25hcHNob3QtaW5kZXguaHRtbDogRGl0dG8uICBGdXJ0aGVyIHN5bmMgd2l0aCBzbmFwc2hvdC1SRUFETUUuCgoyMDA0LTAxLTAzICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogQ3JlYXRlIHRhcmJhbGxzIG9mIGRvY3VtZW50YXRpb24gc291cmNlcyBhbmQKCUhUTUwgZG9jcy4KCjIwMDQtMDEtMDIgIEdlcmFsZCBQZmVpZmVyICA8Z3BAc3VzZS5kZT4KCgkqIHVwZGF0ZV92ZXJzaW9uOiBBZGQgc29tZSBkb2N1bWVudGF0aW9uLgoKMjAwNC0wMS0wMiAgUG9wIFPpYmFzdGlhbiAgPHBvcEBnYXV2YWluLnUtc3RyYXNiZy5mcj4KCgkqIHVwZGF0ZV92ZXJzaW9uIChBRERfQlJBTkNIRVMpOiBBZGQgbG5vLWJyYW5jaC4KCjIwMDMtMTEtMDIgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogbWFpbnRhaW5lci1hZGRyZXNzZXM6IE5ldyBzY3JpcHQuCgoyMDAzLTEwLTI0ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBVc2UgLS1lbmFibGUtZ2VuZXJhdGVkLWZpbGVzLWluLXNyY2Rpci4KCjIwMDMtMDktMjIgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGFubm91bmNlX3NuYXBzaG90KTogUmVzdHJ1Y3R1cmUgcHJvY2Vzc2luZwoJb2Ygc25hcHNob3QtUkVBRE1FIGFuZCBzbmFwc2hvdC1pbmRleC5odG1sIGFuZCBhZGQgYSBuZXcKCXN1YnN0aXR1dGlvbiBmb3IgQEVYUE9SVEAuCgoyMDAzLTA4LTI0ICBHZXJhbGQgUGZlaWZlciAgPGdlcmFsZEBwZmVpZmVyLmNvbT4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9zb3VyY2VzKTogQ3JlYXRlL3VwZGF0ZSB0aGUgTEFTVF9VUERBVEVEIGZpbGUKCWluIHRoZSBzb3VyY2UgZGlyZWN0b3J5IHdpdGggaW5mb3JtYXRpb24gaG93IHNvdXJjZXMgd2VyZSBvYnRhaW5lZC4KCjIwMDMtMDgtMTYgIEdlcmFsZCBQZmVpZmVyICA8Z2VyYWxkQHBmZWlmZXIuY29tPgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX3NvdXJjZXMpOiBVc2UgdHdvIG5ldyB2YXJpYWJsZXMgRVhQT1JUVEFHIGFuZAoJRVhQT1JUREFURSB0byBtYWtlIHRoZSBleHRyYWN0aW9uIG9mIHNvdXJjZXMgbW9yZSB0cmFuc3BhcmVudCBhbmQKCWFsc28gYWxsb3cgc25hcHNob3RzIChvZmYgbWFpbmxpbmUpIHdpdGhvdXQgYSB0YWcuCgoyMDAzLTA4LTA4ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2U6IENvcnJlY3QgbG9naWMgZm9yIHVwZGF0aW5nIHZlcnNpb24uYy4gIFB1dAoJcHJlcmVsZWFzZXMgaW50byBhIHN1YmRpcmVjdG9yeS4KCjIwMDMtMDctMjkgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGNyb250YWI6IFVwZGF0ZSBpbnZvY2F0aW9uIG9mIGdjY19yZWxlYXNlIGFjY29yZGluZyB0byB0aGUKCXByZXZpb3VzIGNoYW5nZXMgdGhlcmUuICBBZGQgYXV0b21hdGljIDMuNCBzbmFwc2hvdHMgZnJvbSBtYWlubGluZS4KCjIwMDMtMDctMjMgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlICh1c2FnZSk6IERvY3VtZW50IHRoYXQgLXMgbm93IHRha2VzIHN5bWJvbGljIG5hbWUKCWFuZCBicmFuY2ggb2YgdGhlIHNuYXBzaG90IGFzIHBhcmFtZXRlcnMuCglJbXBsZW1lbnQgdGhpcyBhcyBwYXJ0IG9mIGNvbW1hbmQtbGluZSBwcm9jZXNzaW5nLgoJKEJSQU5DSCk6IFJlbW92ZSBkZWZhdWx0IGluaXRpYWxpemF0aW9uIGZvciBzbmFwc2hvdHMuCgkoQ1ZTQlJBTkNIKTogRGl0dG8uCglEbyBub3QgbGF5IGRvd24gYSBDVlMgdGFnIGlmIGdlbmVyYXRpbmcgYSBzbmFwc2hvdCBmcm9tIG1haW5saW5lLgoKMjAwMy0wNy0xOSAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKGFubm91bmNlX3NuYXBzaG90KTogVXNlICR7UkVMRUFTRX0gaW5zdGVhZAoJb2YgJHtCUkFOQ0h9LSR7REFURX0gdG8gcmVmZXIgdG8gdGhlIHNuYXBzaG90IGRpcmVjdG9yeS4KCVB1dCBSRUFETUUgZmlsZSBpbnRvIHRoZSBzbmFwc2hvdCBkaXJlY3RvcnkuCgoJKFJFTEVBU0UpOiBEZWZpbmUgYXMgJHtCUkFOQ0h9LSR7REFURX0gZm9yIHNuYXBzaG90cy4KCShGVFBfUEFUSCk6IFVzZSAke1JFTEVBU0V9IGluIGNhc2Ugb2Ygc25hcHNob3RzLgoJKFRBRyk6IERpdHRvLgoJKE9MRF9UQVJTKTogQWRqdXN0IHRvIG5ldyBkaXJlY3Rvcnkgc2NoZW1lIGZvciBzbmFwc2hvdHMuCgoyMDAzLTA3LTE0ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYW5ub3VuY2Vfc25hcHNob3QpOiBBZGQgc3Vic3RpdHV0aW9uIG9mIEBSRUxFQVNFQAoJZm9yIFJFQURNRSBhbmQgaW5kZXguaHRtbC4KCSogc25hcHNob3QtUkVBRE1FOiBVc2UgaXQuCgkqIHNuYXBzaG90LWluZGV4Lmh0bWw6IERpdHRvLgoKMjAwMy0wNy0wOSAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKGFubm91bmNlX3NuYXBzaG90KTogQWRkIHN1YnN0aXR1dGlvbiBvZiBAQlJBTkNIQAoJZm9yIFJFQURNRSBhbmQgaW5kZXguaHRtbC4gIFJlbW92ZSBzdWJzdGl0dXRpb24gb2YgQExPTkdfREFURUAuCglQdXQgaW5kZXguaHRtbCBpbnRvIHRoZSByZXNwZWN0aXZlIHNuYXBzaG90IGRpcmVjdG9yeS4KCUFkanVzdCBzdWJqZWN0IG9mIHRoZSBub3RpZmljYXRpb24gbWFpbCB0byB0aGUgbmV3IG5hbWluZyBzY2hlbWUKCWZvciBDVlMgdGFncy4KCUFkanVzdCBuYW1lIG9mIHRoZSBMQVRFU1QtSVMtLi4uIGZpbGVzIHRvIHRoZSBuZXcgbmFtaW5nIHNjaGVtZQoJZm9yIHNuYXBzaG90IGRpcmVjdG9yaWVzLgoJKEZUUF9QQVRIKTogRGl0dG8uCgkoTEFTVF9ESVIpOiBEaXR0by4KCShMQVNUX0xPTkdfREFURSk6IFJlbW92ZS4KCgkqIHNuYXBzaG90LVJFQURNRTogQWRqdXN0IHRvIHRoZSBuZXcgbmFtaW5nIHNjaGVtZXMgZm9yIGRpcmVjdG9yaWVzCglhbmQgc25hcHNob3RzIHBlciBzZS4KCUR5bmFtaWNhbGx5IGZpbGwgaW4gdGhlIHJlc3BlY3RpdmUgYnJhbmNoIGluc3RlYWQgb2YgaGFyZGNvZGluZyBpdC4KCgkqIHNuYXBzaG90LWluZGV4Lmh0bWw6IFJlcGxhY2UgaW5kaXZpZHVhbCBsaW5rcyB0byBkaWZmcyB3aXRoIGEKCWdlbmVyYWwgbGluayB0byB0aGUgZGlmZi8gc3ViZGlyZWN0b3J5LgoJTWVudGlvbiB0aGUgY29uY3JldGUgc25hcHNob3QgaW4gPHRpdGxlPiBhbmQgPGgxPi4KCUFkanVzdCBsaW5rcyB0byB0aGUgbmV3IGxvY2F0aW9uIG9mIGluZGV4Lmh0bWwuCgoyMDAzLTA3LTA4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZTogTW92ZSBoYW5kbGluZyBvZiBjb21wbGV4IG1vZGVzIGRpcmVjdGx5IGFmdGVyCglzd2l0Y2ggaGFuZGxpbmcuCgkoVEFHKTogSW5jbHVkZSB0aGUgYnJhbmNoIG5hbWUgYXMgcGFydCBvZiBzbmFwc2hvdCBDVlMgdGFncy4KCjIwMDMtMDctMDQgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlOiBFeGVjdXRlIGdjYy5nbnUub3JnLW9ubHkgb3BlcmF0aW9ucyB3aGljaCBhcmUKCXJlbGF0ZWQgdG8gZGlmZiBnZW5lcmF0aW9uIG9ubHkgaWYgZGlmZnMgaGF2ZSBiZWVuIHJlcXVlc3RlZC4KCShidWlsZF9zb3VyY2VzKTogSW1wcm92ZSB0cmFjaW5nIGFuZCBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQKCXRvIHRhZ2dpbmcuCgoyMDAzLTA3LTAxICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoQlJBTkNIKTogUmVuYW1lIHRvLi4uCgkoQ1ZTQlJBTkNIKTogLi4ubmV3IG1hY3JvLCBhbmQgdXNlIEJSQU5DSCBmb3IgdGhlIHZhcmlhbnQgdXNlcnMKCXdpbGwgc2VlLgoJKEZUUF9CUkFOQ0gpOiBGb3Igc25hcHNob3RzLCBpbmNsdWRlICR7QlJBTkNIfSBpbiB0aGUgbGFzdCBwYXJ0CglvZiB0aGUgZGlyZWN0b3J5IG5hbWUuCglVc2UgLnNuYXBzaG90X2RhdGUtJHtCUkFOQ0h9IGluc3RlYWQgb2YgLnNuYXBzaG90X2RhdGUuCgoyMDAzLTA2LTI4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZTogQ29tbWFuZCAiYWxsIiBub3cgY3JlYXRlcyAuZ3ogZmlsZXMgb25seSBmb3IKCXJlbGVhc2VzIGFuZCBwcmUtcmVsZWFzZXMuCgoyMDAzLTA2LTI3ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfc291cmNlcyk6IERvIG5vdCBpbmNsdWRlIGduYXRzLmh0bWwgYW55IGxvbmdlci4KCU1ha2UgYW4gZXJyb3IgbWVzc2FnZSBtb3JlIGRlc2NyaXB0aXZlLgoKMjAwMy0wNi0yNSAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2U6IEZhY3RvciB0aGUgdXBkYXRpbmcgb2YgbGlua3MgYW5kIFJFQURNRXMgb24gdGhlCglGVFAgc2VydmVyIGFuZCBzZW5kaW5nIG1haWwgZm9yIHNuYXBzaG90cyBpbnRvIGEuLi4KCShhbm5vdW5jZV9zbmFwc2hvdCk6IC4uLm5ldyBmdW5jdGlvbi4KCUFkZCBpbmZvcm1hdGl2ZSBvdXRwdXQgZm9yIGJvdGguCgoyMDAzLTA2LTE4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfcmVsZWFzZTogRG8gbm90IHVwZGF0ZSBnY2NfbGF0ZXN0X3NuYXBzaG90IHRhZyBhbnkgbG9uZ2VyLgoKMjAwMy0wNi0xOCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogc25hcHNob3QtaW5kZXguaHRtbDogVXNlIEY3NyBpbnN0ZWFkIG9mIEc3NyBmcm9udCBlbmQuCglSZW1vdmUgbGluayB0byBDb2RlU291cmNlcnkgc25hcHNob3RzIHdoaWNoIHdhcyBub3QgdXAtdG8tZGF0ZS4KCURvIG5vdCByZWZlciB0byBnY2MtYnVnc0BnY2MuZ251Lm9yZyBhbnkgbG9uZ2VyLgoKCSogc25hcHNob3QtUkVBRE1FOiBVc2UgRjc3IGZyb250IGVuZCBpbnN0ZWFkIG9mIEc3NyBsYW5ndWFnZS4KCjIwMDMtMDYtMTcgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlIChidWlsZF90YXJmaWxlKTogQnVpbGQgLmJ6MiBmaWxlcyBpbnN0ZWFkIG9mIC5neiBmaWxlcy4KCShidWlsZF9iejIpOiBSZW5hbWUgdG8gYnVpbGRfZ3ppcCBhbmQgY3JlYXRlIC5neiBmaWxlcyBmcm9tIC5iejIKCWZpbGVzIGluc3RlYWQgb2YgdGhlIG90aGVyIHdheSBhcm91bmQuCgkoYnVpbGRfZ3ppcCk6IE5ldyBmdW5jdGlvbi4KCShidWlsZF9kaWZmcyk6IEJ1aWxkIC5iejIgZmlsZXMgaW5zdGVhZCBvZiAuZ3ogZmlsZXMuCgkoYnVpbGRfZGlmZik6IFVzZSAuYnoyIGZpbGVzIGluc3RlYWQgb2YgLmd6IGZpbGVzLgoJTWFrZSBhbiBlcnJvciBtZXNzYWdlIGluZGVwZW5kZW50IG9mIHRoZSBjb21wcmVzc2lvbiBmb3JtYXQuCgkoTU9ERV9CWklQMik6IFJlbmFtZSB0byBNT0RFX0daSVAuICBSZWxhdGVkIGNoYW5nZXMgdG8gdGhlCglpbnZvY2F0aW9uIG9mIHRoaXMgc2NyaXB0LgoJKE1PREVfR1pJUCk6IE5ldyB2YXJpYWJsZS4KCShPTERfVEFSUyk6IFVzZSAuYnoyIGFyY2hpdmUgb2YgdGhlIHByZXZpb3VzIHNuYXBzaG90LgoKMjAwMy0wNi0xNCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogc25hcHNob3QtUkVBRE1FOiBVc2UgR0NDIGluc3RlYWQgb2YgZ2NjLCBDKysgZnJvbnQgZW5kIGluc3RlYWQgb2YKCWcrKyBsYW5ndWFnZSwgYW5kIG5vdGUgdGhhdCBKYXZhIGluY2x1ZGVzIGEgcnVuIHRpbWUuCgkqIHNuYXBzaG90LmluZGV4Lmh0bWw6IERpdHRvLgoKMjAwMy0wNi0xMCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX2RpZmYpOiBQcm9wZXJseSB1c2UgJHtUQVJ9IGluc3RlYWQgb2YKCWhhcmQtY29kZWQgdGFyLgoKMjAwMy0wNS0yOCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogc25hcHNob3QtaW5kZXguaHRtbDogUmVmZXIgdG8gLmJ6MiBmaWxlcyBpbnN0ZWFkIG9mIC5neiBmaWxlcy4KCVNpbXBsaWZ5IHRoZSBub3RlIG9uIG5vdCB1c2luZyB1bmFubm91bmNlZCBzbmFwc2hvdHMuCgoyMDAzLTA1LTI4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBzbmFwc2hvdC1SRUFETUU6IFJlZmVyIHRvIC5iejIgZmlsZXMgaW5zdGVhZCBvZiAuZ3ogZmlsZXMuCglBZGQgYSBub3RlIG9uIHdoZXJlIHRvIGZpbmQgdGhlIGRpZmYgZmlsZXMuCglTaW1wbGlmeSB0aGUgbm90ZSBvbiBub3QgdXNpbmcgdW5hbm5vdW5jZWQgc25hcHNob3RzLgoJUmVtb3ZlIGRvY3VtZW50YXRpb24gb2YgdGhlIGdjY19sYXRlc3Rfc25hcHNob3QgdGFnLgoKMjAwMy0wNS0yNyAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKGJ1aWxkX2RpZmZzKTogQWRkIGRpYWdub3N0aWNzIGluIGNhc2Ugd2UgY2Fubm90CglnZW5lcmF0ZSBhIHNwZWNpZmljIGRpZmYgZmlsZS4KCjIwMDMtMDUtMjQgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlIChidWlsZF9zb3VyY2VzKTogT25seSB1cGRhdGUgQ2hhbmdlTG9nIGZpbGVzIHdoaWNoCglkbyBub3QgeWV0IGNvbnRhaW4gdGhlIGVudHJ5IHdlIGFyZSBnb2luZyB0byBhZGQuCglGaXggdHlwbyBpbiBhZGRlZCBDaGFuZ2VMb2cgZW50cmllcy4KCjIwMDMtMDUtMjAgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdjY19yZWxlYXNlICh1cGxvYWRfZmlsZXMpOiBQdXQgZGlmZiBmaWxlcyBpbnRvIGEgImRpZmZzIgoJc3ViZGlyZWN0b3J5CgoyMDAzLTA1LTE4ICBOYXRoYW5hZWwgTmVyb2RlICA8bmVyb2RlbkBnY2MuZ251Lm9yZz4KCgkqIGdjY19yZWxlYXNlOiBHTlUgQ0MgLT4gR0NDLgoKMjAwMy0wNS0xMiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3JlbGVhc2UgKHVzYWdlKTogUHJpbnQgbW9yZSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiBhbGwKCWNvbW1hbmQtbGluZSBvcHRpb25zLgoKMjAwMy0wNS0wOSAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3ZlcnNpb24gKEFERF9CUkFOQ0hFUyk6IEFkZCwgc2V0IHRvIE1BSU4gYW5kCgl0cmVlLXNzYS0yMDAyMDYxOS1icmFuY2guCgkoQlJBTkNIRVMpOiBBbHdheXMgY29uc2lkZXIgYnJhbmNoZXMgZ2l2ZW4gYnkgJEFERF9CUkFOQ0hFUy4KCjIwMDMtMDUtMDQgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHVwZGF0ZV92ZXJzaW9uICh0ZXh0c3RyaW5nX0ZJTEVTKTogT25seSB2ZXJzaW9uLmMgbmVlZHMgdG8gYmUKCXVwZGF0ZWQsIG5vdyB0aGF0IHdlIGRvIG5vdCBjb25zaWRlciBvbGRlciBicmFuY2hlcyBhbnkgbW9yZS4KCjIwMDMtMDUtMDIgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHVwZGF0ZV92ZXJzaW9uIChJR05PUkVfQlJBTkNIRVMpOiBBZGQuCgkoQlJBTkNIRVMpOiBEbyBub3QgY29uc2lkZXIgYnJhbmNoZXMgbWF0Y2hpbmcgJElHTk9SRV9CUkFOQ0hFUy4KCjIwMDMtMDUtMDIgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHVwZGF0ZV92ZXJzaW9uOiBBZGQgYSB0cmFjZSBvZiB3aGljaCBicmFuY2ggd2UgYXJlIGN1cnJlbnRseQoJd29ya2luZyBvbi4KCjIwMDItMTItMTYgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfcmVsZWFzZTogTWFrZSBzbmFwc2hvdHMgZnJvbSB0aGUgR0NDIDMuMyBicmFuY2guCgkqIHNuYXBzaG90LVJFQURNRTogVXBkYXRlLgoKMjAwMi0wOS0yMyAgWmFjayBXZWluYmVyZyAgPHphY2tAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIHVwZGF0ZV92ZXJzaW9uOiBEbyBub3QgY2hlY2sgaW4gZmlsZXMgd2hpY2ggYXJlIHVuY2hhbmdlZC4KCSogZ2NjX3JlbGVhc2U6IE9ubHkgdXBkYXRlIHRoZSB2ZXJzaW9uIGluIGdjYy92ZXJzaW9uLmMuCgoyMDAyLTA5LTE3ICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jcyAoTUFOVUFMUyk6IEFkZCBmYXN0amFyLgoKMjAwMi0wOS0wOCAgSm9zZXBoIFMuIE15ZXJzICA8anNtQHBvbHlvbWluby5vcmcudWs+CgoJKiBnY2NfcmVsZWFzZTogTWFrZSBzbmFwc2hvdHMgY29tZSBmcm9tIHRoZSBtYWlubGluZS4KCSogc25hcHNob3QtUkVBRE1FOiBVcGRhdGUuCgoyMDAyLTA4LTI4ICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogUmVtb3ZlIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgZzc3X25ld3MuaHRtbCBhbmQKCWc3N19idWdzLmh0bWwuCgkqIHVwZGF0ZV93ZWJfZG9jc19vbGQ6IExpa2V3aXNlLiAgUmVtb3ZlIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcKCXRoYW5rcy5odG1sLgoKMjAwMi0wNy0yOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZ2NjX3JlbGVhc2U6IFVwZGF0ZSBjb21tZW50LgoKCSogc25hcHNob3QtUkVBRE1FOiBTbmFwc2hvdHMgYXJlIHRha2VuIGZyb20gR0NDIDMuMiBicmFuY2guCgoyMDAyLTA3LTI4ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX3JlbGVhc2U6IFVzZSB0aGUgMy4yIGJyYW5jaCBmb3Igc25hcHNob3RzLgoKMjAwMi0wNS0zMSAgRmxvcmlhbiBXZWltZXIgIDxmd0BkZW5lYi5lbnlvLmRlPgoKCSogdXBkYXRlX3dlYl9kb2NzIChNQU5VQUxTKTogSW5jbHVkZSB2YXJpb3VzIGZsYXZvdXJzIG9mIHRoZSBHTkFUCglVc2VyIEd1aWRlLgoKMjAwMi0wNS0yNyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3ZlcnNpb24gKHRleHRzdHJpbmdfRklMRVMpOiBDaGFuZ2UgZ2NjL2FkYS9nbmF0dnNuLmFkcyB0bwoJZ2NjL2djYy9hZGEvZ25hdHZzbi5hZHMuCgoyMDAyLTA1LTI2ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfcmVsZWFzZTogQWRkIGdjYy9hZGEvZ25hdHZzbi5hZHMgdG8gbGlzdCBvZiBmaWxlcyBpbiB3aGljaAoJcmVsZWFzZSBzdGF0dXMgaXMgdXBkYXRlZC4KCSogdXBkYXRlX3ZlcnNpb24gKHRleHRzdHJpbmdfRklMRVMpOiBBZGQgZ2NjL2FkYS9nbmF0dnNuLmFkcy4KCjIwMDItMDUtMjEgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBEbyB1cGxvYWQgZmlsZXMgd2hlbiBsb2NhbC4KCgkqIHNuYXBzaG90LVJFQURNRSwgc25hcHNob3QtaW5kZXguaHRtbDogUmVtb3ZlIGNoaWxsLgoKMjAwMi0wNS0wOCAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlOiBDb3JyZWN0IHVwbG9hZCBoYW5kbGluZy4KCjIwMDItMDQtMjIgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfZGlmZnMpOiBSZW1vdmUgcmVmZXJlbmNlIHRvIENoaWxsLgoKMjAwMi0wNC0yMSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzIChNQU5VQUxTKTogUmVtb3ZlIGNoaWxsLiAgQWRkIGduYXRfcm0uCgoyMDAyLTA0LTE5ICBLZWxsZXkgUi4gQ29vayAoa2VsbHkuci5jb29rQGdtLmNvbSkKCgkqIGdjY19yZWxlYXNlOiBTZXQgVFogdG8gVVRDMC4KCjIwMDItMDQtMTUgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfcmVsZWFzZSAoYnVpbGRfdGFyZmlsZXMpOiBEbyBub3QgYnVpbGQgQ2hpbGwgdGFyZmlsZXMuCgkoQ0hJTExfRElSUyk6IFJlbW92ZS4KCjIwMDItMDMtMTAgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBCdWlsZCBkaWZmcyBmb3IgYWRhIGFuZCBjaGlsbC4gIE1ha2UgImJ6aXAyIiBhIG5ldwoJbWFqb3IgbW9kZS4KCjIwMDItMDMtMDYgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIHVwZGF0ZV92ZXJzaW9uOiAgRG9uJ3QgaW5kZW50IHRoZSB2ZXJzaW9uIHN0cmluZy4KCjIwMDItMDMtMDUgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHNuYXBzaG90LVJFQURNRTogTm90ZSB0aGF0IHNuYXBzaG90cyBjb21lIGZyb20gdGhlIDMuMSBicmFuY2guCglVcGRhdGUgbGlzdCBvZiBmaWxlcy4KCjIwMDItMDMtMDMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBNYWtlIHNuYXBzaG90cyBjb21lIGZyb20gdGhlIDMuMSBicmFuY2guCgoyMDAyLTAyLTI1ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogdXBkYXRlX3ZlcnNpb246IEF1dG9tYXRpY2FsbHkgdXBkYXRlIHZlcnNpb24gZmlsZXMgb24gYWxsCglicmFuY2hlcy4KCSogY3JvbnRhYjogT25seSBpbnZva2UgdXBkYXRlX3ZlcnNpb24gb25jZS4KCjIwMDItMDItMjMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGdjY19yZWxlYXNlOiBSZXZlcnQgY2hhbmdlIHRvIC1wIGludGVyZmFjZS4gIEFsbG93IGZvciBsb2NhbCBhbmQKCXJlbW90ZSBjYXNlcyBpbiBjcmVhdGluZyBkaXJlY3Rvcmllcy4gIEdpdmUgYW4gZXJyb3IgaWYgLXAKCWFyZ3VtZW50IG5hbWVzIGEgZGlyZWN0b3J5LgoKMjAwMi0wMi0yMSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19yZWxlYXNlOiBDb3JyZWN0IGhhbmRsaW5nIG9mIGRpZmYtZ2VuZXJhdGlvbi4gIEFkZAoJImRpZmZzIiBtYWpvciBtb2RlLgoKMjAwMi0wMi0wOCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3JlbGVhc2U6IFN1YnN0aXR1dGUgZGF0ZXMgaW4gc25hcHNob3QtUkVBRE1FIGFuZAoJc25hcHNob3QtaW5kZXguaHRtbCBmaWxlcyByYXRoZXIgdGhhbiBkaXJlY3RseSB1c2luZyB0aGUgb2xkIGZpbGVzCglvbiB0aGUgRlRQIHNpdGUuICBTZXQgUU1BSUxIT1NULgoKMjAwMi0wMi0wOCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogc25hcHNob3QtaW5kZXguaHRtbDogSW1wcm92ZSBtYXJrdXAuCgoyMDAyLTAxLTI5ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBzbmFwc2hvdC1SRUFETUUsIHNuYXBzaG90LWluZGV4Lmh0bWw6IFVzZSBleHByZXNzaW9ucyBzdWNoIGFzCglAREFURUAgcmF0aGVyIHRoYW4gaGFyZGNvZGVkIGRhdGVzLgoKCSogc25hcHNob3QtUkVBRE1FLCBzbmFwc2hvdC1pbmRleC5odG1sOiBOZXcgZmlsZXMuCgoyMDAyLTAxLTA2ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiB1cGRhdGVfd2ViX2RvY3MgKGNvbnRyaWJfZmlsZSk6IFJlbW92ZS4KCUFsc28gcmVtb3Zpbmcgc3BlY2lhbCBoYW5kbGluZyBvZiB0aGFua3MuaHRtbC4KCjIwMDEtMTItMTcgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogVXNlIG1ha2VpbmZvIC0taHRtbCBpbnN0ZWFkIG9mIHRleGkyaHRtbC4KCVJlbW92ZSBzdXBwb3J0IGZvciBwcmUtMy4xIEdDQyB2ZXJzaW9ucy4gIEJ1aWxkIG9ubGluZSBkb2NzIGZvcgoJZ2NjaW50IG1hbnVhbC4KCjIwMDEtMTItMTcgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jc19vbGQ6IENvcHkgZnJvbSB1cGRhdGVfd2ViX2RvY3MuICBBZGQgY29tbWVudAoJdGhhdCB0aGlzIGlzIGZvciBHQ0MgMy4wLnggYW5kIGVhcmxpZXIgdmVyc2lvbnMuCgoyMDAxLTExLTE5ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfcmVsZWFzZTogQWRkIC91c3IvbG9jYWwvYmluIHRvIHBhdGggd2hlbiBsb2NhbC4KCjIwMDEtMTEtMDYgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogU2V0IFNPVVJDRURJUiBzbyB0aGF0IGluc3RhbGwgbWFudWFsIGNhbiBiZQoJZm91bmQgd2hlbiBydW5uaW5nIGluc3RhbGwudGV4aTJodG1sLgoKCSogZ2NjX3JlbGVhc2U6IERvbid0IHJlcXVpcmUgYSB1c2VybmFtZSBpZiBydW5uaW5nIGxvY2FsbHkuCgoyMDAxLTExLTA1ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB1cGRhdGVfd2ViX2RvY3M6IEVsaW1pbmF0ZSB3YXJuaW5ncyBhYm91dCBrZWVwaW5nIGZpbGVzIGZyb20gd2ViCglwYWdlIHByZXByb2Nlc3NpbmcuCgoJKiB1cGRhdGVfd2ViX2RvY3M6IEFsbG93IGZvciB0aGUgc2FtZSBmaWxlIG5hbWUgaW4gZGlmZmVyZW50CglkaXJlY3Rvcmllcy4KCjIwMDEtMTAtMjkgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogR2VuZXJhdGUgbGliaWJlcnR5IGFuZCBnbmF0LXN0eWxlIG1hbnVhbHMuCgoyMDAxLTEwLTI0ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfcmVsZWFzZTogQnVpbGQgc25hcHNob3RzIGZyb20gbWFpbmxpbmUuICBHZW5lcmF0ZSBBZGEgYW5kCglDaGlsbCB0YXJiYWxscy4gIENvcnJlY3QgZXJyb3IgY2hlY2sgd2hlbiBidWlsZGluZyBkaWZmcy4gIENoZWNrCglmb3IgZXJyb3JzIHdoZW4gYnVpbGRpbmcgYnppcDIgZmlsZXMuCgkqIGNyb250YWI6IFVzZSAvc291cmNld2FyZS9zbmFwc2hvdC10bXAgZm9yIGJ1aWxkaW5nIHNuYXBzaG90cy4KCjIwMDEtMTAtMDggIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIGNyb250YWI6IEJ1aWxkIHdlZWtseSBzbmFwc2hvdHMuCgoJKiBnY2NfcmVsZWFzZTogQ29weSBmcm9tIDMuMCBicmFuY2guICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgdGhlCgl3ZWVrbHkgc25hcHNob3RzIG9uIGdjYy5nbnUub3JnLgoKMjAwMS0wOC0yOCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBBbHNvIGNoZWNrIG91dCB0ZXhpbmZvLnRleCBmcm9tCglnY2MvZG9jL2luY2x1ZGUuCgoyMDAxLTA4LTA2ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiB1cGRhdGVfd2ViX2RvY3MgKFBSRVBST0NFU1MpOiBSZW5hbWUgdG8gV1dXUFJFUFJPQ0VTUy4KCVByZXByb2Nlc3MgdGhlIGVudGlyZSB3ZWIgc2l0ZSwgbm90IGp1c3QgdGhlIGluc3RhbGwgZG9jcy4KCjIwMDEtMDYtMjUgIFBoaWwgRWR3YXJkcyAgPHBtZUBzb3VyY2VzLnJlZGhhdC5jb20+CgoJKiB1cGRhdGVfdmVyc2lvbjogIEFkZCBjb21tYW5kLWxpbmUgYXJndW1lbnQgY2FwYWJpbGl0eSwgYWxzbwoJYnVtcCB2ZXJzaW9uIGZvciBsaWJzdGRjKystdjMsIGFuZCBleGl0IHdpdGggdGhlIHJldHVybiBjb2RlIGZyb20KCXRoZSBjdnMgY29tbWl0LgoJKiBjcm9udGFiOiAgQ2FsbCB1cGRhdGVfdmVyc2lvbiB3aXRoIGFyZ3VtZW50cyBpbnN0ZWFkIG9mCgljYWxsaW5nIHVwZGF0ZV9icmFuY2hfdmVyc2lvbi4KCSogdXBkYXRlX2JyYW5jaF92ZXJzaW9uOiAgUmVtb3ZlLgoKMjAwMS0wNi0wOCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogdXBkYXRlX3dlYl9kb2NzOiBPbmx5IHVwZGF0ZSB0aGUgaW5zdGFsbCBkb2N1bWVudGF0aW9uIGZvciB0aGUKCUNWUyBIRUFELgoKMjAwMS0wNi0wNyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzLCBkb2NfZXhjbHVkZTogQ2hlY2sgb3V0IGZpbGVzIHRoYXQgbWF5IGJlIGluIHRoZQoJQXR0aWMuICBDaGVjayBvdXQgdGV4aW5mby50ZXguICBEb24ndCBnZW5lcmF0ZSBhbnl0aGluZyBmcm9tCgljLXRyZWUudGV4aS4gIEdlbmVyYXRlIFBvc3RTY3JpcHQgb3V0cHV0IGZyb20gbWFudWFscy4KCjIwMDEtMDYtMDQgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHVwZGF0ZV93ZWJfZG9jcyAoV1dXQkFTRV9QUkVGT1JNQVRURUQsIFBSRVBST0NFU1MpOiBOZXcKCXZhcmlhYmxlcy4KCUZpeCBhIGNvbW1lbnQgYW5kIGFkZCBhbm90aGVyIG9uZS4KCUdlbmVyYXRlIHRoZSBpbnN0YWxsYXRpb24gZG9jdW1lbnRhdGlvbiBpbiBIVE1MIGZvcm1hdCBmcm9tCglnY2MvZG9jL2luc3RhbGwudGV4aS4KCjIwMDEtMDUtMDMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogRG9uJ3QgZ2VuZXJhdGUgSFRNTCBmcm9tIGd4eGludC50ZXhpLiAgRG9uJ3QKCXJ1biB0ZXhpMmh0bWwgb24gbWFudWFscyB0aGF0IGFyZW4ndCBwcmVzZW50LgoKMjAwMS0wMy0xOCAgUGhpbCBFZHdhcmRzICA8cG1lQHNvdXJjZXMucmVkaGF0LmNvbT4KCgkqIHVwZGF0ZV93ZWJfZG9jc19saWJzdGRjeHg6ICBOZXcgc2NyaXB0LgoJKiBjcm9udGFiOiAgQ2FsbCBzYWlkIHNjcmlwdC4KCjIwMDEtMDMtMTggIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHVwZGF0ZV92ZXJzaW9uLCB1cGRhdGVfYnJhbmNoX3ZlcnNpb246IENoZWNrIG91dCB3aXRoIGdjYwoJZGlyZWN0b3J5IGluc3RlYWQgb2YgdXNpbmcgZWdjcyBsaW5rLgoKMjAwMS0wMy0xNyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogdXBkYXRlX3dlYl9kb2NzOiBEb24ndCBzdHJpcCBsZWFkaW5nIC1yIGZyb20gYXJndW1lbnQgZm9sbG93aW5nCgktciwgb3IgbGVhZGluZyAtZCBmcm9tIGFyZ3VtZW50IGZvbGxvd2luZyAtZC4gIEJ1ZyBwb2ludGVkIG91dCBieQoJTWF0dCBLcmFhaS4KCgkqIHVwZGF0ZV93ZWJfZG9jczogSGFuZGxlIC1yIGFuZCAtZCBvcHRpb25zIHRvIGdlbmVyYXRlIGRvY3MgZm9yIGEKCXJlbGVhc2Ugb3IgYnJhbmNoIGluIGEgc3ViZGlyZWN0b3J5LiAgRGV0ZXJtaW5lIG5hbWVzIG9mIEc3NyBuZXdzCglhbmQgYnVncyBmaWxlcyBhbmQgY29udHJpYnV0b3JzIGZpbGUgYWZ0ZXIgdXBkYXRlZCBkb2NzIGhhdmUgYmVlbgoJaW5zdGFsbGVkLCBub3QgYmVmb3JlLiAgRG9uJ3QgcmVtb3ZlIGZpbGVzIGZyb20gYSBzdWJkaXJlY3RvcnkuCglEb24ndCBnZW5lcmF0ZSBtYW51YWxzIGZvciBnY292IChpbmNsdWRlZCBpbiB0aGUgR0NDIG1hbnVhbCkgb3IKCWlvc3RyZWFtIChvYnNvbGV0ZSkuICBEbyBnZW5lcmF0ZSBtYW51YWxzIGZvciBjcHBpbnRlcm5hbHMsIGdjagoJYW5kIHBvcnRpbmcuICBVcGRhdGUgcmVndWxhciBleHByZXNzaW9ucyBmb3IgZGV0ZWN0aW5nIHdoZXRoZXIKCWZpbGVzIGhhdmUgcmVhbGx5IGNoYW5nZWQgd2hlbiByZWdlbmVyYXRlZC4KCjIwMDEtMDMtMTUgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHVwZGF0ZV93ZWJfZG9jczogVXNlIC91c3IvbG9jYWwvYmluL3RleGkyaHRtbCByYXRoZXIgdGhhbgoJZ2NjYWRtaW4ncyBsb2NhbCBjb3B5LgoKMjAwMS0wMy0xMCAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogY3JvbnRhYiwgZG9jX2V4Y2x1ZGUsIHVwZGF0ZV9icmFuY2hfdmVyc2lvbiwgdXBkYXRlX3ZlcnNpb24sCgl1cGRhdGVfd2ViX2RvY3M6IE5ldyBmaWxlcyAoYXMgY3VycmVudGx5IHVzZWQgYnkgZ2NjYWRtaW4pLgoJKiBSRUFETUU6IE5ldyBmaWxlLgo=