[3.13] gh-105812: Make use of the Sphinx `deco` role in documentation (GH-139598) (#154983)
hugovk <[email protected]> Fri, 31 Jul 2026 05:31:59 -0400 (EDT)
| Newsgroups | gmane.comp.python.cvs |
|---|---|
| Message-ID | <[email protected]> |
aHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC8xZTU3N2UxODQyMWY2ZmU4 MDY1NTk3ODdjZWE4NmExNDZiMTA3M2FhDQpjb21taXQ6IDFlNTc3ZTE4NDIxZjZmZTgwNjU1OTc4 N2NlYTg2YTE0NmIxMDczYWENCmJyYW5jaDogMy4xMw0KYXV0aG9yOiBIdWdvIHZhbiBLZW1lbmFk ZSA8MTMyNDIyNStodWdvdmtAdXNlcnMubm9yZXBseS5naXRodWIuY29tPg0KY29tbWl0dGVyOiBo dWdvdmsgPDEzMjQyMjUraHVnb3ZrQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4NCmRhdGU6IDIw MjYtMDctMzFUMDk6MzE6NDRaDQpzdW1tYXJ5Og0KDQpbMy4xM10gZ2gtMTA1ODEyOiBNYWtlIHVz ZSBvZiB0aGUgU3BoaW54IGBkZWNvYCByb2xlIGluIGRvY3VtZW50YXRpb24gKEdILTEzOTU5OCkg KCMxNTQ5ODMpDQoNCkNvLWF1dGhvcmVkLWJ5OiBWaWN0b3JpZW4gPDY1MzA2MDU3K1ZpaWNvc0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+DQoNCmZpbGVzOg0KTSBEb2MvYy1hcGkvZXhjZXB0aW9u cy5yc3QNCk0gRG9jL2MtYXBpL3N0cnVjdHVyZXMucnN0DQpNIERvYy9kZXByZWNhdGlvbnMvcGVu ZGluZy1yZW1vdmFsLWluLTMuMTUucnN0DQpNIERvYy9mYXEvcHJvZ3JhbW1pbmcucnN0DQpNIERv Yy9nbG9zc2FyeS5yc3QNCk0gRG9jL2hvd3RvL2Fubm90YXRpb25zLnJzdA0KTSBEb2MvaG93dG8v ZGVzY3JpcHRvci5yc3QNCk0gRG9jL2hvd3RvL2VudW0ucnN0DQpNIERvYy9ob3d0by9zb3J0aW5n LnJzdA0KTSBEb2MvbGlicmFyeS9hYmMucnN0DQpNIERvYy9saWJyYXJ5L2Jpc2VjdC5yc3QNCk0g RG9jL2xpYnJhcnkvY29sbGVjdGlvbnMucnN0DQpNIERvYy9saWJyYXJ5L2NvbnRleHRsaWIucnN0 DQpNIERvYy9saWJyYXJ5L2N0eXBlcy5yc3QNCk0gRG9jL2xpYnJhcnkvZW51bS5yc3QNCk0gRG9j L2xpYnJhcnkvZm5tYXRjaC5yc3QNCk0gRG9jL2xpYnJhcnkvZnVuY3Rpb25zLnJzdA0KTSBEb2Mv bGlicmFyeS9mdW5jdG9vbHMucnN0DQpNIERvYy9saWJyYXJ5L3RhcmZpbGUucnN0DQpNIERvYy9s aWJyYXJ5L3Rlc3QucnN0DQpNIERvYy9saWJyYXJ5L3R5cGluZy5yc3QNCk0gRG9jL2xpYnJhcnkv dW5pdHRlc3QucnN0DQpNIERvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdA0KTSBEb2MvcmVmZXJl bmNlL2V4cHJlc3Npb25zLnJzdA0KTSBEb2MvcmVmZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QNCk0g RG9jL3doYXRzbmV3LzIuNi5yc3QNCk0gRG9jL3doYXRzbmV3LzIuNy5yc3QNCk0gRG9jL3doYXRz bmV3LzMuMTAucnN0DQpNIERvYy93aGF0c25ldy8zLjExLnJzdA0KTSBEb2Mvd2hhdHNuZXcvMy4x Mi5yc3QNCk0gRG9jL3doYXRzbmV3LzMuMTMucnN0DQpNIERvYy93aGF0c25ldy8zLjIucnN0DQpN IERvYy93aGF0c25ldy8zLjMucnN0DQpNIERvYy93aGF0c25ldy8zLjQucnN0DQpNIERvYy93aGF0 c25ldy8zLjUucnN0DQpNIERvYy93aGF0c25ldy8zLjcucnN0DQpNIERvYy93aGF0c25ldy8zLjgu cnN0DQoNCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QgYi9Eb2MvYy1hcGkv ZXhjZXB0aW9ucy5yc3QNCmluZGV4IGY0MWUyMTY5Y2I4MGYzZi4uZWU1NzM5YjQ0Yzc4ZTJkIDEw MDY0NA0KLS0tIGEvRG9jL2MtYXBpL2V4Y2VwdGlvbnMucnN0DQorKysgYi9Eb2MvYy1hcGkvZXhj ZXB0aW9ucy5yc3QNCkBAIC0xMDE3LDcgKzEwMTcsNyBAQCBQcm9wZXJseSBpbXBsZW1lbnRpbmcg OmM6bWVtYmVyOmB+UHlUeXBlT2JqZWN0LnRwX3JlcHJgIGZvciBjb250YWluZXIgdHlwZXMgcmVx dQ0KIHNwZWNpYWwgcmVjdXJzaW9uIGhhbmRsaW5nLiAgSW4gYWRkaXRpb24gdG8gcHJvdGVjdGlu ZyB0aGUgc3RhY2ssDQogOmM6bWVtYmVyOmB+UHlUeXBlT2JqZWN0LnRwX3JlcHJgIGFsc28gbmVl ZHMgdG8gdHJhY2sgb2JqZWN0cyB0byBwcmV2ZW50IGN5Y2xlcy4gIFRoZQ0KIGZvbGxvd2luZyB0 d28gZnVuY3Rpb25zIGZhY2lsaXRhdGUgdGhpcyBmdW5jdGlvbmFsaXR5LiAgRWZmZWN0aXZlbHks DQotdGhlc2UgYXJlIHRoZSBDIGVxdWl2YWxlbnQgdG8gOmZ1bmM6YHJlcHJsaWIucmVjdXJzaXZl X3JlcHJgLg0KK3RoZXNlIGFyZSB0aGUgQyBlcXVpdmFsZW50IHRvIDpkZWNvOmByZXBybGliLnJl Y3Vyc2l2ZV9yZXByYC4NCiANCiAuLiBjOmZ1bmN0aW9uOjogaW50IFB5X1JlcHJFbnRlcihQeU9i amVjdCAqb2JqZWN0KQ0KIA0KZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9zdHJ1Y3R1cmVzLnJzdCBi L0RvYy9jLWFwaS9zdHJ1Y3R1cmVzLnJzdA0KaW5kZXggY2E5NGNmMTgxNjVmYWRmLi43NmNmMTZl MmNiMDgzYTUgMTAwNjQ0DQotLS0gYS9Eb2MvYy1hcGkvc3RydWN0dXJlcy5yc3QNCisrKyBiL0Rv Yy9jLWFwaS9zdHJ1Y3R1cmVzLnJzdA0KQEAgLTM3Niw4ICszNzYsOCBAQCBtZXRob2QuDQogDQog ICAgVGhlIG1ldGhvZCB3aWxsIGJlIHBhc3NlZCB0aGUgdHlwZSBvYmplY3QgYXMgdGhlIGZpcnN0 IHBhcmFtZXRlciByYXRoZXINCiAgICB0aGFuIGFuIGluc3RhbmNlIG9mIHRoZSB0eXBlLiAgVGhp cyBpcyB1c2VkIHRvIGNyZWF0ZSAqY2xhc3MgbWV0aG9kcyosDQotICAgc2ltaWxhciB0byB3aGF0 IGlzIGNyZWF0ZWQgd2hlbiB1c2luZyB0aGUgOmZ1bmM6YGNsYXNzbWV0aG9kYCBidWlsdC1pbg0K LSAgIGZ1bmN0aW9uLg0KKyAgIHNpbWlsYXIgdG8gd2hhdCBpcyBjcmVhdGVkIHdoZW4gdXNpbmcg dGhlIDpkZWNvOmBjbGFzc21ldGhvZGAgYnVpbHQtaW4NCisgICBkZWNvcmF0b3IuDQogDQogDQog Li4gYzptYWNybzo6IE1FVEhfU1RBVElDDQpAQCAtMzg2LDcgKzM4Niw3IEBAIG1ldGhvZC4NCiAN CiAgICBUaGUgbWV0aG9kIHdpbGwgYmUgcGFzc2VkIGBgTlVMTGBgIGFzIHRoZSBmaXJzdCBwYXJh bWV0ZXIgcmF0aGVyIHRoYW4gYW4NCiAgICBpbnN0YW5jZSBvZiB0aGUgdHlwZS4gIFRoaXMgaXMg dXNlZCB0byBjcmVhdGUgKnN0YXRpYyBtZXRob2RzKiwgc2ltaWxhciB0bw0KLSAgIHdoYXQgaXMg Y3JlYXRlZCB3aGVuIHVzaW5nIHRoZSA6ZnVuYzpgc3RhdGljbWV0aG9kYCBidWlsdC1pbiBmdW5j dGlvbi4NCisgICB3aGF0IGlzIGNyZWF0ZWQgd2hlbiB1c2luZyB0aGUgOmRlY286YHN0YXRpY21l dGhvZGAgYnVpbHQtaW4gZGVjb3JhdG9yLg0KIA0KIE9uZSBvdGhlciBjb25zdGFudCBjb250cm9s cyB3aGV0aGVyIGEgbWV0aG9kIGlzIGxvYWRlZCBpbiBwbGFjZSBvZiBhbm90aGVyDQogZGVmaW5p dGlvbiB3aXRoIHRoZSBzYW1lIG1ldGhvZCBuYW1lLg0KZGlmZiAtLWdpdCBhL0RvYy9kZXByZWNh dGlvbnMvcGVuZGluZy1yZW1vdmFsLWluLTMuMTUucnN0IGIvRG9jL2RlcHJlY2F0aW9ucy9wZW5k aW5nLXJlbW92YWwtaW4tMy4xNS5yc3QNCmluZGV4IGZjMDg1ZDE3MzQzOGI3Ny4uZWIzZGM0ZjE3 NWQzYzhjIDEwMDY0NA0KLS0tIGEvRG9jL2RlcHJlY2F0aW9ucy9wZW5kaW5nLXJlbW92YWwtaW4t My4xNS5yc3QNCisrKyBiL0RvYy9kZXByZWNhdGlvbnMvcGVuZGluZy1yZW1vdmFsLWluLTMuMTUu cnN0DQpAQCAtODIsNyArODIsNyBAQCBQZW5kaW5nIFJlbW92YWwgaW4gUHl0aG9uIDMuMTUNCiAg ICAgVXNlIGBgY2xhc3MgVEQoVHlwZWREaWN0KTogcGFzc2BgIG9yIGBgVEQgPSBUeXBlZERpY3Qo IlREIiwge30pYGANCiAgICAgdG8gY3JlYXRlIGEgVHlwZWREaWN0IHdpdGggemVybyBmaWVsZC4N CiANCi0gICogVGhlIDpmdW5jOmB0eXBpbmcubm9fdHlwZV9jaGVja19kZWNvcmF0b3JgIGRlY29y YXRvciBmdW5jdGlvbg0KKyAgKiBUaGUgOmRlY286YHR5cGluZy5ub190eXBlX2NoZWNrX2RlY29y YXRvcmAgZGVjb3JhdG9yIGZ1bmN0aW9uDQogICAgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2Ug UHl0aG9uIDMuMTMuDQogICAgIEFmdGVyIGVpZ2h0IHllYXJzIGluIHRoZSA6bW9kOmB0eXBpbmdg IG1vZHVsZSwNCiAgICAgaXQgaGFzIHlldCB0byBiZSBzdXBwb3J0ZWQgYnkgYW55IG1ham9yIHR5 cGUgY2hlY2tlci4NCmRpZmYgLS1naXQgYS9Eb2MvZmFxL3Byb2dyYW1taW5nLnJzdCBiL0RvYy9m YXEvcHJvZ3JhbW1pbmcucnN0DQppbmRleCA5OGIyOTg3NWIyNzJmZWIuLjczN2E3YzYwNzdmYTBk NSAxMDA2NDQNCi0tLSBhL0RvYy9mYXEvcHJvZ3JhbW1pbmcucnN0DQorKysgYi9Eb2MvZmFxL3By b2dyYW1taW5nLnJzdA0KQEAgLTIwMDEsNyArMjAwMSw3IEBAIEhvdyBkbyBJIGNhY2hlIG1ldGhv ZCBjYWxscz8NCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQogVGhlIHR3byBwcmlu Y2lwYWwgdG9vbHMgZm9yIGNhY2hpbmcgbWV0aG9kcyBhcmUNCi06ZnVuYzpgZnVuY3Rvb2xzLmNh Y2hlZF9wcm9wZXJ0eWAgYW5kIDpmdW5jOmBmdW5jdG9vbHMubHJ1X2NhY2hlYC4gIFRoZQ0KKzpk ZWNvOmBmdW5jdG9vbHMuY2FjaGVkX3Byb3BlcnR5YCBhbmQgOmRlY286YGZ1bmN0b29scy5scnVf Y2FjaGVgLiAgVGhlDQogZm9ybWVyIHN0b3JlcyByZXN1bHRzIGF0IHRoZSBpbnN0YW5jZSBsZXZl bCBhbmQgdGhlIGxhdHRlciBhdCB0aGUgY2xhc3MNCiBsZXZlbC4NCiANCmRpZmYgLS1naXQgYS9E b2MvZ2xvc3NhcnkucnN0IGIvRG9jL2dsb3NzYXJ5LnJzdA0KaW5kZXggYTMxYzY5OWIxMzk5M2Q5 Li44Y2FkNjdkNzg0NmVmMDkgMTAwNjQ0DQotLS0gYS9Eb2MvZ2xvc3NhcnkucnN0DQorKysgYi9E b2MvZ2xvc3NhcnkucnN0DQpAQCAtMzgyLDcgKzM4Miw3IEBAIEdsb3NzYXJ5DQogICAgZGVjb3Jh dG9yDQogICAgICAgQSBmdW5jdGlvbiByZXR1cm5pbmcgYW5vdGhlciBmdW5jdGlvbiwgdXN1YWxs eSBhcHBsaWVkIGFzIGEgZnVuY3Rpb24NCiAgICAgICB0cmFuc2Zvcm1hdGlvbiB1c2luZyB0aGUg YGBAd3JhcHBlcmBgIHN5bnRheC4gIENvbW1vbiBleGFtcGxlcyBmb3INCi0gICAgICBkZWNvcmF0 b3JzIGFyZSA6ZnVuYzpgY2xhc3NtZXRob2RgIGFuZCA6ZnVuYzpgc3RhdGljbWV0aG9kYC4NCisg ICAgICBkZWNvcmF0b3JzIGFyZSA6ZGVjbzpgY2xhc3NtZXRob2RgIGFuZCA6ZGVjbzpgc3RhdGlj bWV0aG9kYC4NCiANCiAgICAgICBUaGUgZGVjb3JhdG9yIHN5bnRheCBpcyBtZXJlbHkgc3ludGFj dGljIHN1Z2FyLCB0aGUgZm9sbG93aW5nIHR3bw0KICAgICAgIGZ1bmN0aW9uIGRlZmluaXRpb25z IGFyZSBzZW1hbnRpY2FsbHkgZXF1aXZhbGVudDo6DQpAQCAtNjQyLDcgKzY0Miw3IEBAIEdsb3Nz YXJ5DQogICAgICAgZGV0ZXJtaW5lZCBieSB0aGUgZGlzcGF0Y2ggYWxnb3JpdGhtLg0KIA0KICAg ICAgIFNlZSBhbHNvIHRoZSA6dGVybTpgc2luZ2xlIGRpc3BhdGNoYCBnbG9zc2FyeSBlbnRyeSwg dGhlDQotICAgICAgOmZ1bmM6YGZ1bmN0b29scy5zaW5nbGVkaXNwYXRjaGAgZGVjb3JhdG9yLCBh bmQgOnBlcDpgNDQzYC4NCisgICAgICA6ZGVjbzpgZnVuY3Rvb2xzLnNpbmdsZWRpc3BhdGNoYCBk ZWNvcmF0b3IsIGFuZCA6cGVwOmA0NDNgLg0KIA0KICAgIGdlbmVyaWMgdHlwZQ0KICAgICAgIEEg OnRlcm06YHR5cGVgIHRoYXQgY2FuIGJlIHBhcmFtZXRlcml6ZWQ7IHR5cGljYWxseSBhDQpkaWZm IC0tZ2l0IGEvRG9jL2hvd3RvL2Fubm90YXRpb25zLnJzdCBiL0RvYy9ob3d0by9hbm5vdGF0aW9u cy5yc3QNCmluZGV4IDE3NDA3OGI4NGFhNWE4My4uMmE3YTRlYjIzMDA3Mzc0IDEwMDY0NA0KLS0t IGEvRG9jL2hvd3RvL2Fubm90YXRpb25zLnJzdA0KKysrIGIvRG9jL2hvd3RvL2Fubm90YXRpb25z LnJzdA0KQEAgLTE0OSw3ICsxNDksNyBAQCBvbiBhbiBhcmJpdHJhcnkgb2JqZWN0IGBgb2BgOg0K ICAgYXMgdGhlIGBgZ2xvYmFsc2BgLCBhbmQgYGBkaWN0KHZhcnMobykpYGAgYXMgdGhlIGBgbG9j YWxzYGAsDQogICB3aGVuIGNhbGxpbmcgOmZ1bmM6YGV2YWxgLg0KICogSWYgYGBvYGAgaXMgYSB3 cmFwcGVkIGNhbGxhYmxlIHVzaW5nIDpmdW5jOmBmdW5jdG9vbHMudXBkYXRlX3dyYXBwZXJgLA0K LSAgOmZ1bmM6YGZ1bmN0b29scy53cmFwc2AsIG9yIDpmdW5jOmBmdW5jdG9vbHMucGFydGlhbGAs IGl0ZXJhdGl2ZWx5DQorICA6ZGVjbzpgZnVuY3Rvb2xzLndyYXBzYCwgb3IgOmZ1bmM6YGZ1bmN0 b29scy5wYXJ0aWFsYCwgaXRlcmF0aXZlbHkNCiAgIHVud3JhcCBpdCBieSBhY2Nlc3NpbmcgZWl0 aGVyIGBgby5fX3dyYXBwZWRfX2BgIG9yIGBgby5mdW5jYGAgYXMNCiAgIGFwcHJvcHJpYXRlLCB1 bnRpbCB5b3UgaGF2ZSBmb3VuZCB0aGUgcm9vdCB1bndyYXBwZWQgZnVuY3Rpb24uDQogKiBJZiBg YG9gYCBpcyBhIGNhbGxhYmxlIChidXQgbm90IGEgY2xhc3MpLCB1c2UNCmRpZmYgLS1naXQgYS9E b2MvaG93dG8vZGVzY3JpcHRvci5yc3QgYi9Eb2MvaG93dG8vZGVzY3JpcHRvci5yc3QNCmluZGV4 IDZiMmM4YTdkMTQyNThhYi4uNzE0ODgyNjljNDdiNzA2IDEwMDY0NA0KLS0tIGEvRG9jL2hvd3Rv L2Rlc2NyaXB0b3IucnN0DQorKysgYi9Eb2MvaG93dG8vZGVzY3JpcHRvci5yc3QNCkBAIC0yOCw3 ICsyOCw3IEBAIFRoaXMgZ3VpZGUgaGFzIGZvdXIgbWFqb3Igc2VjdGlvbnM6DQogNCkgVGhlIGxh c3Qgc2VjdGlvbiBoYXMgcHVyZSBQeXRob24gZXF1aXZhbGVudHMgZm9yIGJ1aWx0LWluIGRlc2Ny aXB0b3JzIHRoYXQNCiAgICBhcmUgd3JpdHRlbiBpbiBDLiAgUmVhZCB0aGlzIGlmIHlvdSdyZSBj dXJpb3VzIGFib3V0IGhvdyBmdW5jdGlvbnMgdHVybg0KICAgIGludG8gYm91bmQgbWV0aG9kcyBv ciBhYm91dCB0aGUgaW1wbGVtZW50YXRpb24gb2YgY29tbW9uIHRvb2xzIGxpa2UNCi0gICA6ZnVu YzpgY2xhc3NtZXRob2RgLCA6ZnVuYzpgc3RhdGljbWV0aG9kYCwgOmZ1bmM6YHByb3BlcnR5YCwg YW5kDQorICAgOmRlY286YGNsYXNzbWV0aG9kYCwgOmRlY286YHN0YXRpY21ldGhvZGAsIDpkZWNv OmBwcm9wZXJ0eWAsIGFuZA0KICAgIDp0ZXJtOmBfX3Nsb3RzX19gLg0KIA0KIA0KQEAgLTMxNyw4 ICszMTcsOCBAQCBEZXNjcmlwdG9ycyBpbnZlcnQgdGhhdCByZWxhdGlvbnNoaXAgYW5kIGFsbG93 IHRoZSBkYXRhIGJlaW5nIGxvb2tlZC11cCB0bw0KIGhhdmUgYSBzYXkgaW4gdGhlIG1hdHRlci4N CiANCiBEZXNjcmlwdG9ycyBhcmUgdXNlZCB0aHJvdWdob3V0IHRoZSBsYW5ndWFnZS4gIEl0IGlz IGhvdyBmdW5jdGlvbnMgdHVybiBpbnRvDQotYm91bmQgbWV0aG9kcy4gIENvbW1vbiB0b29scyBs aWtlIDpmdW5jOmBjbGFzc21ldGhvZGAsIDpmdW5jOmBzdGF0aWNtZXRob2RgLA0KLTpmdW5jOmBw cm9wZXJ0eWAsIGFuZCA6ZnVuYzpgZnVuY3Rvb2xzLmNhY2hlZF9wcm9wZXJ0eWAgYXJlIGFsbCBp bXBsZW1lbnRlZCBhcw0KK2JvdW5kIG1ldGhvZHMuICBDb21tb24gdG9vbHMgbGlrZSA6ZGVjbzpg Y2xhc3NtZXRob2RgLCA6ZGVjbzpgc3RhdGljbWV0aG9kYCwNCis6ZGVjbzpgcHJvcGVydHlgLCBh bmQgOmRlY286YGZ1bmN0b29scy5jYWNoZWRfcHJvcGVydHlgIGFyZSBhbGwgaW1wbGVtZW50ZWQg YXMNCiBkZXNjcmlwdG9ycy4NCiANCiANCkBAIC0xMzI2LDcgKzEzMjYsNyBAQCBleGFtcGxlIGNh bGxzIGFyZSB1bmV4Y2l0aW5nOg0KICAgICAzMA0KIA0KIFVzaW5nIHRoZSBub24tZGF0YSBkZXNj cmlwdG9yIHByb3RvY29sLCBhIHB1cmUgUHl0aG9uIHZlcnNpb24gb2YNCi06ZnVuYzpgc3RhdGlj bWV0aG9kYCB3b3VsZCBsb29rIGxpa2UgdGhpczoNCis6ZGVjbzpgc3RhdGljbWV0aG9kYCB3b3Vs ZCBsb29rIGxpa2UgdGhpczoNCiANCiAuLiB0ZXN0Y29kZTo6DQogDQpAQCAtMTQ2Miw3ICsxNDYy LDcgQEAgTm93IGEgbmV3IGRpY3Rpb25hcnkgb2YgdW5pcXVlIGtleXMgY2FuIGJlIGNvbnN0cnVj dGVkIGxpa2UgdGhpczoNCiAgICAgeydhJzogTm9uZSwgJ2InOiBOb25lLCAncic6IE5vbmUsICdj JzogTm9uZSwgJ2QnOiBOb25lfQ0KIA0KIFVzaW5nIHRoZSBub24tZGF0YSBkZXNjcmlwdG9yIHBy b3RvY29sLCBhIHB1cmUgUHl0aG9uIHZlcnNpb24gb2YNCi06ZnVuYzpgY2xhc3NtZXRob2RgIHdv dWxkIGxvb2sgbGlrZSB0aGlzOg0KKzpkZWNvOmBjbGFzc21ldGhvZGAgd291bGQgbG9vayBsaWtl IHRoaXM6DQogDQogLi4gdGVzdGNvZGU6Og0KIA0KQEAgLTE2MDAsNyArMTYwMCw3IEBAIG1hdHRl cnMgd2hlbiBhIGxhcmdlIG51bWJlciBvZiBpbnN0YW5jZXMgYXJlIGdvaW5nIHRvIGJlIGNyZWF0 ZWQuDQogNC4gSW1wcm92ZXMgc3BlZWQuICBSZWFkaW5nIGluc3RhbmNlIHZhcmlhYmxlcyBpcyAz NSUgZmFzdGVyIHdpdGgNCiBgYF9fc2xvdHNfX2BgIChhcyBtZWFzdXJlZCB3aXRoIFB5dGhvbiAz LjEwIG9uIGFuIEFwcGxlIE0xIHByb2Nlc3NvcikuDQogDQotNS4gQmxvY2tzIHRvb2xzIGxpa2Ug OmZ1bmM6YGZ1bmN0b29scy5jYWNoZWRfcHJvcGVydHlgIHdoaWNoIHJlcXVpcmUgYW4NCis1LiBC bG9ja3MgdG9vbHMgbGlrZSA6ZGVjbzpgZnVuY3Rvb2xzLmNhY2hlZF9wcm9wZXJ0eWAgd2hpY2gg cmVxdWlyZSBhbg0KIGluc3RhbmNlIGRpY3Rpb25hcnkgdG8gZnVuY3Rpb24gY29ycmVjdGx5Og0K IA0KIC4uIHRlc3Rjb2RlOjoNCmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vZW51bS5yc3QgYi9Eb2Mv aG93dG8vZW51bS5yc3QNCmluZGV4IDUyNjBjMmNhNGFkZDQ3MS4uNGQxYWFmYTZlNjliOTAwIDEw MDY0NA0KLS0tIGEvRG9jL2hvd3RvL2VudW0ucnN0DQorKysgYi9Eb2MvaG93dG8vZW51bS5yc3QN CkBAIC0yNTYsNyArMjU2LDcgQEAgRW5zdXJpbmcgdW5pcXVlIGVudW1lcmF0aW9uIHZhbHVlcw0K IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiANCiBCeSBkZWZhdWx0LCBlbnVt ZXJhdGlvbnMgYWxsb3cgbXVsdGlwbGUgbmFtZXMgYXMgYWxpYXNlcyBmb3IgdGhlIHNhbWUgdmFs dWUuDQotV2hlbiB0aGlzIGJlaGF2aW9yIGlzbid0IGRlc2lyZWQsIHlvdSBjYW4gdXNlIHRoZSA6 ZnVuYzpgdW5pcXVlYCBkZWNvcmF0b3I6Og0KK1doZW4gdGhpcyBiZWhhdmlvciBpc24ndCBkZXNp cmVkLCB5b3UgY2FuIHVzZSB0aGUgOmRlY286YHVuaXF1ZWAgZGVjb3JhdG9yOjoNCiANCiAgICAg Pj4+IGZyb20gZW51bSBpbXBvcnQgRW51bSwgdW5pcXVlDQogICAgID4+PiBAdW5pcXVlDQpAQCAt NTA5LDcgKzUwOSw3IEBAIHRvIHVzZSB0aGUgc3RhbmRhcmQgOmZ1bmM6YHJlcHJgLg0KIA0KIC4u IG5vdGU6Og0KIA0KLSAgIEFkZGluZyA6ZnVuYzpgfmRhdGFjbGFzc2VzLmRhdGFjbGFzc2AgZGVj b3JhdG9yIHRvIDpjbGFzczpgRW51bWANCisgICBBZGRpbmcgOmRlY286YH5kYXRhY2xhc3Nlcy5k YXRhY2xhc3NgIGRlY29yYXRvciB0byA6Y2xhc3M6YEVudW1gDQogICAgYW5kIGl0cyBzdWJjbGFz c2VzIGlzIG5vdCBzdXBwb3J0ZWQuIEl0IHdpbGwgbm90IHJhaXNlIGFueSBlcnJvcnMsDQogICAg YnV0IGl0IHdpbGwgcHJvZHVjZSB2ZXJ5IHN0cmFuZ2UgcmVzdWx0cyBhdCBydW50aW1lLCBzdWNo IGFzIG1lbWJlcnMNCiAgICBiZWluZyBlcXVhbCB0byBlYWNoIG90aGVyOjoNCmRpZmYgLS1naXQg YS9Eb2MvaG93dG8vc29ydGluZy5yc3QgYi9Eb2MvaG93dG8vc29ydGluZy5yc3QNCmluZGV4IGI5 OGY5MWUwMjNiZGZjNy4uYjQ4NmQ1ZjI0NTRjNGYwIDEwMDY0NA0KLS0tIGEvRG9jL2hvd3RvL3Nv cnRpbmcucnN0DQorKysgYi9Eb2MvaG93dG8vc29ydGluZy5yc3QNCkBAIC0zMDgsNyArMzA4LDcg QEAgT2RkcyBhbmQgRW5kcw0KICAgOm1ldGg6YH5vYmplY3QuX19sdF9fYCBpcyBub3QgaW1wbGVt ZW50ZWQgKHNlZSA6ZnVuYzpgb2JqZWN0Ll9fbHRfX2ANCiAgIGZvciBkZXRhaWxzIG9uIHRoZSBt ZWNoYW5pY3MpLiAgVG8gYXZvaWQgc3VycHJpc2VzLCA6cGVwOmA4YA0KICAgcmVjb21tZW5kcyB0 aGF0IGFsbCBzaXggY29tcGFyaXNvbiBtZXRob2RzIGJlIGltcGxlbWVudGVkLg0KLSAgVGhlIDpm dW5jOmB+ZnVuY3Rvb2xzLnRvdGFsX29yZGVyaW5nYCBkZWNvcmF0b3IgaXMgcHJvdmlkZWQgdG8g bWFrZSB0aGF0DQorICBUaGUgOmRlY286YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIGRlY29y YXRvciBpcyBwcm92aWRlZCB0byBtYWtlIHRoYXQNCiAgIHRhc2sgZWFzaWVyLg0KIA0KICogS2V5 IGZ1bmN0aW9ucyBuZWVkIG5vdCBkZXBlbmQgZGlyZWN0bHkgb24gdGhlIG9iamVjdHMgYmVpbmcg c29ydGVkLiBBIGtleQ0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2FiYy5yc3QgYi9Eb2MvbGli cmFyeS9hYmMucnN0DQppbmRleCA0OWU1NDFhOWQ5YjFjYjAuLjRiM2M5ZjJiNzNkN2E3YyAxMDA2 NDQNCi0tLSBhL0RvYy9saWJyYXJ5L2FiYy5yc3QNCisrKyBiL0RvYy9saWJyYXJ5L2FiYy5yc3QN CkBAIC0xNzAsMTcgKzE3MCwxNyBAQCBUaGUgOm1vZDpgIWFiY2AgbW9kdWxlIGFsc28gcHJvdmlk ZXMgdGhlIGZvbGxvd2luZyBkZWNvcmF0b3I6DQogICAgb3IgaXMgZGVyaXZlZCBmcm9tIGl0LiAg QSBjbGFzcyB0aGF0IGhhcyBhIG1ldGFjbGFzcyBkZXJpdmVkIGZyb20NCiAgICA6Y2xhc3M6YCFB QkNNZXRhYCBjYW5ub3QgYmUgaW5zdGFudGlhdGVkIHVubGVzcyBhbGwgb2YgaXRzIGFic3RyYWN0 IG1ldGhvZHMNCiAgICBhbmQgcHJvcGVydGllcyBhcmUgb3ZlcnJpZGRlbi4gIFRoZSBhYnN0cmFj dCBtZXRob2RzIGNhbiBiZSBjYWxsZWQgdXNpbmcgYW55DQotICAgb2YgdGhlIG5vcm1hbCAnc3Vw ZXInIGNhbGwgbWVjaGFuaXNtcy4gIDpmdW5jOmAhYWJzdHJhY3RtZXRob2RgIG1heSBiZSB1c2Vk DQorICAgb2YgdGhlIG5vcm1hbCAnc3VwZXInIGNhbGwgbWVjaGFuaXNtcy4gIDpkZWNvOmAhYWJz dHJhY3RtZXRob2RgIG1heSBiZSB1c2VkDQogICAgdG8gZGVjbGFyZSBhYnN0cmFjdCBtZXRob2Rz IGZvciBwcm9wZXJ0aWVzIGFuZCBkZXNjcmlwdG9ycy4NCiANCiAgICBEeW5hbWljYWxseSBhZGRp bmcgYWJzdHJhY3QgbWV0aG9kcyB0byBhIGNsYXNzLCBvciBhdHRlbXB0aW5nIHRvIG1vZGlmeSB0 aGUNCiAgICBhYnN0cmFjdGlvbiBzdGF0dXMgb2YgYSBtZXRob2Qgb3IgY2xhc3Mgb25jZSBpdCBp cyBjcmVhdGVkLCBhcmUgb25seQ0KICAgIHN1cHBvcnRlZCB1c2luZyB0aGUgOmZ1bmM6YHVwZGF0 ZV9hYnN0cmFjdG1ldGhvZHNgIGZ1bmN0aW9uLiAgVGhlDQotICAgOmZ1bmM6YCFhYnN0cmFjdG1l dGhvZGAgb25seSBhZmZlY3RzIHN1YmNsYXNzZXMgZGVyaXZlZCB1c2luZyByZWd1bGFyDQorICAg OmRlY286YCFhYnN0cmFjdG1ldGhvZGAgb25seSBhZmZlY3RzIHN1YmNsYXNzZXMgZGVyaXZlZCB1 c2luZyByZWd1bGFyDQogICAgaW5oZXJpdGFuY2U7ICJ2aXJ0dWFsIHN1YmNsYXNzZXMiIHJlZ2lz dGVyZWQgd2l0aCB0aGUgQUJDJ3MNCiAgICA6bWV0aDpgfkFCQ01ldGEucmVnaXN0ZXJgIG1ldGhv ZCBhcmUgbm90IGFmZmVjdGVkLg0KIA0KLSAgIFdoZW4gOmZ1bmM6YCFhYnN0cmFjdG1ldGhvZGAg aXMgYXBwbGllZCBpbiBjb21iaW5hdGlvbiB3aXRoIG90aGVyIG1ldGhvZA0KKyAgIFdoZW4gOmRl Y286YCFhYnN0cmFjdG1ldGhvZGAgaXMgYXBwbGllZCBpbiBjb21iaW5hdGlvbiB3aXRoIG90aGVy IG1ldGhvZA0KICAgIGRlc2NyaXB0b3JzLCBpdCBzaG91bGQgYmUgYXBwbGllZCBhcyB0aGUgaW5u ZXJtb3N0IGRlY29yYXRvciwgYXMgc2hvd24gaW4NCiAgICB0aGUgZm9sbG93aW5nIHVzYWdlIGV4 YW1wbGVzOjoNCiANCkBAIC0yMTgsNyArMjE4LDcgQEAgVGhlIDptb2Q6YCFhYmNgIG1vZHVsZSBh bHNvIHByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgZGVjb3JhdG9yOg0KICAgIHRoZSBkZXNjcmlwdG9y IG11c3QgaWRlbnRpZnkgaXRzZWxmIGFzIGFic3RyYWN0IHVzaW5nDQogICAgOmF0dHI6YCFfX2lz YWJzdHJhY3RtZXRob2RfX2AuIEluIGdlbmVyYWwsIHRoaXMgYXR0cmlidXRlIHNob3VsZCBiZSBg YFRydWVgYA0KICAgIGlmIGFueSBvZiB0aGUgbWV0aG9kcyB1c2VkIHRvIGNvbXBvc2UgdGhlIGRl c2NyaXB0b3IgYXJlIGFic3RyYWN0LiBGb3INCi0gICBleGFtcGxlLCBQeXRob24ncyBidWlsdC1p biA6Y2xhc3M6YHByb3BlcnR5YCBkb2VzIHRoZSBlcXVpdmFsZW50IG9mOjoNCisgICBleGFtcGxl LCBQeXRob24ncyBidWlsdC1pbiA6ZGVjbzpgcHJvcGVydHlgIGRvZXMgdGhlIGVxdWl2YWxlbnQg b2Y6Og0KIA0KICAgICAgIGNsYXNzIERlc2NyaXB0b3I6DQogICAgICAgICAgIC4uLg0KQEAgLTI0 MiwxMyArMjQyLDEzIEBAIFRoZSA6bW9kOmAhYWJjYCBtb2R1bGUgYWxzbyBzdXBwb3J0cyB0aGUg Zm9sbG93aW5nIGxlZ2FjeSBkZWNvcmF0b3JzOg0KIA0KICAgIC4uIHZlcnNpb25hZGRlZDo6IDMu Mg0KICAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMNCi0gICAgICAgSXQgaXMgbm93IHBvc3NpYmxlIHRv IHVzZSA6Y2xhc3M6YGNsYXNzbWV0aG9kYCB3aXRoDQotICAgICAgIDpmdW5jOmBhYnN0cmFjdG1l dGhvZGAsIG1ha2luZyB0aGlzIGRlY29yYXRvciByZWR1bmRhbnQuDQorICAgICAgIEl0IGlzIG5v dyBwb3NzaWJsZSB0byB1c2UgOmRlY286YGNsYXNzbWV0aG9kYCB3aXRoDQorICAgICAgIDpkZWNv OmBhYnN0cmFjdG1ldGhvZGAsIG1ha2luZyB0aGlzIGRlY29yYXRvciByZWR1bmRhbnQuDQogDQot ICAgQSBzdWJjbGFzcyBvZiB0aGUgYnVpbHQtaW4gOmZ1bmM6YGNsYXNzbWV0aG9kYCwgaW5kaWNh dGluZyBhbiBhYnN0cmFjdA0KLSAgIGNsYXNzbWV0aG9kLiBPdGhlcndpc2UgaXQgaXMgc2ltaWxh ciB0byA6ZnVuYzpgYWJzdHJhY3RtZXRob2RgLg0KKyAgIEEgc3ViY2xhc3Mgb2YgdGhlIGJ1aWx0 LWluIDpjbGFzczpgY2xhc3NtZXRob2RgLCBpbmRpY2F0aW5nIGFuIGFic3RyYWN0DQorICAgY2xh c3NtZXRob2QuIE90aGVyd2lzZSBpdCBpcyBzaW1pbGFyIHRvIDpkZWNvOmBhYnN0cmFjdG1ldGhv ZGAuDQogDQotICAgVGhpcyBzcGVjaWFsIGNhc2UgaXMgZGVwcmVjYXRlZCwgYXMgdGhlIDpmdW5j OmBjbGFzc21ldGhvZGAgZGVjb3JhdG9yDQorICAgVGhpcyBzcGVjaWFsIGNhc2UgaXMgZGVwcmVj YXRlZCwgYXMgdGhlIDpkZWNvOmBjbGFzc21ldGhvZGAgZGVjb3JhdG9yDQogICAgaXMgbm93IGNv cnJlY3RseSBpZGVudGlmaWVkIGFzIGFic3RyYWN0IHdoZW4gYXBwbGllZCB0byBhbiBhYnN0cmFj dA0KICAgIG1ldGhvZDo6DQogDQpAQCAtMjYzLDEzICsyNjMsMTMgQEAgVGhlIDptb2Q6YCFhYmNg IG1vZHVsZSBhbHNvIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgbGVnYWN5IGRlY29yYXRvcnM6DQog DQogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yDQogICAgLi4gZGVwcmVjYXRlZDo6IDMuMw0KLSAg ICAgICBJdCBpcyBub3cgcG9zc2libGUgdG8gdXNlIDpjbGFzczpgc3RhdGljbWV0aG9kYCB3aXRo DQotICAgICAgIDpmdW5jOmBhYnN0cmFjdG1ldGhvZGAsIG1ha2luZyB0aGlzIGRlY29yYXRvciBy ZWR1bmRhbnQuDQorICAgICAgIEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UgOmRlY286YHN0YXRp Y21ldGhvZGAgd2l0aA0KKyAgICAgICA6ZGVjbzpgYWJzdHJhY3RtZXRob2RgLCBtYWtpbmcgdGhp cyBkZWNvcmF0b3IgcmVkdW5kYW50Lg0KIA0KLSAgIEEgc3ViY2xhc3Mgb2YgdGhlIGJ1aWx0LWlu IDpmdW5jOmBzdGF0aWNtZXRob2RgLCBpbmRpY2F0aW5nIGFuIGFic3RyYWN0DQotICAgc3RhdGlj bWV0aG9kLiBPdGhlcndpc2UgaXQgaXMgc2ltaWxhciB0byA6ZnVuYzpgYWJzdHJhY3RtZXRob2Rg Lg0KKyAgIEEgc3ViY2xhc3Mgb2YgdGhlIGJ1aWx0LWluIDpjbGFzczpgc3RhdGljbWV0aG9kYCwg aW5kaWNhdGluZyBhbiBhYnN0cmFjdA0KKyAgIHN0YXRpY21ldGhvZC4gT3RoZXJ3aXNlIGl0IGlz IHNpbWlsYXIgdG8gOmRlY286YGFic3RyYWN0bWV0aG9kYC4NCiANCi0gICBUaGlzIHNwZWNpYWwg Y2FzZSBpcyBkZXByZWNhdGVkLCBhcyB0aGUgOmZ1bmM6YHN0YXRpY21ldGhvZGAgZGVjb3JhdG9y DQorICAgVGhpcyBzcGVjaWFsIGNhc2UgaXMgZGVwcmVjYXRlZCwgYXMgdGhlIDpkZWNvOmBzdGF0 aWNtZXRob2RgIGRlY29yYXRvcg0KICAgIGlzIG5vdyBjb3JyZWN0bHkgaWRlbnRpZmllZCBhcyBh YnN0cmFjdCB3aGVuIGFwcGxpZWQgdG8gYW4gYWJzdHJhY3QNCiAgICBtZXRob2Q6Og0KIA0KQEAg LTI4MywxNCArMjgzLDE0IEBAIFRoZSA6bW9kOmAhYWJjYCBtb2R1bGUgYWxzbyBzdXBwb3J0cyB0 aGUgZm9sbG93aW5nIGxlZ2FjeSBkZWNvcmF0b3JzOg0KIC4uIGRlY29yYXRvcjo6IGFic3RyYWN0 cHJvcGVydHkNCiANCiAgICAuLiBkZXByZWNhdGVkOjogMy4zDQotICAgICAgIEl0IGlzIG5vdyBw b3NzaWJsZSB0byB1c2UgOmNsYXNzOmBwcm9wZXJ0eWAsIDptZXRoOmBwcm9wZXJ0eS5nZXR0ZXJg LA0KLSAgICAgICA6bWV0aDpgcHJvcGVydHkuc2V0dGVyYCBhbmQgOm1ldGg6YHByb3BlcnR5LmRl bGV0ZXJgIHdpdGgNCi0gICAgICAgOmZ1bmM6YGFic3RyYWN0bWV0aG9kYCwgbWFraW5nIHRoaXMg ZGVjb3JhdG9yIHJlZHVuZGFudC4NCisgICAgICAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSA6 ZGVjbzpgcHJvcGVydHlgLCA6ZGVjbzpgcHJvcGVydHkuZ2V0dGVyYCwNCisgICAgICAgOmRlY286 YHByb3BlcnR5LnNldHRlcmAgYW5kIDpkZWNvOmBwcm9wZXJ0eS5kZWxldGVyYCB3aXRoDQorICAg ICAgIDpkZWNvOmBhYnN0cmFjdG1ldGhvZGAsIG1ha2luZyB0aGlzIGRlY29yYXRvciByZWR1bmRh bnQuDQogDQotICAgQSBzdWJjbGFzcyBvZiB0aGUgYnVpbHQtaW4gOmZ1bmM6YHByb3BlcnR5YCwg aW5kaWNhdGluZyBhbiBhYnN0cmFjdA0KKyAgIEEgc3ViY2xhc3Mgb2YgdGhlIGJ1aWx0LWluIDpj bGFzczpgcHJvcGVydHlgLCBpbmRpY2F0aW5nIGFuIGFic3RyYWN0DQogICAgcHJvcGVydHkuDQog DQotICAgVGhpcyBzcGVjaWFsIGNhc2UgaXMgZGVwcmVjYXRlZCwgYXMgdGhlIDpmdW5jOmBwcm9w ZXJ0eWAgZGVjb3JhdG9yDQorICAgVGhpcyBzcGVjaWFsIGNhc2UgaXMgZGVwcmVjYXRlZCwgYXMg dGhlIDpkZWNvOmBwcm9wZXJ0eWAgZGVjb3JhdG9yDQogICAgaXMgbm93IGNvcnJlY3RseSBpZGVu dGlmaWVkIGFzIGFic3RyYWN0IHdoZW4gYXBwbGllZCB0byBhbiBhYnN0cmFjdA0KICAgIG1ldGhv ZDo6DQogDQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvYmlzZWN0LnJzdCBiL0RvYy9saWJyYXJ5 L2Jpc2VjdC5yc3QNCmluZGV4IDU5MTRmNWNiOTFmNGZjYi4uNzMyYzIxOWQ1NTAzOWFjIDEwMDY0 NA0KLS0tIGEvRG9jL2xpYnJhcnkvYmlzZWN0LnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvYmlzZWN0 LnJzdA0KQEAgLTEzMiw3ICsxMzIsNyBAQCB0aG91Z2h0cyBpbiBtaW5kOg0KICAgdGhleSBhcmUg dXNlZC4gIENvbnNlcXVlbnRseSwgaWYgdGhlIHNlYXJjaCBmdW5jdGlvbnMgYXJlIHVzZWQgaW4g YSBsb29wLA0KICAgdGhlIGtleSBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGFnYWluIGFuZCBhZ2Fp biBvbiB0aGUgc2FtZSBhcnJheSBlbGVtZW50cy4NCiAgIElmIHRoZSBrZXkgZnVuY3Rpb24gaXNu J3QgZmFzdCwgY29uc2lkZXIgd3JhcHBpbmcgaXQgd2l0aA0KLSAgOnB5OmZ1bmM6YGZ1bmN0b29s cy5jYWNoZWAgdG8gYXZvaWQgZHVwbGljYXRlIGNvbXB1dGF0aW9ucy4gIEFsdGVybmF0aXZlbHks DQorICA6cHk6ZGVjbzpgZnVuY3Rvb2xzLmNhY2hlYCB0byBhdm9pZCBkdXBsaWNhdGUgY29tcHV0 YXRpb25zLiAgQWx0ZXJuYXRpdmVseSwNCiAgIGNvbnNpZGVyIHNlYXJjaGluZyBhbiBhcnJheSBv ZiBwcmVjb21wdXRlZCBrZXlzIHRvIGxvY2F0ZSB0aGUgaW5zZXJ0aW9uDQogICBwb2ludCAoYXMg c2hvd24gaW4gdGhlIGV4YW1wbGVzIHNlY3Rpb24gYmVsb3cpLg0KIA0KZGlmZiAtLWdpdCBhL0Rv Yy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdCBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdA0K aW5kZXggY2ZhZTgxMDQwNjI0MTgxLi5kYjVjNDljMDI2YzE3YWIgMTAwNjQ0DQotLS0gYS9Eb2Mv bGlicmFyeS9jb2xsZWN0aW9ucy5yc3QNCisrKyBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJz dA0KQEAgLTEyMjQsNyArMTIyNCw3IEBAIG9yaWdpbmFsIGluc2VydGlvbiBwb3NpdGlvbiBpcyBj aGFuZ2VkIGFuZCBtb3ZlZCB0byB0aGUgZW5kOjoNCiAgICAgICAgICAgICBzZWxmLm1vdmVfdG9f ZW5kKGtleSkNCiANCiBBbiA6Y2xhc3M6YE9yZGVyZWREaWN0YCB3b3VsZCBhbHNvIGJlIHVzZWZ1 bCBmb3IgaW1wbGVtZW50aW5nDQotdmFyaWFudHMgb2YgOmZ1bmM6YGZ1bmN0b29scy5scnVfY2Fj aGVgOg0KK3ZhcmlhbnRzIG9mIDpkZWNvOmBmdW5jdG9vbHMubHJ1X2NhY2hlYDoNCiANCiAuLiB0 ZXN0Y29kZTo6DQogDQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29udGV4dGxpYi5yc3QgYi9E b2MvbGlicmFyeS9jb250ZXh0bGliLnJzdA0KaW5kZXggNTM3YzM4Y2M3NmMwMjhiLi4wM2E5MmNi YmU3MWZhZDQgMTAwNjQ0DQotLS0gYS9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdA0KKysrIGIv RG9jL2xpYnJhcnkvY29udGV4dGxpYi5yc3QNCkBAIC04OCwxMSArODgsMTEgQEAgRnVuY3Rpb25z IGFuZCBjbGFzc2VzIHByb3ZpZGVkOg0KICAgIHRoZSBleGNlcHRpb24gaGFzIGJlZW4gaGFuZGxl ZCwgYW5kIGV4ZWN1dGlvbiB3aWxsIHJlc3VtZSB3aXRoIHRoZSBzdGF0ZW1lbnQNCiAgICBpbW1l ZGlhdGVseSBmb2xsb3dpbmcgdGhlIDprZXl3b3JkOmAhd2l0aGAgc3RhdGVtZW50Lg0KIA0KLSAg IDpmdW5jOmBjb250ZXh0bWFuYWdlcmAgdXNlcyA6Y2xhc3M6YENvbnRleHREZWNvcmF0b3JgIHNv IHRoZSBjb250ZXh0IG1hbmFnZXJzDQorICAgOmRlY286YGNvbnRleHRtYW5hZ2VyYCB1c2VzIDpj bGFzczpgQ29udGV4dERlY29yYXRvcmAgc28gdGhlIGNvbnRleHQgbWFuYWdlcnMNCiAgICBpdCBj cmVhdGVzIGNhbiBiZSB1c2VkIGFzIGRlY29yYXRvcnMgYXMgd2VsbCBhcyBpbiA6a2V5d29yZDpg d2l0aGAgc3RhdGVtZW50cy4NCiAgICBXaGVuIHVzZWQgYXMgYSBkZWNvcmF0b3IsIGEgbmV3IGdl bmVyYXRvciBpbnN0YW5jZSBpcyBpbXBsaWNpdGx5IGNyZWF0ZWQgb24NCiAgICBlYWNoIGZ1bmN0 aW9uIGNhbGwgKHRoaXMgYWxsb3dzIHRoZSBvdGhlcndpc2UgIm9uZS1zaG90IiBjb250ZXh0IG1h bmFnZXJzDQotICAgY3JlYXRlZCBieSA6ZnVuYzpgY29udGV4dG1hbmFnZXJgIHRvIG1lZXQgdGhl IHJlcXVpcmVtZW50IHRoYXQgY29udGV4dA0KKyAgIGNyZWF0ZWQgYnkgOmRlY286YGNvbnRleHRt YW5hZ2VyYCB0byBtZWV0IHRoZSByZXF1aXJlbWVudCB0aGF0IGNvbnRleHQNCiAgICBtYW5hZ2Vy cyBzdXBwb3J0IG11bHRpcGxlIGludm9jYXRpb25zIGluIG9yZGVyIHRvIGJlIHVzZWQgYXMgZGVj b3JhdG9ycykuDQogDQogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjINCkBAIC0xMDEsNyArMTAx LDcgQEAgRnVuY3Rpb25zIGFuZCBjbGFzc2VzIHByb3ZpZGVkOg0KIA0KIC4uIGRlY29yYXRvcjo6 IGFzeW5jY29udGV4dG1hbmFnZXINCiANCi0gICBTaW1pbGFyIHRvIDpmdW5jOmB+Y29udGV4dGxp Yi5jb250ZXh0bWFuYWdlcmAsIGJ1dCBjcmVhdGVzIGFuDQorICAgU2ltaWxhciB0byA6ZGVjbzpg fmNvbnRleHRsaWIuY29udGV4dG1hbmFnZXJgLCBidXQgY3JlYXRlcyBhbg0KICAgIDpyZWY6YGFz eW5jaHJvbm91cyBjb250ZXh0IG1hbmFnZXIgPGFzeW5jLWNvbnRleHQtbWFuYWdlcnM+YC4NCiAN CiAgICBUaGlzIGZ1bmN0aW9uIGlzIGEgOnRlcm06YGRlY29yYXRvcmAgdGhhdCBjYW4gYmUgdXNl ZCB0byBkZWZpbmUgYSBmYWN0b3J5DQpAQCAtMTI4LDcgKzEyOCw3IEBAIEZ1bmN0aW9ucyBhbmQg Y2xhc3NlcyBwcm92aWRlZDoNCiANCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjcNCiANCi0gICBD b250ZXh0IG1hbmFnZXJzIGRlZmluZWQgd2l0aCA6ZnVuYzpgYXN5bmNjb250ZXh0bWFuYWdlcmAg Y2FuIGJlIHVzZWQNCisgICBDb250ZXh0IG1hbmFnZXJzIGRlZmluZWQgd2l0aCA6ZGVjbzpgYXN5 bmNjb250ZXh0bWFuYWdlcmAgY2FuIGJlIHVzZWQNCiAgICBlaXRoZXIgYXMgZGVjb3JhdG9ycyBv ciB3aXRoIDprZXl3b3JkOmBhc3luYyB3aXRoYCBzdGF0ZW1lbnRzOjoNCiANCiAgICAgIGltcG9y dCB0aW1lDQpAQCAtMTQ4LDExICsxNDgsMTEgQEAgRnVuY3Rpb25zIGFuZCBjbGFzc2VzIHByb3Zp ZGVkOg0KIA0KICAgIFdoZW4gdXNlZCBhcyBhIGRlY29yYXRvciwgYSBuZXcgZ2VuZXJhdG9yIGlu c3RhbmNlIGlzIGltcGxpY2l0bHkgY3JlYXRlZCBvbg0KICAgIGVhY2ggZnVuY3Rpb24gY2FsbC4g VGhpcyBhbGxvd3MgdGhlIG90aGVyd2lzZSAib25lLXNob3QiIGNvbnRleHQgbWFuYWdlcnMNCi0g ICBjcmVhdGVkIGJ5IDpmdW5jOmBhc3luY2NvbnRleHRtYW5hZ2VyYCB0byBtZWV0IHRoZSByZXF1 aXJlbWVudCB0aGF0IGNvbnRleHQNCisgICBjcmVhdGVkIGJ5IDpkZWNvOmBhc3luY2NvbnRleHRt YW5hZ2VyYCB0byBtZWV0IHRoZSByZXF1aXJlbWVudCB0aGF0IGNvbnRleHQNCiAgICBtYW5hZ2Vy cyBzdXBwb3J0IG11bHRpcGxlIGludm9jYXRpb25zIGluIG9yZGVyIHRvIGJlIHVzZWQgYXMgZGVj b3JhdG9ycy4NCiANCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMTANCi0gICAgICBBc3luYyBj b250ZXh0IG1hbmFnZXJzIGNyZWF0ZWQgd2l0aCA6ZnVuYzpgYXN5bmNjb250ZXh0bWFuYWdlcmAg Y2FuDQorICAgICAgQXN5bmMgY29udGV4dCBtYW5hZ2VycyBjcmVhdGVkIHdpdGggOmRlY286YGFz eW5jY29udGV4dG1hbmFnZXJgIGNhbg0KICAgICAgIGJlIHVzZWQgYXMgZGVjb3JhdG9ycy4NCiAN CiANCkBAIC00MDAsNyArNDAwLDcgQEAgRnVuY3Rpb25zIGFuZCBjbGFzc2VzIHByb3ZpZGVkOg0K ICAgIGBgX19leGl0X19gYCByZXRhaW5zIGl0cyBvcHRpb25hbA0KICAgIGV4Y2VwdGlvbiBoYW5k bGluZyBldmVuIHdoZW4gdXNlZCBhcyBhIGRlY29yYXRvci4NCiANCi0gICBgYENvbnRleHREZWNv cmF0b3JgYCBpcyB1c2VkIGJ5IDpmdW5jOmBjb250ZXh0bWFuYWdlcmAsIHNvIHlvdSBnZXQgdGhp cw0KKyAgIGBgQ29udGV4dERlY29yYXRvcmBgIGlzIHVzZWQgYnkgOmRlY286YGNvbnRleHRtYW5h Z2VyYCwgc28geW91IGdldCB0aGlzDQogICAgZnVuY3Rpb25hbGl0eSBhdXRvbWF0aWNhbGx5Lg0K IA0KICAgIEV4YW1wbGUgb2YgYGBDb250ZXh0RGVjb3JhdG9yYGA6Og0KQEAgLTY1NCw3ICs2NTQs NyBAQCBGdW5jdGlvbnMgYW5kIGNsYXNzZXMgcHJvdmlkZWQ6DQogDQogICAgICAgU2ltaWxhciB0 byA6bWV0aDpgRXhpdFN0YWNrLmNsb3NlYCBidXQgcHJvcGVybHkgaGFuZGxlcyBhd2FpdGFibGVz Lg0KIA0KLSAgIENvbnRpbnVpbmcgdGhlIGV4YW1wbGUgZm9yIDpmdW5jOmBhc3luY2NvbnRleHRt YW5hZ2VyYDo6DQorICAgQ29udGludWluZyB0aGUgZXhhbXBsZSBmb3IgOmRlY286YGFzeW5jY29u dGV4dG1hbmFnZXJgOjoNCiANCiAgICAgICBhc3luYyB3aXRoIEFzeW5jRXhpdFN0YWNrKCkgYXMg c3RhY2s6DQogICAgICAgICAgIGNvbm5lY3Rpb25zID0gW2F3YWl0IHN0YWNrLmVudGVyX2FzeW5j X2NvbnRleHQoZ2V0X2Nvbm5lY3Rpb24oKSkNCkBAIC05MTIsNyArOTEyLDcgQEAgRmlsZXMgYXJl IGFuIGV4YW1wbGUgb2YgZWZmZWN0aXZlbHkgc2luZ2xlIHVzZSBjb250ZXh0IG1hbmFnZXJzLCBz aW5jZQ0KIHRoZSBmaXJzdCA6a2V5d29yZDpgd2l0aGAgc3RhdGVtZW50IHdpbGwgY2xvc2UgdGhl IGZpbGUsIHByZXZlbnRpbmcgYW55DQogZnVydGhlciBJTyBvcGVyYXRpb25zIHVzaW5nIHRoYXQg ZmlsZSBvYmplY3QuDQogDQotQ29udGV4dCBtYW5hZ2VycyBjcmVhdGVkIHVzaW5nIDpmdW5jOmBj b250ZXh0bWFuYWdlcmAgYXJlIGFsc28gc2luZ2xlIHVzZQ0KK0NvbnRleHQgbWFuYWdlcnMgY3Jl YXRlZCB1c2luZyA6ZGVjbzpgY29udGV4dG1hbmFnZXJgIGFyZSBhbHNvIHNpbmdsZSB1c2UNCiBj b250ZXh0IG1hbmFnZXJzLCBhbmQgd2lsbCBjb21wbGFpbiBhYm91dCB0aGUgdW5kZXJseWluZyBn ZW5lcmF0b3IgZmFpbGluZw0KIHRvIHlpZWxkIGlmIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB1c2Ug dGhlbSBhIHNlY29uZCB0aW1lOjoNCiANCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jdHlwZXMu cnN0IGIvRG9jL2xpYnJhcnkvY3R5cGVzLnJzdA0KaW5kZXggMjljZjJhZmQzM2U3ZDYyLi45OWQy NWFlZjI1NzMzNDggMTAwNjQ0DQotLS0gYS9Eb2MvbGlicmFyeS9jdHlwZXMucnN0DQorKysgYi9E b2MvbGlicmFyeS9jdHlwZXMucnN0DQpAQCAtNDM4LDcgKzQzOCw3IEBAIG9iamVjdCB3aXRoIGFu IDphdHRyOmAhX2FzX3BhcmFtZXRlcl9gIGF0dHJpYnV0ZTo6DQogICAgPj4+DQogDQogSWYgeW91 IGRvbid0IHdhbnQgdG8gc3RvcmUgdGhlIGluc3RhbmNlJ3MgZGF0YSBpbiB0aGUgOmF0dHI6YCFf YXNfcGFyYW1ldGVyX2ANCi1pbnN0YW5jZSB2YXJpYWJsZSwgeW91IGNvdWxkIGRlZmluZSBhIDpj bGFzczpgcHJvcGVydHlgIHdoaWNoIG1ha2VzIHRoZQ0KK2luc3RhbmNlIHZhcmlhYmxlLCB5b3Ug Y291bGQgZGVmaW5lIGEgOmRlY286YHByb3BlcnR5YCB3aGljaCBtYWtlcyB0aGUNCiBhdHRyaWJ1 dGUgYXZhaWxhYmxlIG9uIHJlcXVlc3QuDQogDQogDQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkv ZW51bS5yc3QgYi9Eb2MvbGlicmFyeS9lbnVtLnJzdA0KaW5kZXggMjljZDYxMmQwZjgyZTk0Li42 Yzc0MmU2NTBlNmQ3MjUgMTAwNjQ0DQotLS0gYS9Eb2MvbGlicmFyeS9lbnVtLnJzdA0KKysrIGIv RG9jL2xpYnJhcnkvZW51bS5yc3QNCkBAIC0xMjAsMzAgKzEyMCwzMCBAQCBNb2R1bGUgY29udGVu dHMNCiAgICAgICA6Y2xhc3M6YFN0ckVudW1gIGRlZmF1bHRzIHRvIHRoZSBsb3dlci1jYXNlZCB2 ZXJzaW9uIG9mIHRoZSBtZW1iZXIgbmFtZSwNCiAgICAgICB3aGlsZSBvdGhlciBFbnVtcyBkZWZh dWx0IHRvIDEgYW5kIGluY3JlYXNlIGZyb20gdGhlcmUuDQogDQotICAgOmZ1bmM6YH5lbnVtLnBy b3BlcnR5YA0KKyAgIDpkZWNvOmB+ZW51bS5wcm9wZXJ0eWANCiANCiAgICAgICBBbGxvd3MgOmNs YXNzOmBFbnVtYCBtZW1iZXJzIHRvIGhhdmUgYXR0cmlidXRlcyB3aXRob3V0IGNvbmZsaWN0aW5n IHdpdGgNCiAgICAgICBtZW1iZXIgbmFtZXMuICBUaGUgYGB2YWx1ZWBgIGFuZCBgYG5hbWVgYCBh dHRyaWJ1dGVzIGFyZSBpbXBsZW1lbnRlZCB0aGlzDQogICAgICAgd2F5Lg0KIA0KLSAgIDpmdW5j OmB1bmlxdWVgDQorICAgOmRlY286YHVuaXF1ZWANCiANCiAgICAgICBFbnVtIGNsYXNzIGRlY29y YXRvciB0aGF0IGVuc3VyZXMgb25seSBvbmUgbmFtZSBpcyBib3VuZCB0byBhbnkgb25lIHZhbHVl Lg0KIA0KLSAgIDpmdW5jOmB2ZXJpZnlgDQorICAgOmRlY286YHZlcmlmeWANCiANCiAgICAgICBF bnVtIGNsYXNzIGRlY29yYXRvciB0aGF0IGNoZWNrcyB1c2VyLXNlbGVjdGFibGUgY29uc3RyYWlu dHMgb24gYW4NCiAgICAgICBlbnVtZXJhdGlvbi4NCiANCi0gICA6ZnVuYzpgbWVtYmVyYA0KKyAg IDpkZWNvOmBtZW1iZXJgDQogDQogICAgICAgTWFrZSBgYG9iamBgIGEgbWVtYmVyLiAgQ2FuIGJl IHVzZWQgYXMgYSBkZWNvcmF0b3IuDQogDQotICAgOmZ1bmM6YG5vbm1lbWJlcmANCisgICA6ZGVj bzpgbm9ubWVtYmVyYA0KIA0KICAgICAgIERvIG5vdCBtYWtlIGBgb2JqYGAgYSBtZW1iZXIuICBD YW4gYmUgdXNlZCBhcyBhIGRlY29yYXRvci4NCiANCi0gICA6ZnVuYzpgZ2xvYmFsX2VudW1gDQor ICAgOmRlY286YGdsb2JhbF9lbnVtYA0KIA0KICAgICAgIE1vZGlmeSB0aGUgOmNsYXNzOmBzdHIo KSA8c3RyPmAgYW5kIDpmdW5jOmByZXByYCBvZiBhbiBlbnVtDQogICAgICAgdG8gc2hvdyBpdHMg bWVtYmVycyBhcyBiZWxvbmdpbmcgdG8gdGhlIG1vZHVsZSBpbnN0ZWFkIG9mIGl0cyBjbGFzcywN CkBAIC0xMDExLDcgKzEwMTEsNyBAQCBVdGlsaXRpZXMgYW5kIGRlY29yYXRvcnMNCiANCiAuLiBk ZWNvcmF0b3I6OiBwcm9wZXJ0eQ0KIA0KLSAgIEEgZGVjb3JhdG9yIHNpbWlsYXIgdG8gdGhlIGJ1 aWx0LWluICpwcm9wZXJ0eSosIGJ1dCBzcGVjaWZpY2FsbHkgZm9yDQorICAgQSBkZWNvcmF0b3Ig c2ltaWxhciB0byB0aGUgYnVpbHQtaW4gOmRlY286YHByb3BlcnR5YCwgYnV0IHNwZWNpZmljYWxs eSBmb3INCiAgICBlbnVtZXJhdGlvbnMuICBJdCBhbGxvd3MgbWVtYmVyIGF0dHJpYnV0ZXMgdG8g aGF2ZSB0aGUgc2FtZSBuYW1lcyBhcyBtZW1iZXJzDQogICAgdGhlbXNlbHZlcy4NCiANCmRpZmYg LS1naXQgYS9Eb2MvbGlicmFyeS9mbm1hdGNoLnJzdCBiL0RvYy9saWJyYXJ5L2ZubWF0Y2gucnN0 DQppbmRleCA1Y2I0Nzc3N2FlNTI3ZGUuLjA4NmIzNGI5NzY5MWUxZCAxMDA2NDQNCi0tLSBhL0Rv Yy9saWJyYXJ5L2ZubWF0Y2gucnN0DQorKysgYi9Eb2MvbGlicmFyeS9mbm1hdGNoLnJzdA0KQEAg LTUxLDcgKzUxLDcgQEAgVW5sZXNzIHN0YXRlZCBvdGhlcndpc2UsICJmaWxlbmFtZSBzdHJpbmci IGFuZCAicGF0dGVybiBzdHJpbmciIGVpdGhlciByZWZlciB0bw0KIGZ1bmN0aW9ucyBkb2N1bWVu dGVkIGJlbG93IGRvIG5vdCBhbGxvdyB0byBtaXggYSA6Y2xhc3M6YCFieXRlc2AgcGF0dGVybiB3 aXRoDQogYSA6Y2xhc3M6YCFzdHJgIGZpbGVuYW1lLCBhbmQgdmljZS12ZXJzYS4NCiANCi1GaW5h bGx5LCBub3RlIHRoYXQgOmZ1bmM6YGZ1bmN0b29scy5scnVfY2FjaGVgIHdpdGggYSAqbWF4c2l6 ZSogb2YgMzI3NjgNCitGaW5hbGx5LCBub3RlIHRoYXQgOmRlY286YGZ1bmN0b29scy5scnVfY2Fj aGVgIHdpdGggYSAqbWF4c2l6ZSogb2YgMzI3NjgNCiBpcyB1c2VkIHRvIGNhY2hlIHRoZSAodHlw ZWQpIGNvbXBpbGVkIHJlZ2V4IHBhdHRlcm5zIGluIHRoZSBmb2xsb3dpbmcNCiBmdW5jdGlvbnM6 IDpmdW5jOmBmbm1hdGNoYCwgOmZ1bmM6YGZubWF0Y2hjYXNlYCwgOmZ1bmM6YC5maWx0ZXJgLg0K IA0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2Z1bmN0aW9ucy5yc3QgYi9Eb2MvbGlicmFyeS9m dW5jdGlvbnMucnN0DQppbmRleCBhNDJkMGYzMzg1NzdmNTIuLmJmMmM4ZDcwMTIwZjJkNyAxMDA2 NDQNCi0tLSBhL0RvYy9saWJyYXJ5L2Z1bmN0aW9ucy5yc3QNCisrKyBiL0RvYy9saWJyYXJ5L2Z1 bmN0aW9ucy5yc3QNCkBAIC0xNjY3LDcgKzE2NjcsNyBAQCBhcmUgYWx3YXlzIGF2YWlsYWJsZS4g IFRoZXkgYXJlIGxpc3RlZCBoZXJlIGluIGFscGhhYmV0aWNhbCBvcmRlci4NCiANCiAgICBJZiBn aXZlbiwgKmRvYyogd2lsbCBiZSB0aGUgZG9jc3RyaW5nIG9mIHRoZSBwcm9wZXJ0eSBhdHRyaWJ1 dGUuIE90aGVyd2lzZSwgdGhlDQogICAgcHJvcGVydHkgd2lsbCBjb3B5ICpmZ2V0KidzIGRvY3N0 cmluZyAoaWYgaXQgZXhpc3RzKS4gIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8NCi0gICBjcmVh dGUgcmVhZC1vbmx5IHByb3BlcnRpZXMgZWFzaWx5IHVzaW5nIDpmdW5jOmBwcm9wZXJ0eWAgYXMg YSA6dGVybTpgZGVjb3JhdG9yYDo6DQorICAgY3JlYXRlIHJlYWQtb25seSBwcm9wZXJ0aWVzIGVh c2lseSB1c2luZyA6ZGVjbzpgcHJvcGVydHlgIGFzIGEgOnRlcm06YGRlY29yYXRvcmA6Og0KIA0K ICAgICAgIGNsYXNzIFBhcnJvdDoNCiAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOg0KQEAg LTE5MDgsNyArMTkwOCw3IEBAIGFyZSBhbHdheXMgYXZhaWxhYmxlLiAgVGhleSBhcmUgbGlzdGVk IGhlcmUgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLg0KICAgIGJlIHVzZWQgaW4gdGhlIGNsYXNzIGRl ZmluaXRpb24gKHN1Y2ggYXMgYGBmKClgYCkuDQogDQogICAgU3RhdGljIG1ldGhvZHMgaW4gUHl0 aG9uIGFyZSBzaW1pbGFyIHRvIHRob3NlIGZvdW5kIGluIEphdmEgb3IgQysrLiBBbHNvLCBzZWUN Ci0gICA6ZnVuYzpgY2xhc3NtZXRob2RgIGZvciBhIHZhcmlhbnQgdGhhdCBpcyB1c2VmdWwgZm9y IGNyZWF0aW5nIGFsdGVybmF0ZSBjbGFzcw0KKyAgIDpkZWNvOmBjbGFzc21ldGhvZGAgZm9yIGEg dmFyaWFudCB0aGF0IGlzIHVzZWZ1bCBmb3IgY3JlYXRpbmcgYWx0ZXJuYXRlIGNsYXNzDQogICAg Y29uc3RydWN0b3JzLg0KIA0KICAgIExpa2UgYWxsIGRlY29yYXRvcnMsIGl0IGlzIGFsc28gcG9z c2libGUgdG8gY2FsbCBgYHN0YXRpY21ldGhvZGBgIGFzDQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJh cnkvZnVuY3Rvb2xzLnJzdCBiL0RvYy9saWJyYXJ5L2Z1bmN0b29scy5yc3QNCmluZGV4IGJjZDli NGJiYzg2YjQ3MS4uZWRlZmRlYmM3YTc2Y2Y0IDEwMDY0NA0KLS0tIGEvRG9jL2xpYnJhcnkvZnVu Y3Rvb2xzLnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvZnVuY3Rvb2xzLnJzdA0KQEAgLTM0LDcgKzM0 LDcgQEAgVGhlIDptb2Q6YGZ1bmN0b29sc2AgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBm dW5jdGlvbnM6DQogICAgUmV0dXJucyB0aGUgc2FtZSBhcyBgYGxydV9jYWNoZShtYXhzaXplPU5v bmUpYGAsIGNyZWF0aW5nIGEgdGhpbg0KICAgIHdyYXBwZXIgYXJvdW5kIGEgZGljdGlvbmFyeSBs b29rdXAgZm9yIHRoZSBmdW5jdGlvbiBhcmd1bWVudHMuICBCZWNhdXNlIGl0DQogICAgbmV2ZXIg bmVlZHMgdG8gZXZpY3Qgb2xkIHZhbHVlcywgdGhpcyBpcyBzbWFsbGVyIGFuZCBmYXN0ZXIgdGhh bg0KLSAgIDpmdW5jOmBscnVfY2FjaGVgIHdpdGggYSBzaXplIGxpbWl0Lg0KKyAgIDpkZWNvOmBs cnVfY2FjaGVgIHdpdGggYSBzaXplIGxpbWl0Lg0KIA0KICAgIEZvciBleGFtcGxlOjoNCiANCkBA IC02NCw3ICs2NCw3IEBAIFRoZSA6bW9kOmBmdW5jdG9vbHNgIG1vZHVsZSBkZWZpbmVzIHRoZSBm b2xsb3dpbmcgZnVuY3Rpb25zOg0KIA0KICAgIFRyYW5zZm9ybSBhIG1ldGhvZCBvZiBhIGNsYXNz IGludG8gYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBjb21wdXRlZCBvbmNlDQogICAgYW5kIHRo ZW4gY2FjaGVkIGFzIGEgbm9ybWFsIGF0dHJpYnV0ZSBmb3IgdGhlIGxpZmUgb2YgdGhlIGluc3Rh bmNlLiBTaW1pbGFyDQotICAgdG8gOmZ1bmM6YHByb3BlcnR5YCwgd2l0aCB0aGUgYWRkaXRpb24g b2YgY2FjaGluZy4gVXNlZnVsIGZvciBleHBlbnNpdmUNCisgICB0byA6ZGVjbzpgcHJvcGVydHlg LCB3aXRoIHRoZSBhZGRpdGlvbiBvZiBjYWNoaW5nLiBVc2VmdWwgZm9yIGV4cGVuc2l2ZQ0KICAg IGNvbXB1dGVkIHByb3BlcnRpZXMgb2YgaW5zdGFuY2VzIHRoYXQgYXJlIG90aGVyd2lzZSBlZmZl Y3RpdmVseSBpbW11dGFibGUuDQogDQogICAgRXhhbXBsZTo6DQpAQCAtNzgsOCArNzgsOCBAQCBU aGUgOm1vZDpgZnVuY3Rvb2xzYCBtb2R1bGUgZGVmaW5lcyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9u czoNCiAgICAgICAgICAgIGRlZiBzdGRldihzZWxmKToNCiAgICAgICAgICAgICAgICByZXR1cm4g c3RhdGlzdGljcy5zdGRldihzZWxmLl9kYXRhKQ0KIA0KLSAgIFRoZSBtZWNoYW5pY3Mgb2YgOmZ1 bmM6YGNhY2hlZF9wcm9wZXJ0eWAgYXJlIHNvbWV3aGF0IGRpZmZlcmVudCBmcm9tDQotICAgOmZ1 bmM6YHByb3BlcnR5YC4gIEEgcmVndWxhciBwcm9wZXJ0eSBibG9ja3MgYXR0cmlidXRlIHdyaXRl cyB1bmxlc3MgYQ0KKyAgIFRoZSBtZWNoYW5pY3Mgb2YgOmRlY286YGNhY2hlZF9wcm9wZXJ0eWAg YXJlIHNvbWV3aGF0IGRpZmZlcmVudCBmcm9tDQorICAgOmRlY286YHByb3BlcnR5YC4gIEEgcmVn dWxhciBwcm9wZXJ0eSBibG9ja3MgYXR0cmlidXRlIHdyaXRlcyB1bmxlc3MgYQ0KICAgIHNldHRl ciBpcyBkZWZpbmVkLiBJbiBjb250cmFzdCwgYSAqY2FjaGVkX3Byb3BlcnR5KiBhbGxvd3Mgd3Jp dGVzLg0KIA0KICAgIFRoZSAqY2FjaGVkX3Byb3BlcnR5KiBkZWNvcmF0b3Igb25seSBydW5zIG9u IGxvb2t1cHMgYW5kIG9ubHkgd2hlbiBhbg0KQEAgLTExMSwxNCArMTExLDE0IEBAIFRoZSA6bW9k OmBmdW5jdG9vbHNgIG1vZHVsZSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOg0KICAg IChhcyBzdWNoIGNsYXNzZXMgZG9uJ3QgcHJvdmlkZSBhIGBgX19kaWN0X19gYCBhdHRyaWJ1dGUg YXQgYWxsKS4NCiANCiAgICBJZiBhIG11dGFibGUgbWFwcGluZyBpcyBub3QgYXZhaWxhYmxlIG9y IGlmIHNwYWNlLWVmZmljaWVudCBrZXkgc2hhcmluZyBpcw0KLSAgIGRlc2lyZWQsIGFuIGVmZmVj dCBzaW1pbGFyIHRvIDpmdW5jOmBjYWNoZWRfcHJvcGVydHlgIGNhbiBhbHNvIGJlIGFjaGlldmVk IGJ5DQotICAgc3RhY2tpbmcgOmZ1bmM6YHByb3BlcnR5YCBvbiB0b3Agb2YgOmZ1bmM6YGxydV9j YWNoZWAuIFNlZQ0KLSAgIDpyZWY6YGZhcS1jYWNoZS1tZXRob2QtY2FsbHNgIGZvciBtb3JlIGRl dGFpbHMgb24gaG93IHRoaXMgZGlmZmVycyBmcm9tIDpmdW5jOmBjYWNoZWRfcHJvcGVydHlgLg0K KyAgIGRlc2lyZWQsIGFuIGVmZmVjdCBzaW1pbGFyIHRvIDpkZWNvOmBjYWNoZWRfcHJvcGVydHlg IGNhbiBhbHNvIGJlIGFjaGlldmVkIGJ5DQorICAgc3RhY2tpbmcgOmRlY286YHByb3BlcnR5YCBv biB0b3Agb2YgOmRlY286YGxydV9jYWNoZWAuIFNlZQ0KKyAgIDpyZWY6YGZhcS1jYWNoZS1tZXRo b2QtY2FsbHNgIGZvciBtb3JlIGRldGFpbHMgb24gaG93IHRoaXMgZGlmZmVycyBmcm9tIDpkZWNv OmBjYWNoZWRfcHJvcGVydHlgLg0KIA0KICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuOA0KIA0KICAg IC4uIHZlcnNpb25jaGFuZ2VkOjogMy4xMg0KLSAgICAgIFByaW9yIHRvIFB5dGhvbiAzLjEyLCBg YGNhY2hlZF9wcm9wZXJ0eWBgIGluY2x1ZGVkIGFuIHVuZG9jdW1lbnRlZCBsb2NrIHRvDQorICAg ICAgUHJpb3IgdG8gUHl0aG9uIDMuMTIsIDpkZWNvOmAhY2FjaGVkX3Byb3BlcnR5YCBpbmNsdWRl ZCBhbiB1bmRvY3VtZW50ZWQgbG9jayB0bw0KICAgICAgIGVuc3VyZSB0aGF0IGluIG11bHRpLXRo cmVhZGVkIHVzYWdlIHRoZSBnZXR0ZXIgZnVuY3Rpb24gd2FzIGd1YXJhbnRlZWQgdG8NCiAgICAg ICBydW4gb25seSBvbmNlIHBlciBpbnN0YW5jZS4gSG93ZXZlciwgdGhlIGxvY2sgd2FzIHBlci1w cm9wZXJ0eSwgbm90DQogICAgICAgcGVyLWluc3RhbmNlLCB3aGljaCBjb3VsZCByZXN1bHQgaW4g dW5hY2NlcHRhYmx5IGhpZ2ggbG9jayBjb250ZW50aW9uLiBJbg0KQEAgLTY4MCw3ICs2ODAsNyBA QCBUaGUgOm1vZDpgZnVuY3Rvb2xzYCBtb2R1bGUgZGVmaW5lcyB0aGUgZm9sbG93aW5nIGZ1bmN0 aW9uczoNCiAgICBmdW5jdGlvbidzIDphdHRyOmB+ZnVuY3Rpb24uX19kaWN0X19gLCBpLmUuIHRo ZSBpbnN0YW5jZSBkaWN0aW9uYXJ5KS4NCiANCiAgICBUbyBhbGxvdyBhY2Nlc3MgdG8gdGhlIG9y aWdpbmFsIGZ1bmN0aW9uIGZvciBpbnRyb3NwZWN0aW9uIGFuZCBvdGhlciBwdXJwb3Nlcw0KLSAg IChlLmcuIGJ5cGFzc2luZyBhIGNhY2hpbmcgZGVjb3JhdG9yIHN1Y2ggYXMgOmZ1bmM6YGxydV9j YWNoZWApLCB0aGlzIGZ1bmN0aW9uDQorICAgKGUuZy4gYnlwYXNzaW5nIGEgY2FjaGluZyBkZWNv cmF0b3Igc3VjaCBhcyA6ZGVjbzpgbHJ1X2NhY2hlYCksIHRoaXMgZnVuY3Rpb24NCiAgICBhdXRv bWF0aWNhbGx5IGFkZHMgYSBgYF9fd3JhcHBlZF9fYGAgYXR0cmlidXRlIHRvIHRoZSB3cmFwcGVy IHRoYXQgcmVmZXJzIHRvDQogICAgdGhlIGZ1bmN0aW9uIGJlaW5nIHdyYXBwZWQuDQogDQpkaWZm IC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QgYi9Eb2MvbGlicmFyeS90YXJmaWxlLnJz dA0KaW5kZXggNTUzMmZmYTFhZDI3ZjU3Li5jODIwZTNkMTU5YjlhNWIgMTAwNjQ0DQotLS0gYS9E b2MvbGlicmFyeS90YXJmaWxlLnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QNCkBA IC02MjcsNyArNjI3LDcgQEAgYmUgZmluYWxpemVkOyBvbmx5IHRoZSBpbnRlcm5hbGx5IHVzZWQg ZmlsZSBvYmplY3Qgd2lsbCBiZSBjbG9zZWQuIFNlZSB0aGUNCiAgICBpdCBpcyBiZXN0IHByYWN0 aWNlIHRvIG9ubHkgZG8gc28gaW4gdG9wLWxldmVsIGFwcGxpY2F0aW9ucyBvcg0KICAgIDptb2Q6 YHNpdGUgY29uZmlndXJhdGlvbiA8c2l0ZT5gLg0KICAgIFRvIHNldCBhIGdsb2JhbCBkZWZhdWx0 IHRoaXMgd2F5LCBhIGZpbHRlciBmdW5jdGlvbiBuZWVkcyB0byBiZSB3cmFwcGVkIGluDQotICAg OmZ1bmM6YHN0YXRpY21ldGhvZGAgdG8gcHJldmVudCBpbmplY3Rpb24gb2YgYSBgYHNlbGZgYCBh cmd1bWVudC4NCisgICA6ZGVjbzpgc3RhdGljbWV0aG9kYCB0byBwcmV2ZW50IGluamVjdGlvbiBv ZiBhIGBgc2VsZmBgIGFyZ3VtZW50Lg0KIA0KIC4uIG1ldGhvZDo6IFRhckZpbGUuYWRkKG5hbWUs IGFyY25hbWU9Tm9uZSwgcmVjdXJzaXZlPVRydWUsICosIGZpbHRlcj1Ob25lKQ0KIA0KZGlmZiAt LWdpdCBhL0RvYy9saWJyYXJ5L3Rlc3QucnN0IGIvRG9jL2xpYnJhcnkvdGVzdC5yc3QNCmluZGV4 IDkzZjVhOTY2Y2FiOGNhOC4uMDY2MDRkYzcyM2VjM2IzIDEwMDY0NA0KLS0tIGEvRG9jL2xpYnJh cnkvdGVzdC5yc3QNCisrKyBiL0RvYy9saWJyYXJ5L3Rlc3QucnN0DQpAQCAtNjk2LDcgKzY5Niw3 IEBAIFRoZSA6bW9kOmB0ZXN0LnN1cHBvcnRgIG1vZHVsZSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcg ZnVuY3Rpb25zOg0KIC4uIGRlY29yYXRvcjo6IGFudGljaXBhdGVfZmFpbHVyZShjb25kaXRpb24p DQogDQogICAgQSBkZWNvcmF0b3IgdG8gY29uZGl0aW9uYWxseSBtYXJrIHRlc3RzIHdpdGgNCi0g ICA6ZnVuYzpgdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlYC4gQW55IHVzZSBvZiB0aGlzIGRlY29y YXRvciBzaG91bGQNCisgICA6ZGVjbzpgdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlYC4gQW55IHVz ZSBvZiB0aGlzIGRlY29yYXRvciBzaG91bGQNCiAgICBoYXZlIGFuIGFzc29jaWF0ZWQgY29tbWVu dCBpZGVudGlmeWluZyB0aGUgcmVsZXZhbnQgdHJhY2tlciBpc3N1ZS4NCiANCiANCmRpZmYgLS1n aXQgYS9Eb2MvbGlicmFyeS90eXBpbmcucnN0IGIvRG9jL2xpYnJhcnkvdHlwaW5nLnJzdA0KaW5k ZXggODBmYTk3ZTA0YzYyNGViLi4yOTIwNjQwMjQ2MzQ3YzcgMTAwNjQ0DQotLS0gYS9Eb2MvbGli cmFyeS90eXBpbmcucnN0DQorKysgYi9Eb2MvbGlicmFyeS90eXBpbmcucnN0DQpAQCAtMjQwMyw3 ICsyNDAzLDcgQEAgdHlwZXMuDQogICAgICAgZnVuYyhDKCkpICAjIFBhc3NlcyBzdGF0aWMgdHlw ZSBjaGVjaw0KIA0KICAgIFNlZSA6cGVwOmA1NDRgIGZvciBtb3JlIGRldGFpbHMuIFByb3RvY29s IGNsYXNzZXMgZGVjb3JhdGVkIHdpdGgNCi0gICA6ZnVuYzpgcnVudGltZV9jaGVja2FibGVgIChk ZXNjcmliZWQgbGF0ZXIpIGFjdCBhcyBzaW1wbGUtbWluZGVkIHJ1bnRpbWUNCisgICA6ZGVjbzpg cnVudGltZV9jaGVja2FibGVgIChkZXNjcmliZWQgbGF0ZXIpIGFjdCBhcyBzaW1wbGUtbWluZGVk IHJ1bnRpbWUNCiAgICBwcm90b2NvbHMgdGhhdCBjaGVjayBvbmx5IHRoZSBwcmVzZW5jZSBvZiBn aXZlbiBhdHRyaWJ1dGVzLCBpZ25vcmluZyB0aGVpcg0KICAgIHR5cGUgc2lnbmF0dXJlcy4gUHJv dG9jb2wgY2xhc3NlcyB3aXRob3V0IHRoaXMgZGVjb3JhdG9yIGNhbm5vdCBiZSB1c2VkDQogICAg YXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byA6ZnVuYzpgaXNpbnN0YW5jZWAgb3IgOmZ1bmM6YGlz c3ViY2xhc3NgLg0KQEAgLTI0NTAsNyArMjQ1MCw3IEBAIHR5cGVzLg0KIA0KICAgIC4uIG5vdGU6 Og0KIA0KLSAgICAgICAgOmZ1bmM6YCFydW50aW1lX2NoZWNrYWJsZWAgd2lsbCBjaGVjayBvbmx5 IHRoZSBwcmVzZW5jZSBvZiB0aGUgcmVxdWlyZWQNCisgICAgICAgIDpkZWNvOmAhcnVudGltZV9j aGVja2FibGVgIHdpbGwgY2hlY2sgb25seSB0aGUgcHJlc2VuY2Ugb2YgdGhlIHJlcXVpcmVkDQog ICAgICAgICBtZXRob2RzIG9yIGF0dHJpYnV0ZXMsIG5vdCB0aGVpciB0eXBlIHNpZ25hdHVyZXMg b3IgdHlwZXMuDQogICAgICAgICBGb3IgZXhhbXBsZSwgOmNsYXNzOmBzc2wuU1NMT2JqZWN0YA0K ICAgICAgICAgaXMgYSBjbGFzcywgdGhlcmVmb3JlIGl0IHBhc3NlcyBhbiA6ZnVuYzpgaXNzdWJj bGFzc2ANCkBAIC0yOTAwLDcgKzI5MDAsNyBAQCBGdW5jdGlvbnMgYW5kIGRlY29yYXRvcnMNCiAg ICBEZWNvcmF0b3IgdG8gbWFyayBhbiBvYmplY3QgYXMgcHJvdmlkaW5nDQogICAgOmZ1bmM6YGRh dGFjbGFzcyA8ZGF0YWNsYXNzZXMuZGF0YWNsYXNzPmAtbGlrZSBiZWhhdmlvci4NCiANCi0gICBg YGRhdGFjbGFzc190cmFuc2Zvcm1gYCBtYXkgYmUgdXNlZCB0bw0KKyAgIGBgQGRhdGFjbGFzc190 cmFuc2Zvcm1gYCBtYXkgYmUgdXNlZCB0bw0KICAgIGRlY29yYXRlIGEgY2xhc3MsIG1ldGFjbGFz cywgb3IgYSBmdW5jdGlvbiB0aGF0IGlzIGl0c2VsZiBhIGRlY29yYXRvci4NCiAgICBUaGUgcHJl c2VuY2Ugb2YgYGBAZGF0YWNsYXNzX3RyYW5zZm9ybSgpYGAgdGVsbHMgYSBzdGF0aWMgdHlwZSBj aGVja2VyIHRoYXQgdGhlDQogICAgZGVjb3JhdGVkIG9iamVjdCBwZXJmb3JtcyBydW50aW1lICJt YWdpYyIgdGhhdA0KQEAgLTI5NTUsNyArMjk1NSw3IEBAIEZ1bmN0aW9ucyBhbmQgZGVjb3JhdG9y cw0KICAgIGBga3dfb25seWBgLCBhbmQgYGBzbG90c2BgLiBJdCBtdXN0IGJlIHBvc3NpYmxlIGZv ciB0aGUgdmFsdWUgb2YgdGhlc2UNCiAgICBhcmd1bWVudHMgKGBgVHJ1ZWBgIG9yIGBgRmFsc2Vg YCkgdG8gYmUgc3RhdGljYWxseSBldmFsdWF0ZWQuDQogDQotICAgVGhlIGFyZ3VtZW50cyB0byB0 aGUgYGBkYXRhY2xhc3NfdHJhbnNmb3JtYGAgZGVjb3JhdG9yIGNhbiBiZSB1c2VkIHRvDQorICAg VGhlIGFyZ3VtZW50cyB0byB0aGUgYGBAZGF0YWNsYXNzX3RyYW5zZm9ybWBgIGRlY29yYXRvciBj YW4gYmUgdXNlZCB0bw0KICAgIGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCBiZWhhdmlvcnMgb2YgdGhl IGRlY29yYXRlZCBjbGFzcywgbWV0YWNsYXNzLCBvcg0KICAgIGZ1bmN0aW9uOg0KIA0KQEAgLTMw MTksOCArMzAxOSw4IEBAIEZ1bmN0aW9ucyBhbmQgZGVjb3JhdG9ycw0KICAgICAgICAgICBrZXl3 b3JkLW9ubHkuIElmIGBgVHJ1ZWBgLCB0aGUgZmllbGQgd2lsbCBiZSBrZXl3b3JkLW9ubHkuIElm DQogICAgICAgICAgIGBgRmFsc2VgYCwgaXQgd2lsbCBub3QgYmUga2V5d29yZC1vbmx5LiBJZiB1 bnNwZWNpZmllZCwgdGhlIHZhbHVlIG9mDQogICAgICAgICAgIHRoZSBgYGt3X29ubHlgYCBwYXJh bWV0ZXIgb24gdGhlIG9iamVjdCBkZWNvcmF0ZWQgd2l0aA0KLSAgICAgICAgICBgYGRhdGFjbGFz c190cmFuc2Zvcm1gYCB3aWxsIGJlIHVzZWQsIG9yIGlmIHRoYXQgaXMgdW5zcGVjaWZpZWQsIHRo ZQ0KLSAgICAgICAgICB2YWx1ZSBvZiBgYGt3X29ubHlfZGVmYXVsdGBgIG9uIGBgZGF0YWNsYXNz X3RyYW5zZm9ybWBgIHdpbGwgYmUgdXNlZC4NCisgICAgICAgICAgYGBAZGF0YWNsYXNzX3RyYW5z Zm9ybWBgIHdpbGwgYmUgdXNlZCwgb3IgaWYgdGhhdCBpcyB1bnNwZWNpZmllZCwgdGhlDQorICAg ICAgICAgIHZhbHVlIG9mIGBga3dfb25seV9kZWZhdWx0YGAgb24gYGBAZGF0YWNsYXNzX3RyYW5z Zm9ybWBgIHdpbGwgYmUgdXNlZC4NCiAgICAgICAqIC0gYGBhbGlhc2BgDQogICAgICAgICAtIFBy b3ZpZGVzIGFuIGFsdGVybmF0aXZlIG5hbWUgZm9yIHRoZSBmaWVsZC4gVGhpcyBhbHRlcm5hdGl2 ZQ0KICAgICAgICAgICBuYW1lIGlzIHVzZWQgaW4gdGhlIHN5bnRoZXNpemVkIGBgX19pbml0X19g YCBtZXRob2QuDQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdW5pdHRlc3QucnN0IGIvRG9jL2xp YnJhcnkvdW5pdHRlc3QucnN0DQppbmRleCAxYTAyMDY2ZmY5OTdmNDcuLjVmY2JlM2U2NDdkM2Vl MiAxMDA2NDQNCi0tLSBhL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdA0KKysrIGIvRG9jL2xpYnJh cnkvdW5pdHRlc3QucnN0DQpAQCAtNTQwLDcgKzU0MCw3IEBAIHRlc3RzLiAgSW4gYWRkaXRpb24s IGl0IHN1cHBvcnRzIG1hcmtpbmcgYSB0ZXN0IGFzIGFuICJleHBlY3RlZCBmYWlsdXJlLCIgYSB0 ZXN0DQogdGhhdCBpcyBicm9rZW4gYW5kIHdpbGwgZmFpbCwgYnV0IHNob3VsZG4ndCBiZSBjb3Vu dGVkIGFzIGEgZmFpbHVyZSBvbiBhDQogOmNsYXNzOmBUZXN0UmVzdWx0YC4NCiANCi1Ta2lwcGlu ZyBhIHRlc3QgaXMgc2ltcGx5IGEgbWF0dGVyIG9mIHVzaW5nIHRoZSA6ZnVuYzpgc2tpcGAgOnRl cm06YGRlY29yYXRvcmANCitTa2lwcGluZyBhIHRlc3QgaXMgc2ltcGx5IGEgbWF0dGVyIG9mIHVz aW5nIHRoZSA6ZGVjbzpgc2tpcGAgOnRlcm06YGRlY29yYXRvcmANCiBvciBvbmUgb2YgaXRzIGNv bmRpdGlvbmFsIHZhcmlhbnRzLCBjYWxsaW5nIDptZXRoOmBUZXN0Q2FzZS5za2lwVGVzdGAgd2l0 aGluIGENCiA6bWV0aDpgflRlc3RDYXNlLnNldFVwYCBvciB0ZXN0IG1ldGhvZCwgb3IgcmFpc2lu ZyA6ZXhjOmBTa2lwVGVzdGAgZGlyZWN0bHkuDQogDQpAQCAtNTkxLDcgKzU5MSw3IEBAIENsYXNz ZXMgY2FuIGJlIHNraXBwZWQganVzdCBsaWtlIG1ldGhvZHM6Og0KIDptZXRoOmBUZXN0Q2FzZS5z ZXRVcGAgY2FuIGFsc28gc2tpcCB0aGUgdGVzdC4gIFRoaXMgaXMgdXNlZnVsIHdoZW4gYSByZXNv dXJjZQ0KIHRoYXQgbmVlZHMgdG8gYmUgc2V0IHVwIGlzIG5vdCBhdmFpbGFibGUuDQogDQotRXhw ZWN0ZWQgZmFpbHVyZXMgdXNlIHRoZSA6ZnVuYzpgZXhwZWN0ZWRGYWlsdXJlYCBkZWNvcmF0b3Iu IDo6DQorRXhwZWN0ZWQgZmFpbHVyZXMgdXNlIHRoZSA6ZGVjbzpgZXhwZWN0ZWRGYWlsdXJlYCBk ZWNvcmF0b3IuIDo6DQogDQogICAgY2xhc3MgRXhwZWN0ZWRGYWlsdXJlVGVzdENhc2UodW5pdHRl c3QuVGVzdENhc2UpOg0KICAgICAgICBAdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlDQpAQCAtNzcz LDcgKzc3Myw3IEBAIFRlc3QgY2FzZXMNCiANCiAgICAgICBBIGNsYXNzIG1ldGhvZCBjYWxsZWQg YmVmb3JlIHRlc3RzIGluIGFuIGluZGl2aWR1YWwgY2xhc3MgYXJlIHJ1bi4NCiAgICAgICBgYHNl dFVwQ2xhc3NgYCBpcyBjYWxsZWQgd2l0aCB0aGUgY2xhc3MgYXMgdGhlIG9ubHkgYXJndW1lbnQN Ci0gICAgICBhbmQgbXVzdCBiZSBkZWNvcmF0ZWQgYXMgYSA6ZnVuYzpgY2xhc3NtZXRob2RgOjoN CisgICAgICBhbmQgbXVzdCBiZSBkZWNvcmF0ZWQgYXMgYSA6ZGVjbzpgY2xhc3NtZXRob2RgOjoN CiANCiAgICAgICAgIEBjbGFzc21ldGhvZA0KICAgICAgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToN CkBAIC03ODgsNyArNzg4LDcgQEAgVGVzdCBjYXNlcw0KIA0KICAgICAgIEEgY2xhc3MgbWV0aG9k IGNhbGxlZCBhZnRlciB0ZXN0cyBpbiBhbiBpbmRpdmlkdWFsIGNsYXNzIGhhdmUgcnVuLg0KICAg ICAgIGBgdGVhckRvd25DbGFzc2BgIGlzIGNhbGxlZCB3aXRoIHRoZSBjbGFzcyBhcyB0aGUgb25s eSBhcmd1bWVudA0KLSAgICAgIGFuZCBtdXN0IGJlIGRlY29yYXRlZCBhcyBhIDptZXRoOmBjbGFz c21ldGhvZGA6Og0KKyAgICAgIGFuZCBtdXN0IGJlIGRlY29yYXRlZCBhcyBhIDpkZWNvOmBjbGFz c21ldGhvZGA6Og0KIA0KICAgICAgICAgQGNsYXNzbWV0aG9kDQogICAgICAgICBkZWYgdGVhckRv d25DbGFzcyhjbHMpOg0KQEAgLTIwNzUsNyArMjA3NSw3IEBAIExvYWRpbmcgYW5kIHJ1bm5pbmcg dGVzdHMNCiANCiAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNA0KICAgICAgICAgIFJldHVy bnMgYGBGYWxzZWBgIGlmIHRoZXJlIHdlcmUgYW55IDphdHRyOmB1bmV4cGVjdGVkU3VjY2Vzc2Vz YA0KLSAgICAgICAgIGZyb20gdGVzdHMgbWFya2VkIHdpdGggdGhlIDpmdW5jOmBleHBlY3RlZEZh aWx1cmVgIGRlY29yYXRvci4NCisgICAgICAgICBmcm9tIHRlc3RzIG1hcmtlZCB3aXRoIHRoZSA6 ZGVjbzpgZXhwZWN0ZWRGYWlsdXJlYCBkZWNvcmF0b3IuDQogDQogICAgLi4gbWV0aG9kOjogc3Rv cCgpDQogDQpAQCAtMjE1OCw3ICsyMTU4LDcgQEAgTG9hZGluZyBhbmQgcnVubmluZyB0ZXN0cw0K ICAgIC4uIG1ldGhvZDo6IGFkZEV4cGVjdGVkRmFpbHVyZSh0ZXN0LCBlcnIpDQogDQogICAgICAg Q2FsbGVkIHdoZW4gdGhlIHRlc3QgY2FzZSAqdGVzdCogZmFpbHMgb3IgZXJyb3JzLCBidXQgd2Fz IG1hcmtlZCB3aXRoDQotICAgICAgdGhlIDpmdW5jOmBleHBlY3RlZEZhaWx1cmVgIGRlY29yYXRv ci4NCisgICAgICB0aGUgOmRlY286YGV4cGVjdGVkRmFpbHVyZWAgZGVjb3JhdG9yLg0KIA0KICAg ICAgIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGFwcGVuZHMgYSB0dXBsZSBgYCh0ZXN0LCBm b3JtYXR0ZWRfZXJyKWBgIHRvDQogICAgICAgdGhlIGluc3RhbmNlJ3MgOmF0dHI6YGV4cGVjdGVk RmFpbHVyZXNgIGF0dHJpYnV0ZSwgd2hlcmUgKmZvcm1hdHRlZF9lcnIqDQpAQCAtMjE2OCw3ICsy MTY4LDcgQEAgTG9hZGluZyBhbmQgcnVubmluZyB0ZXN0cw0KICAgIC4uIG1ldGhvZDo6IGFkZFVu ZXhwZWN0ZWRTdWNjZXNzKHRlc3QpDQogDQogICAgICAgQ2FsbGVkIHdoZW4gdGhlIHRlc3QgY2Fz ZSAqdGVzdCogd2FzIG1hcmtlZCB3aXRoIHRoZQ0KLSAgICAgIDpmdW5jOmBleHBlY3RlZEZhaWx1 cmVgIGRlY29yYXRvciwgYnV0IHN1Y2NlZWRlZC4NCisgICAgICA6ZGVjbzpgZXhwZWN0ZWRGYWls dXJlYCBkZWNvcmF0b3IsIGJ1dCBzdWNjZWVkZWQuDQogDQogICAgICAgVGhlIGRlZmF1bHQgaW1w bGVtZW50YXRpb24gYXBwZW5kcyB0aGUgdGVzdCB0byB0aGUgaW5zdGFuY2Uncw0KICAgICAgIDph dHRyOmB1bmV4cGVjdGVkU3VjY2Vzc2VzYCBhdHRyaWJ1dGUuDQpkaWZmIC0tZ2l0IGEvRG9jL3Jl ZmVyZW5jZS9kYXRhbW9kZWwucnN0IGIvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0DQppbmRl eCAwMWQ3NjY2ODU5ZDJjM2UuLmFkMzFiZDNkYWRkNzgxOSAxMDA2NDQNCi0tLSBhL0RvYy9yZWZl cmVuY2UvZGF0YW1vZGVsLnJzdA0KKysrIGIvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0DQpA QCAtMjExMCw3ICsyMTEwLDcgQEAgQmFzaWMgY3VzdG9taXphdGlvbg0KICAgIDpkYXRhOmAhTm90 SW1wbGVtZW50ZWRgLiAgVGhlcmUgYXJlIG5vIG90aGVyIGltcGxpZWQgcmVsYXRpb25zaGlwcyBh bW9uZyB0aGUNCiAgICBjb21wYXJpc29uIG9wZXJhdG9ycyBvciBkZWZhdWx0IGltcGxlbWVudGF0 aW9uczsgZm9yIGV4YW1wbGUsIHRoZSB0cnV0aCBvZg0KICAgIGBgKHg8eSBvciB4PT15KWBgIGRv ZXMgbm90IGltcGx5IGBgeDw9eWBgLiBUbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIG9yZGVyaW5n DQotICAgb3BlcmF0aW9ucyBmcm9tIGEgc2luZ2xlIHJvb3Qgb3BlcmF0aW9uLCBzZWUgOmZ1bmM6 YGZ1bmN0b29scy50b3RhbF9vcmRlcmluZ2AuDQorICAgb3BlcmF0aW9ucyBmcm9tIGEgc2luZ2xl IHJvb3Qgb3BlcmF0aW9uLCBzZWUgOmRlY286YGZ1bmN0b29scy50b3RhbF9vcmRlcmluZ2AuDQog DQogICAgQnkgZGVmYXVsdCwgdGhlIDpjbGFzczpgb2JqZWN0YCBjbGFzcyBwcm92aWRlcyBpbXBs ZW1lbnRhdGlvbnMgY29uc2lzdGVudA0KICAgIHdpdGggOnJlZjpgZXhwcmVzc2lvbnMtdmFsdWUt Y29tcGFyaXNvbnNgOiBlcXVhbGl0eSBjb21wYXJlcyBhY2NvcmRpbmcgdG8NCkBAIC0yNTM0LDcg KzI1MzQsNyBAQCBpbXBsZW1lbnRlZCBhcyBub24tZGF0YSBkZXNjcmlwdG9ycy4gIEFjY29yZGlu Z2x5LCBpbnN0YW5jZXMgY2FuIHJlZGVmaW5lIGFuZA0KIG92ZXJyaWRlIG1ldGhvZHMuICBUaGlz IGFsbG93cyBpbmRpdmlkdWFsIGluc3RhbmNlcyB0byBhY3F1aXJlIGJlaGF2aW9ycyB0aGF0DQog ZGlmZmVyIGZyb20gb3RoZXIgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIGNsYXNzLg0KIA0KLVRoZSA6 ZnVuYzpgcHJvcGVydHlgIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIGFzIGEgZGF0YSBkZXNjcmlw dG9yLiBBY2NvcmRpbmdseSwNCitUaGUgOmRlY286YHByb3BlcnR5YCBkZWNvcmF0b3IgaXMgaW1w bGVtZW50ZWQgYXMgYSBkYXRhIGRlc2NyaXB0b3IuIEFjY29yZGluZ2x5LA0KIGluc3RhbmNlcyBj YW5ub3Qgb3ZlcnJpZGUgdGhlIGJlaGF2aW9yIG9mIGEgcHJvcGVydHkuDQogDQogDQpkaWZmIC0t Z2l0IGEvRG9jL3JlZmVyZW5jZS9leHByZXNzaW9ucy5yc3QgYi9Eb2MvcmVmZXJlbmNlL2V4cHJl c3Npb25zLnJzdA0KaW5kZXggMjQ5NjJjNjg1NzhjZWZkLi41NzQ0YTU2YTk4MmExYTYgMTAwNjQ0 DQotLS0gYS9Eb2MvcmVmZXJlbmNlL2V4cHJlc3Npb25zLnJzdA0KKysrIGIvRG9jL3JlZmVyZW5j ZS9leHByZXNzaW9ucy5yc3QNCkBAIC0xNjg5LDcgKzE2ODksNyBAQCBzb21lIGNvbnNpc3RlbmN5 IHJ1bGVzLCBpZiBwb3NzaWJsZToNCiANCiAgIFRoZSBsYXN0IHR3byBleHByZXNzaW9ucyBhcHBs eSB0byB0b3RhbGx5IG9yZGVyZWQgY29sbGVjdGlvbnMgKGUuZy4gdG8NCiAgIHNlcXVlbmNlcywg YnV0IG5vdCB0byBzZXRzIG9yIG1hcHBpbmdzKS4gU2VlIGFsc28gdGhlDQotICA6ZnVuYzpgfmZ1 bmN0b29scy50b3RhbF9vcmRlcmluZ2AgZGVjb3JhdG9yLg0KKyAgOmRlY286YH5mdW5jdG9vbHMu dG90YWxfb3JkZXJpbmdgIGRlY29yYXRvci4NCiANCiAqIFRoZSA6ZnVuYzpgaGFzaGAgcmVzdWx0 IHNob3VsZCBiZSBjb25zaXN0ZW50IHdpdGggZXF1YWxpdHkuDQogICBPYmplY3RzIHRoYXQgYXJl IGVxdWFsIHNob3VsZCBlaXRoZXIgaGF2ZSB0aGUgc2FtZSBoYXNoIHZhbHVlLA0KZGlmZiAtLWdp dCBhL0RvYy9yZWZlcmVuY2Uvc2ltcGxlX3N0bXRzLnJzdCBiL0RvYy9yZWZlcmVuY2Uvc2ltcGxl X3N0bXRzLnJzdA0KaW5kZXggM2E3ZDY3Mzk2YmM4NjZmLi45MmU1YWUxY2U4ZDA0YWUgMTAwNjQ0 DQotLS0gYS9Eb2MvcmVmZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QNCisrKyBiL0RvYy9yZWZlcmVu Y2Uvc2ltcGxlX3N0bXRzLnJzdA0KQEAgLTE4Miw3ICsxODIsNyBAQCBBc3NpZ25tZW50IG9mIGFu IG9iamVjdCB0byBhIHNpbmdsZSB0YXJnZXQgaXMgcmVjdXJzaXZlbHkgZGVmaW5lZCBhcyBmb2xs b3dzLg0KICAgICAgaW5zdC54ID0gaW5zdC54ICsgMSAgICMgd3JpdGVzIGluc3QueCBhcyA0IGxl YXZpbmcgQ2xzLnggYXMgMw0KIA0KICAgVGhpcyBkZXNjcmlwdGlvbiBkb2VzIG5vdCBuZWNlc3Nh cmlseSBhcHBseSB0byBkZXNjcmlwdG9yIGF0dHJpYnV0ZXMsIHN1Y2ggYXMNCi0gIHByb3BlcnRp ZXMgY3JlYXRlZCB3aXRoIDpmdW5jOmBwcm9wZXJ0eWAuDQorICBwcm9wZXJ0aWVzIGNyZWF0ZWQg d2l0aCA6ZGVjbzpgcHJvcGVydHlgLg0KIA0KICAgLi4gaW5kZXg6Og0KICAgICAgcGFpcjogc3Vi c2NyaXB0aW9uOyBhc3NpZ25tZW50DQpkaWZmIC0tZ2l0IGEvRG9jL3doYXRzbmV3LzIuNi5yc3Qg Yi9Eb2Mvd2hhdHNuZXcvMi42LnJzdA0KaW5kZXggM2YzZTc3MjQwMjhhMWI3Li5mYTg4NDlhYmVi ZDU4YzcgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNuZXcvMi42LnJzdA0KKysrIGIvRG9jL3doYXRz bmV3LzIuNi5yc3QNCkBAIC00MzEsNyArNDMxLDcgQEAgVGhlIGNvbnRleHRsaWIgbW9kdWxlDQog VGhlIDptb2Q6YGNvbnRleHRsaWJgIG1vZHVsZSBwcm92aWRlcyBzb21lIGZ1bmN0aW9ucyBhbmQg YSBkZWNvcmF0b3IgdGhhdA0KIGFyZSB1c2VmdWwgd2hlbiB3cml0aW5nIG9iamVjdHMgZm9yIHVz ZSB3aXRoIHRoZSAnOmtleXdvcmQ6YHdpdGhgJyBzdGF0ZW1lbnQuDQogDQotVGhlIGRlY29yYXRv ciBpcyBjYWxsZWQgOmZ1bmM6YH5jb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyYCwgYW5kIGxldHMg eW91IHdyaXRlDQorVGhlIGRlY29yYXRvciBpcyBjYWxsZWQgOmRlY286YH5jb250ZXh0bGliLmNv bnRleHRtYW5hZ2VyYCwgYW5kIGxldHMgeW91IHdyaXRlDQogYSBzaW5nbGUgZ2VuZXJhdG9yIGZ1 bmN0aW9uIGluc3RlYWQgb2YgZGVmaW5pbmcgYSBuZXcgY2xhc3MuICBUaGUgZ2VuZXJhdG9yDQog c2hvdWxkIHlpZWxkIGV4YWN0bHkgb25lIHZhbHVlLiAgVGhlIGNvZGUgdXAgdG8gdGhlIDprZXl3 b3JkOmB5aWVsZGAgd2lsbCBiZQ0KIGV4ZWN1dGVkIGFzIHRoZSA6bWV0aDpgfm9iamVjdC5fX2Vu dGVyX19gIG1ldGhvZCwgYW5kIHRoZSB2YWx1ZSB5aWVsZGVkIHdpbGwNCkBAIC0xNTU3LDggKzE1 NTcsOSBAQCBTb21lIHNtYWxsZXIgY2hhbmdlcyBtYWRlIHRvIHRoZSBjb3JlIFB5dGhvbiBsYW5n dWFnZSBhcmU6DQogDQogICAuLiBSZXZpc2lvbiA1NzYxOQ0KIA0KLSogUHJvcGVydGllcyBub3cg aGF2ZSB0aHJlZSBhdHRyaWJ1dGVzLCA6YXR0cjpgZ2V0dGVyYCwgOmF0dHI6YHNldHRlcmANCi0g IGFuZCA6YXR0cjpgZGVsZXRlcmAsIHRoYXQgYXJlIGRlY29yYXRvcnMgcHJvdmlkaW5nIHVzZWZ1 bCBzaG9ydGN1dHMNCisqIFByb3BlcnRpZXMgbm93IGhhdmUgdGhyZWUgZGVjb3JhdG9ycywgOmRl Y286YH5wcm9wZXJ0eS5nZXR0ZXJgLA0KKyAgOmRlY286YH5wcm9wZXJ0eS5zZXR0ZXJgIGFuZCA6 ZGVjbzpgfnByb3BlcnR5LmRlbGV0ZXJgLCB0aGF0IGFyZQ0KKyAgZGVjb3JhdG9ycyBwcm92aWRp bmcgdXNlZnVsIHNob3J0Y3V0cw0KICAgZm9yIGFkZGluZyBhIGdldHRlciwgc2V0dGVyIG9yIGRl bGV0ZXIgZnVuY3Rpb24gdG8gYW4gZXhpc3RpbmcNCiAgIHByb3BlcnR5LiBZb3Ugd291bGQgdXNl IHRoZW0gbGlrZSB0aGlzOjoNCiANCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMi43LnJzdCBi L0RvYy93aGF0c25ldy8yLjcucnN0DQppbmRleCA3Mjk2Mjk2ZDE0NDgwM2QuLmRlOTBjMzdhMzhk MzhmZiAxMDA2NDQNCi0tLSBhL0RvYy93aGF0c25ldy8yLjcucnN0DQorKysgYi9Eb2Mvd2hhdHNu ZXcvMi43LnJzdA0KQEAgLTEyNjcsNyArMTI2Nyw3IEBAIGNoYW5nZXMsIG9yIGxvb2sgdGhyb3Vn aCB0aGUgU3VidmVyc2lvbiBsb2dzIGZvciBhbGwgdGhlIGRldGFpbHMuDQogICB1cGxvYWRzIHRo YW5rcyB0byBhbiBhZGRlZCAqcmVzdCogcGFyYW1ldGVyIChwYXRjaCBieSBQYWJsbyBNb3V6bzsN CiAgIDppc3N1ZTpgNjg0NWAuKQ0KIA0KLSogTmV3IGNsYXNzIGRlY29yYXRvcjogOmZ1bmM6YH5m dW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIGluIHRoZSA6bW9kOmBmdW5jdG9vbHNgDQorKiBOZXcg Y2xhc3MgZGVjb3JhdG9yOiA6ZGVjbzpgfmZ1bmN0b29scy50b3RhbF9vcmRlcmluZ2AgaW4gdGhl IDptb2Q6YGZ1bmN0b29sc2ANCiAgIG1vZHVsZSB0YWtlcyBhIGNsYXNzIHRoYXQgZGVmaW5lcyBh biA6bWV0aDpgfm9iamVjdC5fX2VxX19gIG1ldGhvZCBhbmQgb25lIG9mDQogICA6bWV0aDpgfm9i amVjdC5fX2x0X19gLCA6bWV0aDpgfm9iamVjdC5fX2xlX19gLCA6bWV0aDpgfm9iamVjdC5fX2d0 X19gLCBvciA6bWV0aDpgfm9iamVjdC5fX2dlX19gLA0KICAgYW5kIGdlbmVyYXRlcyB0aGUgbWlz c2luZyBjb21wYXJpc29uIG1ldGhvZHMuICBTaW5jZSB0aGUNCmRpZmYgLS1naXQgYS9Eb2Mvd2hh dHNuZXcvMy4xMC5yc3QgYi9Eb2Mvd2hhdHNuZXcvMy4xMC5yc3QNCmluZGV4IDU4ZmFmYTNlZTY5 ZjM3Yy4uNmQ1MDFiMDE4YmY4MjA5IDEwMDY0NA0KLS0tIGEvRG9jL3doYXRzbmV3LzMuMTAucnN0 DQorKysgYi9Eb2Mvd2hhdHNuZXcvMy4xMC5yc3QNCkBAIC05OTYsNyArOTk2LDcgQEAgZGF0YWNs YXNzZXMNCiBfX3Nsb3RzX18NCiB+fn5+fn5+fn4NCiANCi1BZGRlZCBgYHNsb3RzYGAgcGFyYW1l dGVyIGluIDpmdW5jOmBkYXRhY2xhc3Nlcy5kYXRhY2xhc3NgIGRlY29yYXRvci4NCitBZGRlZCBg YHNsb3RzYGAgcGFyYW1ldGVyIGluIDpkZWNvOmBkYXRhY2xhc3Nlcy5kYXRhY2xhc3NgIGRlY29y YXRvci4NCiAoQ29udHJpYnV0ZWQgYnkgWXVyaWkgS2FyYWJhcyBpbiA6aXNzdWU6YDQyMjY5YCkN CiANCiBLZXl3b3JkLW9ubHkgZmllbGRzDQpAQCAtMTQ4NSw5ICsxNDg1LDkgQEAgaXMgYSA6Y2xh c3M6YHR5cGluZy5UeXBlZERpY3RgLg0KIA0KIFN1YmNsYXNzZXMgb2YgYGB0eXBpbmcuUHJvdG9j b2xgYCB3aGljaCBvbmx5IGhhdmUgZGF0YSB2YXJpYWJsZXMgZGVjbGFyZWQNCiB3aWxsIG5vdyBy YWlzZSBhIGBgVHlwZUVycm9yYGAgd2hlbiBjaGVja2VkIHdpdGggYGBpc2luc3RhbmNlYGAgdW5s ZXNzIHRoZXkNCi1hcmUgZGVjb3JhdGVkIHdpdGggOmZ1bmM6YH50eXBpbmcucnVudGltZV9jaGVj a2FibGVgLiAgUHJldmlvdXNseSwgdGhlc2UgY2hlY2tzDQorYXJlIGRlY29yYXRlZCB3aXRoIDpk ZWNvOmB+dHlwaW5nLnJ1bnRpbWVfY2hlY2thYmxlYC4gIFByZXZpb3VzbHksIHRoZXNlIGNoZWNr cw0KIHBhc3NlZCBzaWxlbnRseS4gIFVzZXJzIHNob3VsZCBkZWNvcmF0ZSB0aGVpcg0KLXN1YmNs YXNzZXMgd2l0aCB0aGUgOmZ1bmM6YCFydW50aW1lX2NoZWNrYWJsZWAgZGVjb3JhdG9yDQorc3Vi Y2xhc3NlcyB3aXRoIHRoZSA6ZGVjbzpgIXJ1bnRpbWVfY2hlY2thYmxlYCBkZWNvcmF0b3INCiBp ZiB0aGV5IHdhbnQgcnVudGltZSBwcm90b2NvbHMuDQogKENvbnRyaWJ1dGVkIGJ5IFl1cmlpIEth cmFiYXMgaW4gOmlzc3VlOmAzODkwOGAuKQ0KIA0KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8z LjExLnJzdCBiL0RvYy93aGF0c25ldy8zLjExLnJzdA0KaW5kZXggZDU5ZjI0NDA2Yzk0ODM1Li5j OTcwODg1MDFhYzljNTIgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNuZXcvMy4xMS5yc3QNCisrKyBi L0RvYy93aGF0c25ldy8zLjExLnJzdA0KQEAgLTM4OCw3ICszODgsNyBAQCBLdW1hciBTcmluaXZh c2FuIGFuZCBHcmFoYW0gQmxlYW5leS4pDQogUEVQIDY4MTogRGF0YSBjbGFzcyB0cmFuc2Zvcm1z DQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQotOmRhdGE6YH50eXBpbmcuZGF0 YWNsYXNzX3RyYW5zZm9ybWAgbWF5IGJlIHVzZWQgdG8NCis6ZGVjbzpgfnR5cGluZy5kYXRhY2xh c3NfdHJhbnNmb3JtYCBtYXkgYmUgdXNlZCB0bw0KIGRlY29yYXRlIGEgY2xhc3MsIG1ldGFjbGFz cywgb3IgYSBmdW5jdGlvbiB0aGF0IGlzIGl0c2VsZiBhIGRlY29yYXRvci4NCiBUaGUgcHJlc2Vu Y2Ugb2YgYGBAZGF0YWNsYXNzX3RyYW5zZm9ybSgpYGAgdGVsbHMgYSBzdGF0aWMgdHlwZSBjaGVj a2VyIHRoYXQgdGhlDQogZGVjb3JhdGVkIG9iamVjdCBwZXJmb3JtcyBydW50aW1lICJtYWdpYyIg dGhhdCB0cmFuc2Zvcm1zIGEgY2xhc3MsDQpAQCAtNjg2LDggKzY4Niw4IEBAIGVudW0NCiAqIEFk ZGVkIHRoZSA6ZnVuYzpgfmVudW0ubWVtYmVyYCBhbmQgOmZ1bmM6YH5lbnVtLm5vbm1lbWJlcmAg ZGVjb3JhdG9ycywNCiAgIHRvIGVuc3VyZSB0aGUgZGVjb3JhdGVkIG9iamVjdCBpcy9pcyBub3Qg Y29udmVydGVkIHRvIGFuIGVudW0gbWVtYmVyLg0KIA0KLSogQWRkZWQgdGhlIDpmdW5jOmB+ZW51 bS5wcm9wZXJ0eWAgZGVjb3JhdG9yLA0KLSAgd2hpY2ggd29ya3MgbGlrZSA6ZnVuYzpgcHJvcGVy dHlgIGV4Y2VwdCBmb3IgZW51bXMuDQorKiBBZGRlZCB0aGUgOmRlY286YH5lbnVtLnByb3BlcnR5 YCBkZWNvcmF0b3IsDQorICB3aGljaCB3b3JrcyBsaWtlIDpkZWNvOmBwcm9wZXJ0eWAgZXhjZXB0 IGZvciBlbnVtcy4NCiAgIFVzZSB0aGlzIGluc3RlYWQgb2YgOmZ1bmM6YHR5cGVzLkR5bmFtaWND bGFzc0F0dHJpYnV0ZWAuDQogDQogKiBBZGRlZCB0aGUgOmZ1bmM6YH5lbnVtLmdsb2JhbF9lbnVt YCBlbnVtIGRlY29yYXRvciwNCkBAIC03NDAsNyArNzQwLDcgQEAgZnJhY3Rpb25zDQogZnVuY3Rv b2xzDQogLS0tLS0tLS0tDQogDQotKiA6ZnVuYzpgZnVuY3Rvb2xzLnNpbmdsZWRpc3BhdGNoYCBu b3cgc3VwcG9ydHMgOmRhdGE6YHR5cGVzLlVuaW9uVHlwZWANCisqIDpkZWNvOmBmdW5jdG9vbHMu c2luZ2xlZGlzcGF0Y2hgIG5vdyBzdXBwb3J0cyA6ZGF0YTpgdHlwZXMuVW5pb25UeXBlYA0KICAg YW5kIDpkYXRhOmB0eXBpbmcuVW5pb25gIGFzIGFubm90YXRpb25zIHRvIHRoZSBkaXNwYXRjaCBh cmd1bWVudC46Og0KIA0KICAgICA+Pj4gZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHNpbmdsZWRpc3Bh dGNoDQpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgRm9yIG1ham9yIGNoYW5nZXMsIHNlZSA6cmVmOmBu ZXctZmVhdC1yZWxhdGVkLXR5cGUtaGludHMtMzExYC4NCiAgIHR5cGUgY2hlY2tlciBlcnJvcnMg cmVsYXRlZCB0byBoaWdobHkgZHluYW1pYyBjbGFzcywgc3VjaCBhcyBtb2Nrcy4NCiAgIChDb250 cmlidXRlZCBieSBTaGFudGFudSBKYWluIGluIDpnaDpgOTExNTRgLikNCiANCi0qIFRoZSA6ZnVu YzpgdHlwaW5nLmZpbmFsYCBkZWNvcmF0b3Igbm93IHNldHMgdGhlIGBgX19maW5hbF9fYGAgYXR0 cmlidXRlZCBvbg0KKyogVGhlIDpkZWNvOmB0eXBpbmcuZmluYWxgIGRlY29yYXRvciBub3cgc2V0 cyB0aGUgYGBfX2ZpbmFsX19gYCBhdHRyaWJ1dGVkIG9uDQogICB0aGUgZGVjb3JhdGVkIG9iamVj dC4NCiAgIChDb250cmlidXRlZCBieSBKZWxsZSBaaWpsc3RyYSBpbiA6Z2g6YDkwNTAwYC4pDQog DQpAQCAtMTE5Nyw3ICsxMTk3LDcgQEAgRm9yIG1ham9yIGNoYW5nZXMsIHNlZSA6cmVmOmBuZXct ZmVhdC1yZWxhdGVkLXR5cGUtaGludHMtMzExYC4NCiAgIDpkYXRhOmB+dHlwaW5nLkNsYXNzVmFy YCBhbm5vdGF0aW9ucy4gKENvbnRyaWJ1dGVkIGJ5IEdyZWdvcnkgQmVhdXJlZ2FyZA0KICAgaW4g OmdoOmA5MDcxMWAuKQ0KIA0KLSogOmZ1bmM6YHR5cGluZy5ub190eXBlX2NoZWNrYCBubyBsb25n ZXIgbW9kaWZpZXMgZXh0ZXJuYWwgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLg0KKyogOmRlY286YHR5 cGluZy5ub190eXBlX2NoZWNrYCBubyBsb25nZXIgbW9kaWZpZXMgZXh0ZXJuYWwgY2xhc3NlcyBh bmQgZnVuY3Rpb25zLg0KICAgSXQgYWxzbyBub3cgY29ycmVjdGx5IG1hcmtzIGNsYXNzbWV0aG9k cyBhcyBub3QgdG8gYmUgdHlwZSBjaGVja2VkLiAoQ29udHJpYnV0ZWQNCiAgIGJ5IE5pa2l0YSBT b2JvbGV2IGluIDpnaDpgOTA3MjlgLikNCiANCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy4x Mi5yc3QgYi9Eb2Mvd2hhdHNuZXcvMy4xMi5yc3QNCmluZGV4IDJhOTEwMjEwZGNhNTY3ZS4uZWQ2 OTYyNTJlMDllNjJkIDEwMDY0NA0KLS0tIGEvRG9jL3doYXRzbmV3LzMuMTIucnN0DQorKysgYi9E b2Mvd2hhdHNuZXcvMy4xMi5yc3QNCkBAIC0xNDYsNyArMTQ2LDcgQEAgTmV3IHR5cGluZyBmZWF0 dXJlczoNCiANCiAqIDpyZWY6YFBFUCA2OTIgPHdoYXRzbmV3MzEyLXBlcDY5Mj5gLCB1c2luZyA6 Y2xhc3M6YH50eXBpbmcuVHlwZWREaWN0YCB0bw0KICAgYW5ub3RhdGUgOnRlcm06YCoqa3dhcmdz IDxhcmd1bWVudD5gDQotKiA6cmVmOmBQRVAgNjk4IDx3aGF0c25ldzMxMi1wZXA2OTg+YCwgOmZ1 bmM6YHR5cGluZy5vdmVycmlkZWAgZGVjb3JhdG9yDQorKiA6cmVmOmBQRVAgNjk4IDx3aGF0c25l dzMxMi1wZXA2OTg+YCwgOmRlY286YHR5cGluZy5vdmVycmlkZWAgZGVjb3JhdG9yDQogDQogSW1w b3J0YW50IGRlcHJlY2F0aW9ucywgcmVtb3ZhbHMgb3IgcmVzdHJpY3Rpb25zOg0KIA0KQEAgLTUx MSw3ICs1MTEsNyBAQCBTZWUgOnBlcDpgNjkyYCBmb3IgbW9yZSBkZXRhaWxzLg0KIFBFUCA2OTg6 IE92ZXJyaWRlIERlY29yYXRvciBmb3IgU3RhdGljIFR5cGluZw0KIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIA0KLUEgbmV3IGRlY29yYXRvciA6ZnVuYzpg dHlwaW5nLm92ZXJyaWRlYCBoYXMgYmVlbiBhZGRlZCB0byB0aGUgOm1vZDpgdHlwaW5nYA0KK0Eg bmV3IGRlY29yYXRvciA6ZGVjbzpgdHlwaW5nLm92ZXJyaWRlYCBoYXMgYmVlbiBhZGRlZCB0byB0 aGUgOm1vZDpgdHlwaW5nYA0KIG1vZHVsZS4gSXQgaW5kaWNhdGVzIHRvIHR5cGUgY2hlY2tlcnMg dGhhdCB0aGUgbWV0aG9kIGlzIGludGVuZGVkIHRvIG92ZXJyaWRlDQogYSBtZXRob2QgaW4gYSBz dXBlcmNsYXNzLiBUaGlzIGFsbG93cyB0eXBlIGNoZWNrZXJzIHRvIGNhdGNoIG1pc3Rha2VzIHdo ZXJlDQogYSBtZXRob2QgdGhhdCBpcyBpbnRlbmRlZCB0byBvdmVycmlkZSBzb21ldGhpbmcgaW4g YSBiYXNlIGNsYXNzDQpAQCAtMTAyMSw3ICsxMDIxLDcgQEAgdHlwaW5nDQogICBgYF9fb3JpZ19i YXNlc19fYGAgYXR0cmlidXRlLiAoQ29udHJpYnV0ZWQgYnkgQWRyaWFuIEdhcmNpYSBCYWRhcmFj Y28gaW4NCiAgIDpnaDpgMTAzNjk5YC4pDQogDQotKiBBZGQgYGBmcm96ZW5fZGVmYXVsdGBgIHBh cmFtZXRlciB0byA6ZnVuYzpgdHlwaW5nLmRhdGFjbGFzc190cmFuc2Zvcm1gLg0KKyogQWRkIGBg ZnJvemVuX2RlZmF1bHRgYCBwYXJhbWV0ZXIgdG8gOmRlY286YHR5cGluZy5kYXRhY2xhc3NfdHJh bnNmb3JtYC4NCiAgIChDb250cmlidXRlZCBieSBFcmlrIERlIEJvbnRlIGluIDpnaDpgOTk5NTdg LikNCiANCiB1bmljb2RlZGF0YQ0KQEAgLTE3NDMsNyArMTc0Myw3IEBAIENoYW5nZXMgaW4gdGhl IFB5dGhvbiBBUEkNCiAgIGFyb3VuZCBwcm9jZXNzLWdsb2JhbCByZXNvdXJjZXMsIHdoaWNoIGFy ZSBiZXN0IG1hbmFnZWQgZnJvbSB0aGUgbWFpbiBpbnRlcnByZXRlci4NCiAgIChDb250cmlidXRl ZCBieSBEb25naGVlIE5hIGluIDpnaDpgOTkxMjdgLikNCiANCi0qIFRoZSB1bmRvY3VtZW50ZWQg bG9ja2luZyBiZWhhdmlvciBvZiA6ZnVuYzpgfmZ1bmN0b29scy5jYWNoZWRfcHJvcGVydHlgDQor KiBUaGUgdW5kb2N1bWVudGVkIGxvY2tpbmcgYmVoYXZpb3Igb2YgOmRlY286YH5mdW5jdG9vbHMu Y2FjaGVkX3Byb3BlcnR5YA0KICAgaXMgcmVtb3ZlZCwgYmVjYXVzZSBpdCBsb2NrZWQgYWNyb3Nz IGFsbCBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzLCBsZWFkaW5nIHRvIGhpZ2gNCiAgIGxvY2sgY29u dGVudGlvbi4gVGhpcyBtZWFucyB0aGF0IGEgY2FjaGVkIHByb3BlcnR5IGdldHRlciBmdW5jdGlv biBjb3VsZCBub3cgcnVuDQogICBtb3JlIHRoYW4gb25jZSBmb3IgYSBzaW5nbGUgaW5zdGFuY2Us IGlmIHR3byB0aHJlYWRzIHJhY2UuIEZvciBtb3N0IHNpbXBsZQ0KZGlmZiAtLWdpdCBhL0RvYy93 aGF0c25ldy8zLjEzLnJzdCBiL0RvYy93aGF0c25ldy8zLjEzLnJzdA0KaW5kZXggMTk1ODlmMDNh MjM0ZmQ3Li5mZGYyYzY1NmRlYjI1ZDUgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNuZXcvMy4xMy5y c3QNCisrKyBiL0RvYy93aGF0c25ldy8zLjEzLnJzdA0KQEAgLTIwMDMsNyArMjAwMyw3IEBAIE5l dyBEZXByZWNhdGlvbnMNCiAgICAgdXNlIGBgY2xhc3MgVEQoVHlwZWREaWN0KTogcGFzc2BgIG9y IGBgVEQgPSBUeXBlZERpY3QoIlREIiwge30pYGAuDQogICAgIChDb250cmlidXRlZCBieSBBbGV4 IFdheWdvb2QgaW4gOmdoOmAxMDU1NjZgIGFuZCA6Z2g6YDEwNTU3MGAuKQ0KIA0KLSAgKiBEZXBy ZWNhdGUgdGhlIDpmdW5jOmB0eXBpbmcubm9fdHlwZV9jaGVja19kZWNvcmF0b3JgIGRlY29yYXRv ciBmdW5jdGlvbiwNCisgICogRGVwcmVjYXRlIHRoZSA6ZGVjbzpgdHlwaW5nLm5vX3R5cGVfY2hl Y2tfZGVjb3JhdG9yYCBkZWNvcmF0b3IgZnVuY3Rpb24sDQogICAgIHRvIGJlIHJlbW92ZWQgaW4g UHl0aG9uIDMuMTUuDQogICAgIEFmdGVyIGVpZ2h0IHllYXJzIGluIHRoZSA6bW9kOmB0eXBpbmdg IG1vZHVsZSwNCiAgICAgaXQgaGFzIHlldCB0byBiZSBzdXBwb3J0ZWQgYnkgYW55IG1ham9yIHR5 cGUgY2hlY2tlci4NCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy4yLnJzdCBiL0RvYy93aGF0 c25ldy8zLjIucnN0DQppbmRleCAyMTkxYjIzMTAxNDJmMjQuLmJiMjYwYzQxOWM1ODhiMCAxMDA2 NDQNCi0tLSBhL0RvYy93aGF0c25ldy8zLjIucnN0DQorKysgYi9Eb2Mvd2hhdHNuZXcvMy4yLnJz dA0KQEAgLTc1Niw3ICs3NTYsNyBAQCBmdW5jdG9vbHMNCiAtLS0tLS0tLS0NCiANCiAqIFRoZSA6 bW9kOmBmdW5jdG9vbHNgIG1vZHVsZSBpbmNsdWRlcyBhIG5ldyBkZWNvcmF0b3IgZm9yIGNhY2hp bmcgZnVuY3Rpb24NCi0gIGNhbGxzLiAgOmZ1bmM6YGZ1bmN0b29scy5scnVfY2FjaGVgIGNhbiBz YXZlIHJlcGVhdGVkIHF1ZXJpZXMgdG8gYW4gZXh0ZXJuYWwNCisgIGNhbGxzLiAgOmRlY286YGZ1 bmN0b29scy5scnVfY2FjaGVgIGNhbiBzYXZlIHJlcGVhdGVkIHF1ZXJpZXMgdG8gYW4gZXh0ZXJu YWwNCiAgIHJlc291cmNlIHdoZW5ldmVyIHRoZSByZXN1bHRzIGFyZSBleHBlY3RlZCB0byBiZSB0 aGUgc2FtZS4NCiANCiAgIEZvciBleGFtcGxlLCBhZGRpbmcgYSBjYWNoaW5nIGRlY29yYXRvciB0 byBhIGRhdGFiYXNlIHF1ZXJ5IGZ1bmN0aW9uIGNhbiBzYXZlDQpAQCAtNzg5LDcgKzc4OSw3IEBA IGZ1bmN0b29scw0KICAgPGh0dHBzOi8vY29kZS5hY3RpdmVzdGF0ZS5jb20vcmVjaXBlcy81Nzc0 Nzktc2ltcGxlLWNhY2hpbmctZGVjb3JhdG9yLz5gX1wsIDppc3N1ZTpgMTA1ODZgLCBhbmQNCiAg IDppc3N1ZTpgMTA1OTNgLikNCiANCi0qIFRoZSA6ZnVuYzpgZnVuY3Rvb2xzLndyYXBzYCBkZWNv cmF0b3Igbm93IGFkZHMgYSA6YXR0cjpgX193cmFwcGVkX19gIGF0dHJpYnV0ZQ0KKyogVGhlIDpk ZWNvOmBmdW5jdG9vbHMud3JhcHNgIGRlY29yYXRvciBub3cgYWRkcyBhIDphdHRyOmBfX3dyYXBw ZWRfX2AgYXR0cmlidXRlDQogICBwb2ludGluZyB0byB0aGUgb3JpZ2luYWwgY2FsbGFibGUgZnVu Y3Rpb24uICBUaGlzIGFsbG93cyB3cmFwcGVkIGZ1bmN0aW9ucyB0bw0KICAgYmUgaW50cm9zcGVj dGVkLiAgSXQgYWxzbyBjb3BpZXMgOmF0dHI6YH5mdW5jdGlvbi5fX2Fubm90YXRpb25zX19gIGlm DQogICBkZWZpbmVkLiAgQW5kIG5vdyBpdCBhbHNvIGdyYWNlZnVsbHkgc2tpcHMgb3ZlciBtaXNz aW5nIGF0dHJpYnV0ZXMgc3VjaCBhcw0KQEAgLTgwNSwxMSArODA1LDExIEBAIGZ1bmN0b29scw0K ICAgOmlzc3VlOmA4ODE0YC4pDQogDQogKiBUbyBoZWxwIHdyaXRlIGNsYXNzZXMgd2l0aCByaWNo IGNvbXBhcmlzb24gbWV0aG9kcywgYSBuZXcgZGVjb3JhdG9yDQotICA6ZnVuYzpgZnVuY3Rvb2xz LnRvdGFsX29yZGVyaW5nYCB3aWxsIHVzZSBleGlzdGluZyBlcXVhbGl0eSBhbmQgaW5lcXVhbGl0 eQ0KKyAgOmRlY286YGZ1bmN0b29scy50b3RhbF9vcmRlcmluZ2Agd2lsbCB1c2UgZXhpc3Rpbmcg ZXF1YWxpdHkgYW5kIGluZXF1YWxpdHkNCiAgIG1ldGhvZHMgdG8gZmlsbCBpbiB0aGUgcmVtYWlu aW5nIG1ldGhvZHMuDQogDQogICBGb3IgZXhhbXBsZSwgc3VwcGx5aW5nICpfX2VxX18qIGFuZCAq X19sdF9fKiB3aWxsIGVuYWJsZQ0KLSAgOmZ1bmM6YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdg IHRvIGZpbGwtaW4gKl9fbGVfXyosICpfX2d0X18qIGFuZCAqX19nZV9fKjo6DQorICA6ZGVjbzpg fmZ1bmN0b29scy50b3RhbF9vcmRlcmluZ2AgdG8gZmlsbC1pbiAqX19sZV9fKiwgKl9fZ3RfXyog YW5kICpfX2dlX18qOjoNCiANCiAgICAgQHRvdGFsX29yZGVyaW5nDQogICAgIGNsYXNzIFN0dWRl bnQ6DQpAQCAtMTA5NywxMSArMTA5NywxMSBAQCBsb2dhcml0aG0gb2YgdGhlIGdhbW1hIGZ1bmN0 aW9uOg0KIGFiYw0KIC0tLQ0KIA0KLVRoZSA6bW9kOmBhYmNgIG1vZHVsZSBub3cgc3VwcG9ydHMg OmZ1bmM6YH5hYmMuYWJzdHJhY3RjbGFzc21ldGhvZGAgYW5kDQotOmZ1bmM6YH5hYmMuYWJzdHJh Y3RzdGF0aWNtZXRob2RgLg0KK1RoZSA6bW9kOmBhYmNgIG1vZHVsZSBub3cgc3VwcG9ydHMgOmRl Y286YH5hYmMuYWJzdHJhY3RjbGFzc21ldGhvZGAgYW5kDQorOmRlY286YH5hYmMuYWJzdHJhY3Rz dGF0aWNtZXRob2RgLg0KIA0KIFRoZXNlIHRvb2xzIG1ha2UgaXQgcG9zc2libGUgdG8gZGVmaW5l IGFuIDp0ZXJtOmBhYnN0cmFjdCBiYXNlIGNsYXNzYCB0aGF0DQotcmVxdWlyZXMgYSBwYXJ0aWN1 bGFyIDpmdW5jOmBjbGFzc21ldGhvZGAgb3IgOmZ1bmM6YHN0YXRpY21ldGhvZGAgdG8gYmUNCity ZXF1aXJlcyBhIHBhcnRpY3VsYXIgOmRlY286YGNsYXNzbWV0aG9kYCBvciA6ZGVjbzpgc3RhdGlj bWV0aG9kYCB0byBiZQ0KIGltcGxlbWVudGVkOjoNCiANCiAgICAgY2xhc3MgVGVtcGVyYXR1cmUo bWV0YWNsYXNzPWFiYy5BQkNNZXRhKToNCkBAIC0xMTU1LDcgKzExNTUsNyBAQCBzZWxmLXJlZmVy ZW5jZSBieSBkaXNwbGF5aW5nICIuLi4iIGluIHRoZSByZWN1cnNpdmUgcGFydCBvZiB0aGUgcmVw cmVzZW50YXRpb24NCiBzdHJpbmcuDQogDQogVG8gaGVscCB3cml0ZSBzdWNoIDptZXRoOmB+b2Jq ZWN0Ll9fcmVwcl9fYCBtZXRob2RzLCB0aGUgOm1vZDpgcmVwcmxpYmAgbW9kdWxlIGhhcyBhIG5l dw0KLWRlY29yYXRvciwgOmZ1bmM6YH5yZXBybGliLnJlY3Vyc2l2ZV9yZXByYCwgZm9yIGRldGVj dGluZyByZWN1cnNpdmUgY2FsbHMgdG8NCitkZWNvcmF0b3IsIDpkZWNvOmB+cmVwcmxpYi5yZWN1 cnNpdmVfcmVwcmAsIGZvciBkZXRlY3RpbmcgcmVjdXJzaXZlIGNhbGxzIHRvDQogOm1ldGg6YCFf X3JlcHJfX2AgYW5kIHN1YnN0aXR1dGluZyBhIHBsYWNlaG9sZGVyIHN0cmluZyBpbnN0ZWFkOjoN CiANCiAgICAgICAgID4+PiBjbGFzcyBNeUxpc3QobGlzdCk6DQpAQCAtMTI0MSw3ICsxMjQxLDcg QEAgVGhlcmUgaXMgYSBuZXcgYW5kIHNsaWdodGx5IG1pbmQtYmxvd2luZyB0b29sDQogOnRlcm06 YGNvbnRleHQgbWFuYWdlcmAgdGhhdCBkb2VzIGRvdWJsZSBkdXR5IGFzIGEgZnVuY3Rpb24gZGVj b3JhdG9yLg0KIA0KIEFzIGEgY29udmVuaWVuY2UsIHRoaXMgbmV3IGZ1bmN0aW9uYWxpdHkgaXMg dXNlZCBieQ0KLTpmdW5jOmB+Y29udGV4dGxpYi5jb250ZXh0bWFuYWdlcmAgc28gdGhhdCBubyBl eHRyYSBlZmZvcnQgaXMgbmVlZGVkIHRvIHN1cHBvcnQNCis6ZGVjbzpgfmNvbnRleHRsaWIuY29u dGV4dG1hbmFnZXJgIHNvIHRoYXQgbm8gZXh0cmEgZWZmb3J0IGlzIG5lZWRlZCB0byBzdXBwb3J0 DQogYm90aCByb2xlcy4NCiANCiBUaGUgYmFzaWMgaWRlYSBpcyB0aGF0IGJvdGggY29udGV4dCBt YW5hZ2VycyBhbmQgZnVuY3Rpb24gZGVjb3JhdG9ycyBjYW4gYmUgdXNlZA0KQEAgLTEyNTMsNyAr MTI1Myw3IEBAIHdyaXRlIGEgcHJlLWFjdGlvbiBvciBwb3N0LWFjdGlvbiB3cmFwcGVyIHRoYXQg Y2FuIGJlIHVzZWQgaW4gZWl0aGVyIHJvbGUuDQogRm9yIGV4YW1wbGUsIGl0IGlzIHNvbWV0aW1l cyB1c2VmdWwgdG8gd3JhcCBmdW5jdGlvbnMgb3IgZ3JvdXBzIG9mIHN0YXRlbWVudHMNCiB3aXRo IGEgbG9nZ2VyIHRoYXQgY2FuIHRyYWNrIHRoZSB0aW1lIG9mIGVudHJ5IGFuZCB0aW1lIG9mIGV4 aXQuICBSYXRoZXIgdGhhbg0KIHdyaXRpbmcgYm90aCBhIGZ1bmN0aW9uIGRlY29yYXRvciBhbmQg YSBjb250ZXh0IG1hbmFnZXIgZm9yIHRoZSB0YXNrLCB0aGUNCi06ZnVuYzpgfmNvbnRleHRsaWIu Y29udGV4dG1hbmFnZXJgIHByb3ZpZGVzIGJvdGggY2FwYWJpbGl0aWVzIGluIGEgc2luZ2xlDQor OmRlY286YH5jb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyYCBwcm92aWRlcyBib3RoIGNhcGFiaWxp dGllcyBpbiBhIHNpbmdsZQ0KIGRlZmluaXRpb246Og0KIA0KICAgICBmcm9tIGNvbnRleHRsaWIg aW1wb3J0IGNvbnRleHRtYW5hZ2VyDQpkaWZmIC0tZ2l0IGEvRG9jL3doYXRzbmV3LzMuMy5yc3Qg Yi9Eb2Mvd2hhdHNuZXcvMy4zLnJzdA0KaW5kZXggODdmYjNmNTRlNjg3YjUyLi42NDBiYzgwOTUy NGM0OTIgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNuZXcvMy4zLnJzdA0KKysrIGIvRG9jL3doYXRz bmV3LzMuMy5yc3QNCkBAIC05MTksMTIgKzkxOSwxMiBAQCBhYnN0cmFjdCBtZXRob2RzLiBUaGUg cmVjb21tZW5kZWQgYXBwcm9hY2ggdG8gZGVjbGFyaW5nIGFic3RyYWN0IGRlc2NyaXB0b3JzIGlz DQogbm93IHRvIHByb3ZpZGUgOmF0dHI6YCFfX2lzYWJzdHJhY3RtZXRob2RfX2AgYXMgYSBkeW5h bWljYWxseSB1cGRhdGVkDQogcHJvcGVydHkuIFRoZSBidWlsdC1pbiBkZXNjcmlwdG9ycyBoYXZl IGJlZW4gdXBkYXRlZCBhY2NvcmRpbmdseS4NCiANCi0qIDpjbGFzczpgYWJjLmFic3RyYWN0cHJv cGVydHlgIGhhcyBiZWVuIGRlcHJlY2F0ZWQsIHVzZSA6Y2xhc3M6YHByb3BlcnR5YA0KLSAgd2l0 aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLg0KLSogOmNsYXNzOmBhYmMuYWJz dHJhY3RjbGFzc21ldGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNlDQotICA6Y2xhc3M6YGNs YXNzbWV0aG9kYCB3aXRoIDpmdW5jOmBhYmMuYWJzdHJhY3RtZXRob2RgIGluc3RlYWQuDQotKiA6 Y2xhc3M6YGFiYy5hYnN0cmFjdHN0YXRpY21ldGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNl DQotICA6Y2xhc3M6YHN0YXRpY21ldGhvZGAgd2l0aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9k YCBpbnN0ZWFkLg0KKyogOmRlY286YGFiYy5hYnN0cmFjdHByb3BlcnR5YCBoYXMgYmVlbiBkZXBy ZWNhdGVkLCB1c2UgOmRlY286YHByb3BlcnR5YA0KKyAgd2l0aCA6ZGVjbzpgYWJjLmFic3RyYWN0 bWV0aG9kYCBpbnN0ZWFkLg0KKyogOmRlY286YGFiYy5hYnN0cmFjdGNsYXNzbWV0aG9kYCBoYXMg YmVlbiBkZXByZWNhdGVkLCB1c2UNCisgIDpkZWNvOmBjbGFzc21ldGhvZGAgd2l0aCA6ZGVjbzpg YWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLg0KKyogOmRlY286YGFiYy5hYnN0cmFjdHN0YXRp Y21ldGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNlDQorICA6ZGVjbzpgc3RhdGljbWV0aG9k YCB3aXRoIDpkZWNvOmBhYmMuYWJzdHJhY3RtZXRob2RgIGluc3RlYWQuDQogDQogKENvbnRyaWJ1 dGVkIGJ5IERhcnJlbiBEYWxlIGluIDppc3N1ZTpgMTE2MTBgLikNCiANCkBAIC0xMzkwLDcgKzEz OTAsNyBAQCBmdHBsaWINCiBmdW5jdG9vbHMNCiAtLS0tLS0tLS0NCiANCi1UaGUgOmZ1bmM6YGZ1 bmN0b29scy5scnVfY2FjaGVgIGRlY29yYXRvciBub3cgYWNjZXB0cyBhIGBgdHlwZWRgYCBrZXl3 b3JkDQorVGhlIDpkZWNvOmBmdW5jdG9vbHMubHJ1X2NhY2hlYCBkZWNvcmF0b3Igbm93IGFjY2Vw dHMgYSBgYHR5cGVkYGAga2V5d29yZA0KIGFyZ3VtZW50ICh0aGF0IGRlZmF1bHRzIHRvIGBgRmFs c2VgYCB0byBlbnN1cmUgdGhhdCBpdCBjYWNoZXMgdmFsdWVzIG9mDQogZGlmZmVyZW50IHR5cGVz IHRoYXQgY29tcGFyZSBlcXVhbCBpbiBzZXBhcmF0ZSBjYWNoZSBzbG90cy4gIChDb250cmlidXRl ZA0KIGJ5IFJheW1vbmQgSGV0dGluZ2VyIGluIDppc3N1ZTpgMTMyMjdgLikNCkBAIC0yMjQ0LDEy ICsyMjQ0LDEyIEBAIERlcHJlY2F0ZWQgUHl0aG9uIG1vZHVsZXMsIGZ1bmN0aW9ucyBhbmQgbWV0 aG9kcw0KICogVGhlIDpmdW5jOmAhb3Muc3RhdF9mbG9hdF90aW1lc2AgZnVuY3Rpb24gaXMgZGVw cmVjYXRlZC4NCiAqIDptb2Q6YGFiY2AgbW9kdWxlOg0KIA0KLSAgKiA6Y2xhc3M6YGFiYy5hYnN0 cmFjdHByb3BlcnR5YCBoYXMgYmVlbiBkZXByZWNhdGVkLCB1c2UgOmNsYXNzOmBwcm9wZXJ0eWAN Ci0gICAgd2l0aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLg0KLSAgKiA6Y2xh c3M6YGFiYy5hYnN0cmFjdGNsYXNzbWV0aG9kYCBoYXMgYmVlbiBkZXByZWNhdGVkLCB1c2UNCi0g ICAgOmNsYXNzOmBjbGFzc21ldGhvZGAgd2l0aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9kYCBp bnN0ZWFkLg0KLSAgKiA6Y2xhc3M6YGFiYy5hYnN0cmFjdHN0YXRpY21ldGhvZGAgaGFzIGJlZW4g ZGVwcmVjYXRlZCwgdXNlDQotICAgIDpjbGFzczpgc3RhdGljbWV0aG9kYCB3aXRoIDpmdW5jOmBh YmMuYWJzdHJhY3RtZXRob2RgIGluc3RlYWQuDQorICAqIDpkZWNvOmBhYmMuYWJzdHJhY3Rwcm9w ZXJ0eWAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNlIDpkZWNvOmBwcm9wZXJ0eWANCisgICAgd2l0 aCA6ZGVjbzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLg0KKyAgKiA6ZGVjbzpgYWJjLmFi c3RyYWN0Y2xhc3NtZXRob2RgIGhhcyBiZWVuIGRlcHJlY2F0ZWQsIHVzZQ0KKyAgICA6ZGVjbzpg Y2xhc3NtZXRob2RgIHdpdGggOmRlY286YGFiYy5hYnN0cmFjdG1ldGhvZGAgaW5zdGVhZC4NCisg ICogOmRlY286YGFiYy5hYnN0cmFjdHN0YXRpY21ldGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwg dXNlDQorICAgIDpkZWNvOmBzdGF0aWNtZXRob2RgIHdpdGggOmRlY286YGFiYy5hYnN0cmFjdG1l dGhvZGAgaW5zdGVhZC4NCiANCiAqIDptb2Q6YGltcG9ydGxpYmAgcGFja2FnZToNCiANCmRpZmYg LS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy40LnJzdCBiL0RvYy93aGF0c25ldy8zLjQucnN0DQppbmRl eCA5ZjQwNjgxMTZlMzcyNmYuLmI2ZTQ4YzM1MzgzMTBhZSAxMDA2NDQNCi0tLSBhL0RvYy93aGF0 c25ldy8zLjQucnN0DQorKysgYi9Eb2Mvd2hhdHNuZXcvMy40LnJzdA0KQEAgLTg1OCw3ICs4NTgs NyBAQCB0byBiZWhhdmUgbGlrZSBub3JtYWwgaW5zdGFuY2UgbWV0aG9kcyB3aGVuIGluY2x1ZGVk IGluIGEgY2xhc3MgZGVmaW5pdGlvbi4NCiANCiAuLiBfd2hhdHNuZXctc2luZ2xlZGlzcGF0Y2g6 DQogDQotVGhlIG5ldyA6ZnVuYzpgfmZ1bmN0b29scy5zaW5nbGVkaXNwYXRjaGAgZGVjb3JhdG9y IGJyaW5ncyBzdXBwb3J0IGZvcg0KK1RoZSBuZXcgOmRlY286YH5mdW5jdG9vbHMuc2luZ2xlZGlz cGF0Y2hgIGRlY29yYXRvciBicmluZ3Mgc3VwcG9ydCBmb3INCiBzaW5nbGUtZGlzcGF0Y2ggZ2Vu ZXJpYyBmdW5jdGlvbnMgdG8gdGhlIFB5dGhvbiBzdGFuZGFyZCBsaWJyYXJ5LiBXaGVyZQ0KIG9i amVjdCBvcmllbnRlZCBwcm9ncmFtbWluZyBmb2N1c2VzIG9uIGdyb3VwaW5nIG11bHRpcGxlIG9w ZXJhdGlvbnMgb24gYQ0KIGNvbW1vbiBzZXQgb2YgZGF0YSBpbnRvIGEgY2xhc3MsIGEgZ2VuZXJp YyBmdW5jdGlvbiBmb2N1c2VzIG9uIGdyb3VwaW5nDQpAQCAtODcwLDcgKzg3MCw3IEBAIG11bHRp cGxlIGltcGxlbWVudGF0aW9ucyBvZiBhbiBvcGVyYXRpb24gdGhhdCBhbGxvd3MgaXQgdG8gd29y ayB3aXRoDQogICAgOnBlcDpgNDQzYCAtLSBTaW5nbGUtZGlzcGF0Y2ggZ2VuZXJpYyBmdW5jdGlv bnMNCiAgICAgICBQRVAgd3JpdHRlbiBhbmQgaW1wbGVtZW50ZWQgYnkgxYF1a2FzeiBMYW5nYS4N CiANCi06ZnVuYzpgfmZ1bmN0b29scy50b3RhbF9vcmRlcmluZ2Agbm93IHN1cHBvcnRzIGEgcmV0 dXJuIHZhbHVlIG9mDQorOmRlY286YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIG5vdyBzdXBw b3J0cyBhIHJldHVybiB2YWx1ZSBvZg0KIDpkYXRhOmBOb3RJbXBsZW1lbnRlZGAgZnJvbSB0aGUg dW5kZXJseWluZyBjb21wYXJpc29uIGZ1bmN0aW9uLiAgKENvbnRyaWJ1dGVkDQogYnkgS2F0aWUg TWlsbGVyIGluIDppc3N1ZTpgMTAwNDJgLikNCiANCkBAIC0xMDI5LDcgKzEwMjksNyBAQCBpbmZv cm1hdGlvbiBmb3IgbW9kdWxlcywgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLiAgKENvbnRyaWJ1dGVk IGJ5IENsYXVkaXUgUG9wYQ0KIGFuZCBOaWNrIENvZ2hsYW4gaW4gOmlzc3VlOmAxODYyNmAuKQ0K IA0KIDpmdW5jOmB+aW5zcGVjdC51bndyYXBgIG1ha2VzIGl0IGVhc3kgdG8gdW5yYXZlbCB3cmFw cGVyIGZ1bmN0aW9uIGNoYWlucw0KLWNyZWF0ZWQgYnkgOmZ1bmM6YGZ1bmN0b29scy53cmFwc2Ag KGFuZCBhbnkgb3RoZXIgQVBJIHRoYXQgc2V0cyB0aGUNCitjcmVhdGVkIGJ5IDpkZWNvOmBmdW5j dG9vbHMud3JhcHNgIChhbmQgYW55IG90aGVyIEFQSSB0aGF0IHNldHMgdGhlDQogYGBfX3dyYXBw ZWRfX2BgIGF0dHJpYnV0ZSBvbiBhIHdyYXBwZXIgZnVuY3Rpb24pLiAgKENvbnRyaWJ1dGVkIGJ5 DQogRGFuaWVsIFVyYmFuLCBBYXJvbiBJbGVzIGFuZCBOaWNrIENvZ2hsYW4gaW4gOmlzc3VlOmAx MzI2NmAuKQ0KIA0KQEAgLTIzMTcsNyArMjMxNyw3IEBAIENoYW5nZXMgaW4gdGhlIFB5dGhvbiBB UEkNCiAgIHdpc2ggdG8gY29udGludWUgdG8gaWdub3JlIHN5bnRheCBvciBkZWNvZGluZyBpc3N1 ZXMsIGNhdGNoIGFsbCB0aHJlZQ0KICAgZXhjZXB0aW9ucyBub3cuDQogDQotKiA6ZnVuYzpgZnVu Y3Rvb2xzLnVwZGF0ZV93cmFwcGVyYCBhbmQgOmZ1bmM6YGZ1bmN0b29scy53cmFwc2Agbm93IGNv cnJlY3RseQ0KKyogOmZ1bmM6YGZ1bmN0b29scy51cGRhdGVfd3JhcHBlcmAgYW5kIDpkZWNvOmBm dW5jdG9vbHMud3JhcHNgIG5vdyBjb3JyZWN0bHkNCiAgIHNldCB0aGUgYGBfX3dyYXBwZWRfX2Bg IGF0dHJpYnV0ZSB0byB0aGUgZnVuY3Rpb24gYmVpbmcgd3JhcHBlZCwgZXZlbiBpZg0KICAgdGhh dCBmdW5jdGlvbiBhbHNvIGhhZCBpdHMgYGBfX3dyYXBwZWRfX2BgIGF0dHJpYnV0ZSBzZXQuIFRo aXMgbWVhbnMNCiAgIGBgX193cmFwcGVkX19gYCBhdHRyaWJ1dGVzIG5vdyBjb3JyZWN0bHkgbGlu ayBhIHN0YWNrIG9mIGRlY29yYXRlZA0KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjUucnN0 IGIvRG9jL3doYXRzbmV3LzMuNS5yc3QNCmluZGV4IGI3ODM3OGM1NWNkNTllMC4uMTFkN2YwNTNl YWEzNjcxIDEwMDY0NA0KLS0tIGEvRG9jL3doYXRzbmV3LzMuNS5yc3QNCisrKyBiL0RvYy93aGF0 c25ldy8zLjUucnN0DQpAQCAtMTIxLDcgKzEyMSw3IEBAIFNpZ25pZmljYW50IGltcHJvdmVtZW50 cyBpbiB0aGUgc3RhbmRhcmQgbGlicmFyeToNCiAgIDpyZWY6YGJldHRlciBhbmQgc2lnbmlmaWNh bnRseSBmYXN0ZXIgd2F5IDx3aGF0c25ldy1wZXAtNDcxPmANCiAgIG9mIGRpcmVjdG9yeSB0cmF2 ZXJzYWwuDQogDQotKiA6ZnVuYzpgZnVuY3Rvb2xzLmxydV9jYWNoZWAgaGFzIGJlZW4gbW9zdGx5 DQorKiA6ZGVjbzpgZnVuY3Rvb2xzLmxydV9jYWNoZWAgaGFzIGJlZW4gbW9zdGx5DQogICA6cmVm OmByZWltcGxlbWVudGVkIGluIEMgPHdoYXRzbmV3LWxydWNhY2hlPmAsIHlpZWxkaW5nIG11Y2gg YmV0dGVyDQogICBwZXJmb3JtYW5jZS4NCiANCkBAIC0xMTQ4LDcgKzExNDgsNyBAQCBmdW5jdG9v bHMNCiANCiAuLiBfd2hhdHNuZXctbHJ1Y2FjaGU6DQogDQotTW9zdCBvZiB0aGUgOmZ1bmM6YH5m dW5jdG9vbHMubHJ1X2NhY2hlYCBtYWNoaW5lcnkgaXMgbm93IGltcGxlbWVudGVkIGluIEMsIG1h a2luZw0KK01vc3Qgb2YgdGhlIDpkZWNvOmB+ZnVuY3Rvb2xzLmxydV9jYWNoZWAgbWFjaGluZXJ5 IGlzIG5vdyBpbXBsZW1lbnRlZCBpbiBDLCBtYWtpbmcNCiBpdCBzaWduaWZpY2FudGx5IGZhc3Rl ci4gIChDb250cmlidXRlZCBieSBNYXR0IEpvaW5lciwgQWxleGV5IEthY2hheWV2LCBhbmQNCiBT ZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMTQzNzNgLikNCiANCkBAIC0yMTU4LDcgKzIxNTgs NyBAQCBpbXByb3ZlbWVudCBpbiBzb21lIGJlbmNobWFya3MuDQogT2JqZWN0cyBmcm9tIHRoZSA6 bW9kOmByYW5kb21gIG1vZHVsZSBub3cgdXNlIDUwJSBsZXNzIG1lbW9yeSBvbiA2NC1iaXQNCiBi dWlsZHMuICAoQ29udHJpYnV0ZWQgYnkgU2VyaGl5IFN0b3JjaGFrYSBpbiA6aXNzdWU6YDIzNDg4 YC4pDQogDQotVGhlIDpmdW5jOmBwcm9wZXJ0eWAgZ2V0dGVyIGNhbGxzIGFyZSB1cCB0byAyNSUg ZmFzdGVyLg0KK1RoZSA6ZGVjbzpgcHJvcGVydHlgIGdldHRlciBjYWxscyBhcmUgdXAgdG8gMjUl IGZhc3Rlci4NCiAoQ29udHJpYnV0ZWQgYnkgSm9lIEpldm5payBpbiA6aXNzdWU6YDIzOTEwYC4p DQogDQogSW5zdGFudGlhdGlvbiBvZiA6Y2xhc3M6YGZyYWN0aW9ucy5GcmFjdGlvbmAgaXMgbm93 IHVwIHRvIDMwJSBmYXN0ZXIuDQpkaWZmIC0tZ2l0IGEvRG9jL3doYXRzbmV3LzMuNy5yc3QgYi9E b2Mvd2hhdHNuZXcvMy43LnJzdA0KaW5kZXggNmU2OTM0YmVmY2NiM2JkLi40NjkxOTUyNTg1MmU5 YjIgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNuZXcvMy43LnJzdA0KKysrIGIvRG9jL3doYXRzbmV3 LzMuNy5yc3QNCkBAIC01NzEsNyArNTcxLDcgQEAgZGVjaW1hbCBvcGVyYXRpb25zIHRvIHdvcmsg d2l0aCB0aGUgY29ycmVjdCBjb250ZXh0IGluIGFzeW5jaHJvbm91cyBjb2RlLg0KIGRhdGFjbGFz c2VzDQogLS0tLS0tLS0tLS0NCiANCi1UaGUgbmV3IDpmdW5jOmB+ZGF0YWNsYXNzZXMuZGF0YWNs YXNzYCBkZWNvcmF0b3IgcHJvdmlkZXMgYSB3YXkgdG8gZGVjbGFyZQ0KK1RoZSBuZXcgOmRlY286 YH5kYXRhY2xhc3Nlcy5kYXRhY2xhc3NgIGRlY29yYXRvciBwcm92aWRlcyBhIHdheSB0byBkZWNs YXJlDQogKmRhdGEgY2xhc3NlcyouICBBIGRhdGEgY2xhc3MgZGVzY3JpYmVzIGl0cyBhdHRyaWJ1 dGVzIHVzaW5nIGNsYXNzIHZhcmlhYmxlDQogYW5ub3RhdGlvbnMuICBJdHMgY29uc3RydWN0b3Ig YW5kIG90aGVyIG1hZ2ljIG1ldGhvZHMsIHN1Y2ggYXMNCiA6bWV0aDpgfm9iamVjdC5fX3JlcHJf X2AsIDptZXRoOmB+b2JqZWN0Ll9fZXFfX2AsIGFuZA0KQEAgLTgzMCw3ICs4MzAsNyBAQCBUaGUg bmV3IDpmdW5jOmB+Y29udGV4dGxpYi5udWxsY29udGV4dGAgaXMgYSBzaW1wbGVyIGFuZCBmYXN0 ZXIgbm8tb3ANCiBjb250ZXh0IG1hbmFnZXIgdGhhbiA6Y2xhc3M6YH5jb250ZXh0bGliLkV4aXRT dGFja2AuDQogKENvbnRyaWJ1dGVkIGJ5IEplc3NlLUJha2tlciBpbiA6aXNzdWU6YDEwMDQ5YC4p DQogDQotVGhlIG5ldyA6ZnVuYzpgfmNvbnRleHRsaWIuYXN5bmNjb250ZXh0bWFuYWdlcmAsDQor VGhlIG5ldyA6ZGVjbzpgfmNvbnRleHRsaWIuYXN5bmNjb250ZXh0bWFuYWdlcmAsDQogOmNsYXNz OmB+Y29udGV4dGxpYi5BYnN0cmFjdEFzeW5jQ29udGV4dE1hbmFnZXJgLCBhbmQNCiA6Y2xhc3M6 YH5jb250ZXh0bGliLkFzeW5jRXhpdFN0YWNrYCBoYXZlIGJlZW4gYWRkZWQgdG8NCiBjb21wbGVt ZW50IHRoZWlyIHN5bmNocm9ub3VzIGNvdW50ZXJwYXJ0cy4gIChDb250cmlidXRlZA0KQEAgLTky MSw3ICs5MjEsNyBAQCByZXR1cm4gOmNvbnN0OmBGYWxzZWAgaW5zdGVhZCBhbmQgYXJlIGRlcHJl Y2F0ZWQuDQogZnVuY3Rvb2xzDQogLS0tLS0tLS0tDQogDQotOmZ1bmM6YGZ1bmN0b29scy5zaW5n bGVkaXNwYXRjaGAgbm93IHN1cHBvcnRzIHJlZ2lzdGVyaW5nIGltcGxlbWVudGF0aW9ucw0KKzpk ZWNvOmBmdW5jdG9vbHMuc2luZ2xlZGlzcGF0Y2hgIG5vdyBzdXBwb3J0cyByZWdpc3RlcmluZyBp bXBsZW1lbnRhdGlvbnMNCiB1c2luZyB0eXBlIGFubm90YXRpb25zLg0KIChDb250cmlidXRlZCBi eSDFgXVrYXN6IExhbmdhIGluIDppc3N1ZTpgMzIyMjdgLikNCiANCmRpZmYgLS1naXQgYS9Eb2Mv d2hhdHNuZXcvMy44LnJzdCBiL0RvYy93aGF0c25ldy8zLjgucnN0DQppbmRleCAzMDhmNDFhYmM3 NGNiYWEuLjJmMzZmYzdlN2RmNjI4ZiAxMDA2NDQNCi0tLSBhL0RvYy93aGF0c25ldy8zLjgucnN0 DQorKysgYi9Eb2Mvd2hhdHNuZXcvMy44LnJzdA0KQEAgLTc2NCw3ICs3NjQsNyBAQCB0aGVzZSBh cmUgdGhlIGludmVyc2Ugb2YgZWFjaCBjbGFzcydzIGBgaXNvY2FsZW5kYXJgYCBtZXRob2QuDQog ZnVuY3Rvb2xzDQogLS0tLS0tLS0tDQogDQotOmZ1bmM6YGZ1bmN0b29scy5scnVfY2FjaGVgIGNh biBub3cgYmUgdXNlZCBhcyBhIHN0cmFpZ2h0IGRlY29yYXRvciByYXRoZXINCis6ZGVjbzpgZnVu Y3Rvb2xzLmxydV9jYWNoZWAgY2FuIG5vdyBiZSB1c2VkIGFzIGEgc3RyYWlnaHQgZGVjb3JhdG9y IHJhdGhlcg0KIHRoYW4gYXMgYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBkZWNvcmF0b3IuICBTbyBi b3RoIG9mIHRoZXNlIGFyZSBub3cgc3VwcG9ydGVkOjoNCiANCiAgICAgQGxydV9jYWNoZQ0KQEAg LTc3Nyw3ICs3NzcsNyBAQCB0aGFuIGFzIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgZGVjb3JhdG9y LiAgU28gYm90aCBvZiB0aGVzZSBhcmUgbm93IHN1cHBvcnRlZDo6DQogDQogKENvbnRyaWJ1dGVk IGJ5IFJheW1vbmQgSGV0dGluZ2VyIGluIDppc3N1ZTpgMzY3NzJgLikNCiANCi1BZGRlZCBhIG5l dyA6ZnVuYzpgZnVuY3Rvb2xzLmNhY2hlZF9wcm9wZXJ0eWAgZGVjb3JhdG9yLCBmb3IgY29tcHV0 ZWQgcHJvcGVydGllcw0KK0FkZGVkIGEgbmV3IDpkZWNvOmBmdW5jdG9vbHMuY2FjaGVkX3Byb3Bl cnR5YCBkZWNvcmF0b3IsIGZvciBjb21wdXRlZCBwcm9wZXJ0aWVzDQogY2FjaGVkIGZvciB0aGUg bGlmZSBvZiB0aGUgaW5zdGFuY2UuIDo6DQogDQogICAgaW1wb3J0IGZ1bmN0b29scw0KQEAgLTg5 Myw3ICs4OTMsNyBAQCBpbnNwZWN0DQogVGhlIDpmdW5jOmBpbnNwZWN0LmdldGRvY2AgZnVuY3Rp b24gY2FuIG5vdyBmaW5kIGRvY3N0cmluZ3MgZm9yIGBgX19zbG90c19fYGANCiBpZiB0aGF0IGF0 dHJpYnV0ZSBpcyBhIDpjbGFzczpgZGljdGAgd2hlcmUgdGhlIHZhbHVlcyBhcmUgZG9jc3RyaW5n cy4NCiBUaGlzIHByb3ZpZGVzIGRvY3VtZW50YXRpb24gb3B0aW9ucyBzaW1pbGFyIHRvIHdoYXQg d2UgYWxyZWFkeSBoYXZlDQotZm9yIDpmdW5jOmBwcm9wZXJ0eWAsIDpmdW5jOmBjbGFzc21ldGhv ZGAsIGFuZCA6ZnVuYzpgc3RhdGljbWV0aG9kYDo6DQorZm9yIDpkZWNvOmBwcm9wZXJ0eWAsIDpk ZWNvOmBjbGFzc21ldGhvZGAsIGFuZCA6ZGVjbzpgc3RhdGljbWV0aG9kYDo6DQogDQogICBjbGFz cyBBdWRpb0NsaXA6DQogICAgICAgX19zbG90c19fID0geydiaXRfcmF0ZSc6ICdleHByZXNzZWQg aW4ga2lsb2hlcnR6IHRvIG9uZSBkZWNpbWFsIHBsYWNlJywNCkBAIC0xMzMzLDE0ICsxMzMzLDE0 IEBAIFRoZSA6bW9kOmB0eXBpbmdgIG1vZHVsZSBpbmNvcnBvcmF0ZXMgc2V2ZXJhbCBuZXcgZmVh dHVyZXM6DQogICAgICAgICAgIC4uLg0KIA0KICogIkZpbmFsIiB2YXJpYWJsZXMsIGZ1bmN0aW9u cywgbWV0aG9kcyBhbmQgY2xhc3Nlcy4gIFNlZSA6cGVwOmA1OTFgLA0KLSAgOmNsYXNzOmB0eXBp bmcuRmluYWxgIGFuZCA6ZnVuYzpgdHlwaW5nLmZpbmFsYC4NCisgIDpjbGFzczpgdHlwaW5nLkZp bmFsYCBhbmQgOmRlY286YHR5cGluZy5maW5hbGAuDQogICBUaGUgZmluYWwgcXVhbGlmaWVyIGlu c3RydWN0cyBhIHN0YXRpYyB0eXBlIGNoZWNrZXIgdG8gcmVzdHJpY3QNCiAgIHN1YmNsYXNzaW5n LCBvdmVycmlkaW5nLCBvciByZWFzc2lnbm1lbnQ6Og0KIA0KICAgICAgIHBpOiBGaW5hbFtmbG9h dF0gPSAzLjE0MTU5MjY1MzYNCiANCiAqIFByb3RvY29sIGRlZmluaXRpb25zLiAgU2VlIDpwZXA6 YDU0NGAsIDpjbGFzczpgdHlwaW5nLlByb3RvY29sYCBhbmQNCi0gIDpmdW5jOmB0eXBpbmcucnVu dGltZV9jaGVja2FibGVgLiAgU2ltcGxlIEFCQ3MgbGlrZQ0KKyAgOmRlY286YHR5cGluZy5ydW50 aW1lX2NoZWNrYWJsZWAuICBTaW1wbGUgQUJDcyBsaWtlDQogICA6Y2xhc3M6YHR5cGluZy5TdXBw b3J0c0ludGAgYXJlIG5vdyBgYFByb3RvY29sYGAgc3ViY2xhc3Nlcy4NCiANCiAqIE5ldyBwcm90 b2NvbCBjbGFzcyA6Y2xhc3M6YHR5cGluZy5TdXBwb3J0c0luZGV4YC4NCg0KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KUHl0aG9uLWNoZWNraW5zIG1haWxp bmcgbGlzdCAtLSBweXRob24tY2hlY2tpbnNAcHl0aG9uLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5k IGFuIGVtYWlsIHRvIHB5dGhvbi1jaGVja2lucy1sZWF2ZUBweXRob24ub3JnCmh0dHBzOi8vbWFp bC5weXRob24ub3JnL21haWxtYW4zLy9saXN0cy9weXRob24tY2hlY2tpbnMucHl0aG9uLm9yZwpN ZW1iZXIgYWRkcmVzczogcHl0aG9uLXB5dGhvbi1jaGVja2luc0BtLmdtYW5lLW14Lm9yZwo=