ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvY2EvY2FfRVMuZGlmZiBiL3J1bnRpbWUvc3BlbGwvY2EvY2FfRVMuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGEzYjBhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zcGVsbC9jYS9jYV9FUy5kaWZmCkBAIC0wLDAgKzEsNzYgQEAKKyoqKiBjYV9FUy5vcmlnLmFmZglTYXQgQXVnIDEzIDE4OjAxOjM2IDIwMDUKKy0tLSBjYV9FUy5hZmYJU2F0IEF1ZyAxMyAxODowMTozMiAyMDA1CisqKioqKioqKioqKioqKioKKyoqKiA0NCw0OCAqKioqCisgIAorISAjIHN1YnN0aXR1Y2lvbnMgcHJlZmVyaWRlcworISBGSVJTVCBhL+AgZS/pL+gg6S/oL2Ug6C/pL2UgaS/tL+8g7S9pL+8gby/zL/Ig8y/yL28g8i/zL28gdS/6L/wg+i91L/wg/C91L/oKKyEgRklSU1QgbC9st2wgbLdsL2wKKyAgCistLS0gNDQsNjUgLS0tLQorICAKKyEgRk9MICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/worISBMT1cgIODh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//CishIFVQUCAgwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e3/8KKyEgCishIFNPRk9GUk9NIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVrg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3r8KKyEgU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPworISAKKyEgTUlEV09SRAm3LScKKyEgCishIE1BUCA2CishIE1BUCBh4OHi4+TlCishIE1BUCBl6Onq6worISBNQVAgaezt7u8KKyEgTUFQIG/y8/T19gorISBNQVAgdfn6+/wKKyEgTUFQIGPnCishIAorISBSRVAgMgorISBSRVAgbCBst2wKKyEgUkVQIGy3bCBsCisgIAorKioqIGNhX0VTLm9yaWcuZGljCVNhdCBBdWcgMTMgMTg6MDE6NTUgMjAwNQorLS0tIGNhX0VTLmRpYwlTYXQgQXVnIDEzIDE4OjAxOjUxIDIwMDUKKyoqKioqKioqKioqKioqKgorKioqIDI1MzEyLDI1MzE0ICoqKioKKyAgY2Fvcy9FCistIGNhcAorICBjYXAtcm9kby9FCistLS0gMjUzMTIsMjUzMTMgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMzUxMDMsMzUxMDUgKioqKgorICBjb3JyYXNp8y9HCistIGNvcnJlCisgIGNvcnJlLWNvcnJlbnRzCistLS0gMzUxMDIsMzUxMDMgLS0tLQorKioqKioqKioqKioqKioqCisqKiogOTk4MDYsOTk4MDggKioqKgorICBtYWr6c2N1bC9GCistIG1hbAorICBtYWwtbGxldmF0L0UKKy0tLSA5OTgwNCw5OTgwNSAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAxMDc1MTcsMTA3NTE5ICoqKioKKyAgbm908nJpYW1lbnQKKy0gbm91CisgIG5vdS1jZW50ZXMvRQorLS0tIDEwNzUxNCwxMDc1MTUgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMTIyNjg3LDEyMjY4OSAqKioqCisgIHJhdOBuaWEvRQorLSByYXUKKyAgcmF1LXJhdS9FCistLS0gMTIyNjgzLDEyMjY4NCAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAxMzkzODksMTM5MzkxICoqKioKKyAgdGH8dC9FCistIHRlCisgIHRlJ2wKKy0tLSAxMzkzODQsMTM5Mzg1IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDE0NzU5MCwxNDc1OTIgKioqKgorICB2aXTtY29sYS9FCistIHZpdQorICB2aXUtdml1L0UKKy0tLSAxNDc1ODQsMTQ3NTg1IC0tLS0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvY2EvbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL2NhL21haW4uYWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyZjczNTAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3NwZWxsL2NhL21haW4uYWFwCkBAIC0wLDAgKzEsODEgQEAKKyMgQWFwIHJlY2lwZSBmb3IgQ2F0ZWxhbiAoU3BhaW4pIFZpbSBzcGVsbCBmaWxlcy4KKworIyBVc2UgYSBmcmVzaGx5IGNvbXBpbGVkIFZpbSBpZiBpdCBleGlzdHMuCitAaWYgb3MucGF0aC5leGlzdHMoJy4uLy4uLy4uL3NyYy92aW0nKToKKyAgICBWSU0gPSAuLi8uLi8uLi9zcmMvdmltCitAZWxzZToKKyAgICA6cHJvZ3NlYXJjaCBWSU0gdmltCisKK1NQRUxMRElSID0gLi4KK0ZJTEVTICAgID0gY2FfRVMuYWZmIGNhX0VTLmRpYworCithbGw6ICRTUEVMTERJUi9jYS5sYXRpbjEuc3BsICRTUEVMTERJUi9jYS51dGYtOC5zcGwgLi4vUkVBRE1FX2NhLnR4dAorCiskU1BFTExESVIvY2EubGF0aW4xLnNwbCA6ICRWSU0gJEZJTEVTCisgICAgICAgIDpzeXMgZW52IExBTkc9Y2FfRVMuSVNPODg1OS0xCisJCSRWSU0gLXUgTk9ORSAtZSAtYyAibWtzcGVsbCEgJFNQRUxMRElSL2NhIGNhX0VTIiAtYyBxCisKKyRTUEVMTERJUi9jYS51dGYtOC5zcGwgOiAkVklNICRGSUxFUworICAgICAgICA6c3lzIGVudiBMQU5HPWNhX0VTLlVURi04CisJCSRWSU0gLXUgTk9ORSAtZSAtYyAibWtzcGVsbCEgJFNQRUxMRElSL2NhIGNhX0VTIiAtYyBxCisKKy4uL1JFQURNRV9jYS50eHQgOiBSRUFETUVfY2FfRVMudHh0CisgICAgICAgIDpjb3B5ICRzb3VyY2UgJHRhcmdldAorCisjCisjIEZldGNoaW5nIHRoZSBmaWxlcyBmcm9tIE9wZW5PZmZpY2Uub3JnLgorIworT09ESVIgPSBodHRwOi8vZnRwLnNlcnZpY2VzLm9wZW5vZmZpY2Uub3JnL3B1Yi9PcGVuT2ZmaWNlLm9yZy9jb250cmliL2RpY3Rpb25hcmllcworOmF0dHIge2ZldGNoID0gJE9PRElSLyVmaWxlJX0gY2FfRVMuemlwCisKKyMgVGhlIGZpbGVzIGRvbid0IGRlcGVuZCBvbiB0aGUgLnppcCBmaWxlIHNvIHRoYXQgd2UgY2FuIGRlbGV0ZSBpdC4KKyMgT25seSBkb3dubG9hZCB0aGUgemlwIGZpbGUgaWYgdGhlIHRhcmdldHMgZG9uJ3QgZXhpc3QuCisjIE1ha2Ugc3VyZSB0aGUgZmlsZXMgYXJlIGluIFVuaXggZmlsZWZvcm1hdAorY2FfRVMuYWZmIGNhX0VTLmRpYzoge2J1aWxkY2hlY2s9fQorICAgICAgICA6YXNzZXJ0cGtnIHVuemlwIHBhdGNoCisgICAgICAgIDpmZXRjaCBjYV9FUy56aXAKKyAgICAgICAgOnN5cyAkVU5aSVAgY2FfRVMuemlwCisgICAgICAgIDpkZWxldGUgY2FfRVMuemlwCisgICAgICAgIDpzeXMgJFZJTSBjYV9FUy5hZmYgLWMgInNldCBmZj11bml4IiAtYyAidXBkYXRlIiAtYyBxCisgICAgICAgIDpzeXMgJFZJTSBjYV9FUy5kaWMgLWMgInNldCBmZj11bml4IiAtYyAidXBkYXRlIiAtYyBxCisgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ2NhX0VTLm9yaWcuYWZmJyk6CisgICAgICAgICAgICA6Y29weSBjYV9FUy5hZmYgY2FfRVMub3JpZy5hZmYKKyAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygnY2FfRVMub3JpZy5kaWMnKToKKyAgICAgICAgICAgIDpjb3B5IGNhX0VTLmRpYyBjYV9FUy5vcmlnLmRpYworICAgICAgICBAaWYgb3MucGF0aC5leGlzdHMoJ2NhX0VTLmRpZmYnKToKKyAgICAgICAgICAgIDpzeXMgcGF0Y2ggPGNhX0VTLmRpZmYKKworCisjIEdlbmVyYXRlIGRpZmYgZmlsZXMsIHNvIHRoYXQgb3RoZXJzIGNhbiBnZXQgdGhlIE9wZW5PZmZpY2UgZmlsZXMgYW5kIGFwcGx5CisjIHRoZSBkaWZmcyB0byBnZXQgdGhlIFZpbSB2ZXJzaW9ucy4KKworZGlmZjoKKyAgICAgICAgOmFzc2VydHBrZyBkaWZmCisgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC1hIC1DIDEgY2FfRVMub3JpZy5hZmYgY2FfRVMuYWZmID5jYV9FUy5kaWZmCisgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC1hIC1DIDEgY2FfRVMub3JpZy5kaWMgY2FfRVMuZGljID4+Y2FfRVMuZGlmZgorCisKKyMgQ2hlY2sgZm9yIHVwZGF0ZWQgT3Blbk9mZmljZSBzcGVsbCBmaWxlcy4gIFdoZW4gdGhlcmUgYXJlIGNoYW5nZXMgdGhlCisjICIubmV3LmFmZiIgYW5kICIubmV3LmRpYyIgZmlsZXMgYXJlIGxlZnQgYmVoaW5kIGZvciBtYW51YWwgaW5zcGVjdGlvbi4KKworY2hlY2s6CisgICAgICAgIDphc3NlcnRwa2cgdW56aXAgZGlmZgorICAgICAgICA6ZmV0Y2ggY2FfRVMuemlwCisgICAgICAgIDpta2RpciB0bXAKKyAgICAgICAgOmNkIHRtcAorICAgICAgICBAdHJ5OgorICAgICAgICAgICAgQGltcG9ydCBzdGF0CisgICAgICAgICAgICA6c3lzICRVTlpJUCAuLi9jYV9FUy56aXAKKyAgICAgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC4uL2NhX0VTLm9yaWcuYWZmIGNhX0VTLmFmZiA+ZAorICAgICAgICAgICAgQGlmIG9zLnN0YXQoJ2QnKVtzdGF0LlNUX1NJWkVdID4gMDoKKyAgICAgICAgICAgICAgICA6Y29weSBjYV9FUy5hZmYgLi4vY2FfRVMubmV3LmFmZgorICAgICAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLi4vY2FfRVMub3JpZy5kaWMgY2FfRVMuZGljID5kCisgICAgICAgICAgICBAaWYgb3Muc3RhdCgnZCcpW3N0YXQuU1RfU0laRV0gPiAwOgorICAgICAgICAgICAgICAgIDpjb3B5IGNhX0VTLmRpYyAuLi9jYV9FUy5uZXcuZGljCisgICAgICAgIEBmaW5hbGx5OgorICAgICAgICAgICAgOmNkIC4uCisgICAgICAgICAgICA6ZGVsZXRlIHtyfXtmfXtxfSB0bXAKKyAgICAgICAgICAgIDpkZWxldGUgY2FfRVMuemlwCisKKworIyB2aW06IHNldCBzdHM9NCBzdz00IDoK