From: marko.makela Date: May 30 2012 10:33am Subject: bzr push into mysql-trunk-wl6255 branch (marko.makela:3905 to 3906) WL#6255 List-Archive: http://lists.mysql.com/commits/144025 Message-Id: <201205301033.q4UAXYqR008534@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM5MDYgTWFya28gTcOka2Vsw6QJMjAxMi0wNS0zMAogICAgICBXTCM2MjU1IG9ubGluZSB0YWJs ZSByZWJ1aWxkLgogICAgICAKICAgICAgRW5hYmxlIHRoZSBmdW5jdGlvbmFsaXR5LCBhZGQgYW5k IGFkanVzdCB0ZXN0cy4KICAgICAgCiAgICAgIFRPRE86IENvcnJlY3QgdGhlIG9ubGluZSBsb2dn aW5nIGZvciBST1dfRk9STUFUPVJFRFVOREFOVCByZWNvcmRzLgogICAgICBUT0RPOiBQcm9wZXJs eSByZXBvcnQgZHVwbGljYXRlIGtleSB2YWx1ZXMgd2hlbiBhcHBseWluZyB0aGUgb25saW5lIGxv Zy4KICAgICAgCiAgICAgIGhhX2lubm9iYXNlOjpjaGVja19pZl9zdXBwb3J0ZWRfaW5wbGFjZSgp OiBSZW1vdmUgdGhlIHJldHVybiB2YWx1ZQogICAgICBIQV9BTFRFUl9JTlBMQUNFX1NIQVJFRF9M T0NLLgoKICAgIGFkZGVkOgogICAgICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9kYi10 YWJsZS1vbmxpbmUucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2Ri LXRhYmxlLW9ubGluZS1tYXN0ZXIub3B0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3Qv aW5ub2RiLXRhYmxlLW9ubGluZS50ZXN0CiAgICBtb2RpZmllZDoKICAgICAgbXlzcWwtdGVzdC9z dWl0ZS9pbm5vZGIvci9pbm5vZGItYWx0ZXIucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUv aW5ub2RiL3QvaW5ub2RiLWFsdGVyLnRlc3QKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9oYW5kbGVy L2hhX2lubm9kYi5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYW5kbGVyMGFsdGVy LmNjCiAzOTA1IE1hcmtvIE3DpGtlbMOkCTIwMTItMDUtMzAKICAgICAgV0wjNjI1NTogU2lsZW5j ZSBhIFZhbGdyaW5kIHdhcm5pbmcuCiAgICAgIAogICAgICByb3dfbG9nX2FsbG9jYXRlKCk6IElu aXRpYWxpemUgbG9nLT50cnhfcmIuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2Jh c2Uvcm93L3JvdzBsb2cuY2MKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvaW5u b2RiL3IvaW5ub2RiLWFsdGVyLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIv ci9pbm5vZGItYWx0ZXIucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIw NTMwMTAxMzM3LWN3NHE1ZWw3cTFkdzY3MXIKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIv ci9pbm5vZGItYWx0ZXIucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIw NTMwMTAzMjE3LXRxajd0bzk4OW5rbWhnOWcKQEAgLTQxNSwxMiArNDE1LDYgQEAgQ1JFQVRFIFRB QkxFIHQxbyBMSUtFIHQxOwogQUxURVIgVEFCTEUgdDEgQUREIEZVTExURVhUIElOREVYIChjdCks CiBDSEFOR0UgYzEgcGsgSU5ULCBBTFRFUiBjMiBTRVQgREVGQVVMVCA0MiwgUkVOQU1FIFRPIHR0 LAogQUxHT1JJVEhNPUlOUExBQ0UsIExPQ0s9Tk9ORTsKLUVSUk9SIDQyMDAwOiBUaGlzIHZlcnNp b24gb2YgTXlTUUwgZG9lc24ndCB5ZXQgc3VwcG9ydCAnQUxURVIgVEFCTEUgdDEgQUREIEZVTExU RVhUIElOREVYIChjdCksCi1DSEFOR0UgYzEgcGsgSU5ULCBBTFRFUiBjMiBTRVQgREVGQVVMVCA0 MiwgUkVOQU1FIFRPIHR0LAotQUxHT1JJVEhNPUlOUExBQ0UsIExPQ0s9Tk9ORScKLUFMVEVSIFRB QkxFIHQxIEFERCBGVUxMVEVYVCBJTkRFWCAoY3QpLAotQ0hBTkdFIGMxIHBrIElOVCwgQUxURVIg YzIgU0VUIERFRkFVTFQgNDIsIFJFTkFNRSBUTyB0dCwKLUFMR09SSVRITT1JTlBMQUNFLCBMT0NL PVNIQVJFRDsKIFdhcm5pbmdzOgogV2FybmluZwkxMjQJSW5ub0RCIHJlYnVpbGRpbmcgdGFibGUg dG8gYWRkIGNvbHVtbiBGVFNfRE9DX0lECiBTRUxFQ1QgaS5OQU1FLGkuUE9TLGkuTVRZUEUsaS5Q UlRZUEUsaS5MRU4KCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lu bm9kYi10YWJsZS1vbmxpbmUucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi9y L2lubm9kYi10YWJsZS1vbmxpbmUucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGItdGFibGUtb25saW5lLnJlc3VsdAly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDUzMDEwMzIxNy10cWo3dG85ODlua21o ZzlnCkBAIC0wLDAgKzEsMzEzIEBACitjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIklubm9EQjog V2FybmluZzogU21hbGwgYnVmZmVyIHBvb2wgc2l6ZSIpOworY2FsbCBtdHIuYWRkX3N1cHByZXNz aW9uKCJJbm5vREI6IEVycm9yOiB0YWJsZSAndGVzdC90MSciKTsKK2NhbGwgbXRyLmFkZF9zdXBw cmVzc2lvbigiTXlTUUwgaXMgdHJ5aW5nIHRvIG9wZW4gYSB0YWJsZSBoYW5kbGUgYnV0IHRoZSAu aWJkIGZpbGUgZm9yIik7CitTRVQgQGdsb2JhbF9pbm5vZGJfZmlsZV9wZXJfdGFibGVfb3JpZyA9 IEBAZ2xvYmFsLmlubm9kYl9maWxlX3Blcl90YWJsZTsKK1NFVCBHTE9CQUwgaW5ub2RiX2ZpbGVf cGVyX3RhYmxlID0gb247CitDUkVBVEUgVEFCTEUgdDEgKGMxIElOVCBQUklNQVJZIEtFWSwgYzIg SU5UIE5PVCBOVUxMLCBjMyBURVhUKQorRU5HSU5FID0gSW5ub0RCOworSU5TRVJUIElOVE8gdDEg VkFMVUVTICgxLDEsJycpLCAoMiwyLCcnKSwgKDMsMywnJyksICg0LDQsJycpLCAoNSw1LCcnKTsK K1NFVCBHTE9CQUwgaW5ub2RiX21vbml0b3JfZW5hYmxlID0gbW9kdWxlX2RkbDsKK1NFTEVDVCBu YW1lLCBjb3VudCBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5JTk5PREJfTUVUUklDUyBXSEVSRSBz dWJzeXN0ZW0gPSAnZGRsJzsKK25hbWUJY291bnQKK2RkbF9iYWNrZ3JvdW5kX2Ryb3BfaW5kZXhl cwkwCitkZGxfYmFja2dyb3VuZF9kcm9wX3RhYmxlcwkwCitkZGxfb25saW5lX2NyZWF0ZV9pbmRl eAkwCitkZGxfcGVuZGluZ19hbHRlcl90YWJsZQkwCitTRVQgREVCVUdfU1lOQyA9ICdSRVNFVCc7 CitTRVQgREVCVUdfU1lOQyA9ICd3cml0ZV9yb3dfbm9yZXBsYWNlIFNJR05BTCBoYXZlX2hhbmRs ZSBXQUlUX0ZPUiBnb19haGVhZCc7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMoMSwyLDMpOworU0VU IERFQlVHX1NZTkMgPSAnbm93IFdBSVRfRk9SIGhhdmVfaGFuZGxlJzsKK1NFVCBsb2NrX3dhaXRf dGltZW91dCA9IDE7CitBTFRFUiBUQUJMRSB0MSBST1dfRk9STUFUPVJFRFVOREFOVDsKK0VSUk9S IEhZMDAwOiBMb2NrIHdhaXQgdGltZW91dCBleGNlZWRlZDsgdHJ5IHJlc3RhcnRpbmcgdHJhbnNh Y3Rpb24KK1NFVCBERUJVR19TWU5DID0gJ25vdyBTSUdOQUwgZ29fYWhlYWQnOworRVJST1IgMjMw MDA6IER1cGxpY2F0ZSBlbnRyeSAnMScgZm9yIGtleSAnUFJJTUFSWScKK1NFTEVDVCBuYW1lLCBj b3VudCBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5JTk5PREJfTUVUUklDUyBXSEVSRSBzdWJzeXN0 ZW0gPSAnZGRsJzsKK25hbWUJY291bnQKK2RkbF9iYWNrZ3JvdW5kX2Ryb3BfaW5kZXhlcwkwCitk ZGxfYmFja2dyb3VuZF9kcm9wX3RhYmxlcwkwCitkZGxfb25saW5lX2NyZWF0ZV9pbmRleAkwCitk ZGxfcGVuZGluZ19hbHRlcl90YWJsZQkwCitTRVQgU0VTU0lPTiBERUJVRyA9ICcrZCxpbm5vZGJf T09NX3ByZXBhcmVfaW5wbGFjZV9hbHRlcl9yZWJ1aWxkJzsKK0FMVEVSIFRBQkxFIHQxIFJPV19G T1JNQVQ9UkVEVU5EQU5ULCBBTEdPUklUSE09SU5QTEFDRSwgTE9DSz1OT05FOworRVJST1IgSFkw MDA6IE91dCBvZiBtZW1vcnk7IGNoZWNrIGlmIG15c3FsZCBvciBzb21lIG90aGVyIHByb2Nlc3Mg dXNlcyBhbGwgYXZhaWxhYmxlIG1lbW9yeTsgaWYgbm90LCB5b3UgbWF5IGhhdmUgdG8gdXNlICd1 bGltaXQnIHRvIGFsbG93IG15c3FsZCB0byB1c2UgbW9yZSBtZW1vcnkgb3IgeW91IGNhbiBhZGQg bW9yZSBzd2FwIHNwYWNlCitTRVQgU0VTU0lPTiBERUJVRyA9ICctZCxpbm5vZGJfT09NX3ByZXBh cmVfaW5wbGFjZV9hbHRlcl9yZWJ1aWxkJzsKK1NFVCBTRVNTSU9OIERFQlVHID0gJytkLGlubm9k Yl9PT01faW5wbGFjZV9hbHRlcic7CitBTFRFUiBUQUJMRSB0MSBST1dfRk9STUFUPVJFRFVOREFO VCwgQUxHT1JJVEhNPUlOUExBQ0UsIExPQ0s9Tk9ORTsKK0VSUk9SIEhZMDAwOiBPdXQgb2YgbWVt b3J5OyBjaGVjayBpZiBteXNxbGQgb3Igc29tZSBvdGhlciBwcm9jZXNzIHVzZXMgYWxsIGF2YWls YWJsZSBtZW1vcnk7IGlmIG5vdCwgeW91IG1heSBoYXZlIHRvIHVzZSAndWxpbWl0JyB0byBhbGxv dyBteXNxbGQgdG8gdXNlIG1vcmUgbWVtb3J5IG9yIHlvdSBjYW4gYWRkIG1vcmUgc3dhcCBzcGFj ZQorU0VUIFNFU1NJT04gREVCVUcgPSAnLWQsaW5ub2RiX09PTV9pbnBsYWNlX2FsdGVyJzsKK0FM VEVSIFRBQkxFIHQxIFJPV19GT1JNQVQ9UkVEVU5EQU5ULCBBTEdPUklUSE09SU5QTEFDRSwgTE9D Sz1OT05FOworU0hPVyBDUkVBVEUgVEFCTEUgdDE7CitUYWJsZQlDcmVhdGUgVGFibGUKK3QxCUNS RUFURSBUQUJMRSBgdDFgICgKKyAgYGMxYCBpbnQoMTEpIE5PVCBOVUxMLAorICBgYzJgIGludCgx MSkgTk9UIE5VTEwsCisgIGBjM2AgdGV4dCwKKyAgUFJJTUFSWSBLRVkgKGBjMWApCispIEVOR0lO RT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPWxhdGluMSBST1dfRk9STUFUPVJFRFVOREFOVAorQkVH SU47CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMoNyw0LDIpOworU0VUIERFQlVHX1NZTkMgPSAncm93 X2xvZ190YWJsZV9hcHBseTFfYmVmb3JlIFNJR05BTCBzY2FubmVkIFdBSVRfRk9SIGluc2VydF9k b25lJzsKK1NFVCBERUJVR19TWU5DID0gJ3Jvd19sb2dfdGFibGVfYXBwbHkyX2JlZm9yZSBXQUlU X0ZPUiByb2xsYmFja19kb25lJzsKK0FMVEVSIFRBQkxFIHQxIERST1AgUFJJTUFSWSBLRVksIEFE RCBVTklRVUUgSU5ERVgoYzIpOworRVJST1IgSFkwMDA6IExvY2sgd2FpdCB0aW1lb3V0IGV4Y2Vl ZGVkOyB0cnkgcmVzdGFydGluZyB0cmFuc2FjdGlvbgorQ09NTUlUOworQUxURVIgVEFCTEUgdDEg RFJPUCBQUklNQVJZIEtFWSwgQUREIFVOSVFVRSBJTkRFWChjMik7CitFUlJPUiAyMzAwMDogRHVw bGljYXRlIGVudHJ5ICc0JyBmb3Iga2V5ICdjMicKK0RFTEVURSBGUk9NIHQxIFdIRVJFIGMxID0g NzsKK0FMVEVSIFRBQkxFIHQxIERST1AgUFJJTUFSWSBLRVksIEFERCBVTklRVUUgSU5ERVgoYzIp LCBST1dfRk9STUFUPUNPTVBBQ1QsCitMT0NLID0gU0hBUkVELCBBTEdPUklUSE0gPSBJTlBMQUNF OworQUxURVIgVEFCTEUgdDEgQUREIFVOSVFVRSBJTkRFWChjMiksCitMT0NLID0gRVhDTFVTSVZF LCBBTEdPUklUSE0gPSBJTlBMQUNFOworU0hPVyBDUkVBVEUgVEFCTEUgdDE7CitUYWJsZQlDcmVh dGUgVGFibGUKK3QxCUNSRUFURSBUQUJMRSBgdDFgICgKKyAgYGMxYCBpbnQoMTEpIE5PVCBOVUxM LAorICBgYzJgIGludCgxMSkgTk9UIE5VTEwsCisgIGBjM2AgdGV4dCwKKyAgVU5JUVVFIEtFWSBg YzJgIChgYzJgKSwKKyAgVU5JUVVFIEtFWSBgYzJfMmAgKGBjMmApCispIEVOR0lORT1Jbm5vREIg REVGQVVMVCBDSEFSU0VUPWxhdGluMSBST1dfRk9STUFUPUNPTVBBQ1QKK0FMVEVSIFRBQkxFIHQx IERST1AgSU5ERVggYzIsIEFMR09SSVRITSA9IElOUExBQ0U7CitFUlJPUiA0MjAwMDogVGhpcyB2 ZXJzaW9uIG9mIE15U1FMIGRvZXNuJ3QgeWV0IHN1cHBvcnQgJ0FMVEVSIFRBQkxFIHQxIERST1Ag SU5ERVggYzIsIEFMR09SSVRITSA9IElOUExBQ0UnCitTSE9XIENSRUFURSBUQUJMRSB0MTsKK1Rh YmxlCUNyZWF0ZSBUYWJsZQordDEJQ1JFQVRFIFRBQkxFIGB0MWAgKAorICBgYzFgIGludCgxMSkg Tk9UIE5VTEwsCisgIGBjMmAgaW50KDExKSBOT1QgTlVMTCwKKyAgYGMzYCB0ZXh0LAorICBVTklR VUUgS0VZIGBjMmAgKGBjMmApLAorICBVTklRVUUgS0VZIGBjMl8yYCAoYGMyYCkKKykgRU5HSU5F PUlubm9EQiBERUZBVUxUIENIQVJTRVQ9bGF0aW4xIFJPV19GT1JNQVQ9Q09NUEFDVAorQUxURVIg VEFCTEUgdDEgRFJPUCBJTkRFWCBjMiwgQUREIFBSSU1BUlkgS0VZKGMxKTsKK1NFVCBERUJVR19T WU5DID0gJ25vdyBXQUlUX0ZPUiBzY2FubmVkJzsKK1NFTEVDVCBuYW1lLCBjb3VudCBGUk9NIElO Rk9STUFUSU9OX1NDSEVNQS5JTk5PREJfTUVUUklDUyBXSEVSRSBzdWJzeXN0ZW0gPSAnZGRsJzsK K25hbWUJY291bnQKK2RkbF9iYWNrZ3JvdW5kX2Ryb3BfaW5kZXhlcwkwCitkZGxfYmFja2dyb3Vu ZF9kcm9wX3RhYmxlcwkwCitkZGxfb25saW5lX2NyZWF0ZV9pbmRleAkxCitkZGxfcGVuZGluZ19h bHRlcl90YWJsZQkxCitCRUdJTjsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyg0LDcsMik7CitTRVQg REVCVUdfU1lOQyA9ICdub3cgU0lHTkFMIGluc2VydF9kb25lJzsKK1JPTExCQUNLOworU0VUIERF QlVHX1NZTkMgPSAnbm93IFNJR05BTCByb2xsYmFja19kb25lJzsKK0VSUk9SIDIzMDAwOiBEdXBs aWNhdGUgZW50cnkgJzAnIGZvciBrZXkgJ1BSSU1BUlknCitTSE9XIENSRUFURSBUQUJMRSB0MTsK K1RhYmxlCUNyZWF0ZSBUYWJsZQordDEJQ1JFQVRFIFRBQkxFIGB0MWAgKAorICBgYzFgIGludCgx MSkgTk9UIE5VTEwsCisgIGBjMmAgaW50KDExKSBOT1QgTlVMTCwKKyAgYGMzYCB0ZXh0LAorICBV TklRVUUgS0VZIGBjMmAgKGBjMmApLAorICBVTklRVUUgS0VZIGBjMl8yYCAoYGMyYCkKKykgRU5H SU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9bGF0aW4xIFJPV19GT1JNQVQ9Q09NUEFDVAorQUxU RVIgVEFCTEUgdDEgRFJPUCBQUklNQVJZIEtFWSwgQUREIFVOSVFVRSBJTkRFWChjMiksIEFMR09S SVRITSA9IElOUExBQ0U7CitFUlJPUiA0MjAwMDogQ2FuJ3QgRFJPUCAnUFJJTUFSWSc7IGNoZWNr IHRoYXQgY29sdW1uL2tleSBleGlzdHMKK0FMVEVSIFRBQkxFIHQxIERST1AgSU5ERVggYzIsIEFE RCBQUklNQVJZIEtFWShjMSksIEFMR09SSVRITSA9IElOUExBQ0U7CitTRUxFQ1QgbmFtZSwgY291 bnQgRlJPTSBJTkZPUk1BVElPTl9TQ0hFTUEuSU5OT0RCX01FVFJJQ1MgV0hFUkUgc3Vic3lzdGVt ID0gJ2RkbCc7CituYW1lCWNvdW50CitkZGxfYmFja2dyb3VuZF9kcm9wX2luZGV4ZXMJMAorZGRs X2JhY2tncm91bmRfZHJvcF90YWJsZXMJMAorZGRsX29ubGluZV9jcmVhdGVfaW5kZXgJMAorZGRs X3BlbmRpbmdfYWx0ZXJfdGFibGUJMAorSU5TRVJUIElOVE8gdDEgVkFMVUVTKDYsMywxKTsKK0VS Uk9SIDIzMDAwOiBEdXBsaWNhdGUgZW50cnkgJzMnIGZvciBrZXkgJ2MyXzInCitJTlNFUlQgSU5U TyB0MSBWQUxVRVMoNyw0LDIpOworRVJST1IgMjMwMDA6IER1cGxpY2F0ZSBlbnRyeSAnNCcgZm9y IGtleSAnYzJfMicKK0RST1AgSU5ERVggYzJfMiBPTiB0MTsKK0JFR0lOOworSU5TRVJUIElOVE8g dDEgVkFMVUVTKDcsNCwyKTsKK1JPTExCQUNLOworS0lMTCBRVUVSWSBAaWQ7CitFUlJPUiA3MDEw MDogUXVlcnkgZXhlY3V0aW9uIHdhcyBpbnRlcnJ1cHRlZAorU0VUIERFQlVHX1NZTkMgPSAncm93 X2xvZ190YWJsZV9hcHBseTFfYmVmb3JlIFNJR05BTCByZWJ1aWx0IFdBSVRfRk9SIGtpbGxfZG9u ZSc7CitBTFRFUiBUQUJMRSB0MSBST1dfRk9STUFUPVJFRFVOREFOVDsKK1NFVCBERUJVR19TWU5D ID0gJ25vdyBXQUlUX0ZPUiByZWJ1aWx0JzsKK1NFTEVDVCBuYW1lLCBjb3VudCBGUk9NIElORk9S TUFUSU9OX1NDSEVNQS5JTk5PREJfTUVUUklDUyBXSEVSRSBzdWJzeXN0ZW0gPSAnZGRsJzsKK25h bWUJY291bnQKK2RkbF9iYWNrZ3JvdW5kX2Ryb3BfaW5kZXhlcwkwCitkZGxfYmFja2dyb3VuZF9k cm9wX3RhYmxlcwkwCitkZGxfb25saW5lX2NyZWF0ZV9pbmRleAkxCitkZGxfcGVuZGluZ19hbHRl cl90YWJsZQkxCitLSUxMIFFVRVJZIEBpZDsKK1NFVCBERUJVR19TWU5DID0gJ25vdyBTSUdOQUwg a2lsbF9kb25lJzsKK0VSUk9SIDcwMTAwOiBRdWVyeSBleGVjdXRpb24gd2FzIGludGVycnVwdGVk CitTRUxFQ1QgbmFtZSwgY291bnQgRlJPTSBJTkZPUk1BVElPTl9TQ0hFTUEuSU5OT0RCX01FVFJJ Q1MgV0hFUkUgc3Vic3lzdGVtID0gJ2RkbCc7CituYW1lCWNvdW50CitkZGxfYmFja2dyb3VuZF9k cm9wX2luZGV4ZXMJMAorZGRsX2JhY2tncm91bmRfZHJvcF90YWJsZXMJMAorZGRsX29ubGluZV9j cmVhdGVfaW5kZXgJMAorZGRsX3BlbmRpbmdfYWx0ZXJfdGFibGUJMAorQ0hFQ0sgVEFCTEUgdDE7 CitUYWJsZQlPcAlNc2dfdHlwZQlNc2dfdGV4dAordGVzdC50MQljaGVjawlzdGF0dXMJT0sKK0lO U0VSVCBJTlRPIHQxIFNFTEVDVCAgNSArIGMxLCBjMiwgYzMgRlJPTSB0MTsKK0lOU0VSVCBJTlRP IHQxIFNFTEVDVCAxMCArIGMxLCBjMiwgYzMgRlJPTSB0MTsKK0lOU0VSVCBJTlRPIHQxIFNFTEVD VCAyMCArIGMxLCBjMiwgYzMgRlJPTSB0MTsKK0lOU0VSVCBJTlRPIHQxIFNFTEVDVCA0MCArIGMx LCBjMiwgYzMgRlJPTSB0MTsKK0VYUExBSU4gU0VMRUNUIENPVU5UKCopIEZST00gdDEgV0hFUkUg YzIgPiAzOworaWQJc2VsZWN0X3R5cGUJdGFibGUJdHlwZQlwb3NzaWJsZV9rZXlzCWtleQlrZXlf bGVuCXJlZglyb3dzCUV4dHJhCisxCVNJTVBMRQl0MQlBTEwJTlVMTAlOVUxMCU5VTEwJTlVMTAk4 MAlVc2luZyB3aGVyZQorQU5BTFlaRSBUQUJMRSB0MTsKK1RhYmxlCU9wCU1zZ190eXBlCU1zZ190 ZXh0Cit0ZXN0LnQxCWFuYWx5emUJc3RhdHVzCU9LCitTSE9XIENSRUFURSBUQUJMRSB0MTsKK1Rh YmxlCUNyZWF0ZSBUYWJsZQordDEJQ1JFQVRFIFRBQkxFIGB0MWAgKAorICBgYzFgIGludCgxMSkg Tk9UIE5VTEwsCisgIGBjMmAgaW50KDExKSBOT1QgTlVMTCwKKyAgYGMzYCB0ZXh0LAorICBQUklN QVJZIEtFWSAoYGMxYCkKKykgRU5HSU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9bGF0aW4xIFJP V19GT1JNQVQ9Q09NUEFDVAorU0VUIERFQlVHX1NZTkMgPSAncm93X2xvZ190YWJsZV9hcHBseTFf YmVmb3JlIFNJR05BTCByZWJ1aWx0MiBXQUlUX0ZPUiBkbWwyX2RvbmUnOworU0VUIGxvY2tfd2Fp dF90aW1lb3V0ID0gMTA7CitBTFRFUiBUQUJMRSB0MSBST1dfRk9STUFUPUNPTVBBQ1QsIEFMR09S SVRITSA9IElOUExBQ0U7CitJTlNFUlQgSU5UTyB0MSBTRUxFQ1QgIDgwICsgYzEsIGMyLCBjMyBG Uk9NIHQxOworSU5TRVJUIElOVE8gdDEgU0VMRUNUIDE2MCArIGMxLCBjMiwgYzMgRlJPTSB0MTsK K1VQREFURSB0MSBTRVQgYzIgPSBjMiArIDE7CitTRVQgREVCVUdfU1lOQyA9ICdub3cgV0FJVF9G T1IgcmVidWlsdDInOworU0VMRUNUIG5hbWUsIGNvdW50IEZST00gSU5GT1JNQVRJT05fU0NIRU1B LklOTk9EQl9NRVRSSUNTIFdIRVJFIHN1YnN5c3RlbSA9ICdkZGwnOworbmFtZQljb3VudAorZGRs X2JhY2tncm91bmRfZHJvcF9pbmRleGVzCTAKK2RkbF9iYWNrZ3JvdW5kX2Ryb3BfdGFibGVzCTAK K2RkbF9vbmxpbmVfY3JlYXRlX2luZGV4CTEKK2RkbF9wZW5kaW5nX2FsdGVyX3RhYmxlCTEKK0JF R0lOOworREVMRVRFIEZST00gdDE7CitST0xMQkFDSzsKK1VQREFURSB0MSBTRVQgYzIgPSBjMiAr IDE7CitCRUdJTjsKK1VQREFURSB0MSBTRVQgYzIgPSBjMiArIDE7CitERUxFVEUgRlJPTSB0MTsK K1JPTExCQUNLOworQkVHSU47CitERUxFVEUgRlJPTSB0MTsKK1JPTExCQUNLOworVVBEQVRFIHQx IFNFVCBjMiA9IGMyICsgMTsKK0JFR0lOOworVVBEQVRFIHQxIFNFVCBjMiA9IGMyICsgMTsKK0RF TEVURSBGUk9NIHQxOworUk9MTEJBQ0s7CitCRUdJTjsKK0RFTEVURSBGUk9NIHQxOworUk9MTEJB Q0s7CitVUERBVEUgdDEgU0VUIGMyID0gYzIgKyAxOworQkVHSU47CitVUERBVEUgdDEgU0VUIGMy ID0gYzIgKyAxOworREVMRVRFIEZST00gdDE7CitST0xMQkFDSzsKK1NFTEVDVCBuYW1lLCBjb3Vu dCBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5JTk5PREJfTUVUUklDUyBXSEVSRSBzdWJzeXN0ZW0g PSAnZGRsJzsKK25hbWUJY291bnQKK2RkbF9iYWNrZ3JvdW5kX2Ryb3BfaW5kZXhlcwkwCitkZGxf YmFja2dyb3VuZF9kcm9wX3RhYmxlcwkwCitkZGxfb25saW5lX2NyZWF0ZV9pbmRleAkxCitkZGxf cGVuZGluZ19hbHRlcl90YWJsZQkxCitTRVQgREVCVUdfU1lOQyA9ICdub3cgU0lHTkFMIGRtbDJf ZG9uZSc7CitFUlJPUiBIWTAwMDogQ3JlYXRpbmcgaW5kZXggJ1BSSU1BUlknIHJlcXVpcmVkIG1v cmUgdGhhbiAnaW5ub2RiX29ubGluZV9hbHRlcl9sb2dfbWF4X3NpemUnIGJ5dGVzIG9mIG1vZGlm aWNhdGlvbiBsb2cuIFBsZWFzZSB0cnkgYWdhaW4uCitTRUxFQ1QgbmFtZSwgY291bnQgRlJPTSBJ TkZPUk1BVElPTl9TQ0hFTUEuSU5OT0RCX01FVFJJQ1MgV0hFUkUgc3Vic3lzdGVtID0gJ2RkbCc7 CituYW1lCWNvdW50CitkZGxfYmFja2dyb3VuZF9kcm9wX2luZGV4ZXMJMAorZGRsX2JhY2tncm91 bmRfZHJvcF90YWJsZXMJMAorZGRsX29ubGluZV9jcmVhdGVfaW5kZXgJMAorZGRsX3BlbmRpbmdf YWx0ZXJfdGFibGUJMAorU0VUIERFQlVHX1NZTkMgPSAncm93X2xvZ190YWJsZV9hcHBseTFfYmVm b3JlIFNJR05BTCByZWJ1aWx0MyBXQUlUX0ZPUiBkbWwzX2RvbmUnOworQUxURVIgVEFCTEUgdDEg QUREIFBSSU1BUlkgS0VZKGMyMmYpLCBDSEFOR0UgYzIgYzIyZiBJTlQ7CitFUlJPUiA0MjAwMDog TXVsdGlwbGUgcHJpbWFyeSBrZXkgZGVmaW5lZAorQUxURVIgVEFCTEUgdDEgRFJPUCBQUklNQVJZ IEtFWSwgQUREIFBSSU1BUlkgS0VZKGMyMmYpLCBDSEFOR0UgYzIgYzIyZiBJTlQ7CitFUlJPUiAy MzAwMDogRHVwbGljYXRlIGVudHJ5ICc1JyBmb3Iga2V5ICdQUklNQVJZJworQUxURVIgVEFCTEUg dDEgRFJPUCBQUklNQVJZIEtFWSwgQUREIFBSSU1BUlkgS0VZKGMxLGMyMmYpLCBDSEFOR0UgYzIg YzIyZiBJTlQ7CitTRVQgREVCVUdfU1lOQyA9ICdub3cgV0FJVF9GT1IgcmVidWlsdDMnOworU0VM RUNUIG5hbWUsIGNvdW50IEZST00gSU5GT1JNQVRJT05fU0NIRU1BLklOTk9EQl9NRVRSSUNTIFdI RVJFIHN1YnN5c3RlbSA9ICdkZGwnOworbmFtZQljb3VudAorZGRsX2JhY2tncm91bmRfZHJvcF9p bmRleGVzCTAKK2RkbF9iYWNrZ3JvdW5kX2Ryb3BfdGFibGVzCTAKK2RkbF9vbmxpbmVfY3JlYXRl X2luZGV4CTEKK2RkbF9wZW5kaW5nX2FsdGVyX3RhYmxlCTEKK0JFR0lOOworSU5TRVJUIElOVE8g dDEgU0VMRUNUIDMyMCArIGMxLCBjMiwgYzMgRlJPTSB0MSBXSEVSRSBjMSA+IDE2MDsKK0RFTEVU RSBGUk9NIHQxIFdIRVJFIGMxID4gMzIwOworUk9MTEJBQ0s7CitCRUdJTjsKK1VQREFURSB0MSBT RVQgYzIgPSBjMiArIDE7CitERUxFVEUgRlJPTSB0MTsKK1JPTExCQUNLOworU0VMRUNUIG5hbWUs IGNvdW50IEZST00gSU5GT1JNQVRJT05fU0NIRU1BLklOTk9EQl9NRVRSSUNTIFdIRVJFIHN1YnN5 c3RlbSA9ICdkZGwnOworbmFtZQljb3VudAorZGRsX2JhY2tncm91bmRfZHJvcF9pbmRleGVzCTAK K2RkbF9iYWNrZ3JvdW5kX2Ryb3BfdGFibGVzCTAKK2RkbF9vbmxpbmVfY3JlYXRlX2luZGV4CTEK K2RkbF9wZW5kaW5nX2FsdGVyX3RhYmxlCTEKK1NFVCBERUJVR19TWU5DID0gJ25vdyBTSUdOQUwg ZG1sM19kb25lJzsKK1NFTEVDVCBuYW1lLCBjb3VudCBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5J Tk5PREJfTUVUUklDUyBXSEVSRSBzdWJzeXN0ZW0gPSAnZGRsJzsKK25hbWUJY291bnQKK2RkbF9i YWNrZ3JvdW5kX2Ryb3BfaW5kZXhlcwkwCitkZGxfYmFja2dyb3VuZF9kcm9wX3RhYmxlcwkwCitk ZGxfb25saW5lX2NyZWF0ZV9pbmRleAkwCitkZGxfcGVuZGluZ19hbHRlcl90YWJsZQkwCitTRUxF Q1QgQ09VTlQoYzIyZikgRlJPTSB0MTsKK0NPVU5UKGMyMmYpCiszMjAKK0NIRUNLIFRBQkxFIHQx OworVGFibGUJT3AJTXNnX3R5cGUJTXNnX3RleHQKK3Rlc3QudDEJY2hlY2sJc3RhdHVzCU9LCitB TFRFUiBUQUJMRSB0MSBEUk9QIFBSSU1BUlkgS0VZLCBBREQgUFJJTUFSWSBLRVkgYzNwNShjMyg1 KSk7CitFUlJPUiAyMzAwMDogRHVwbGljYXRlIGVudHJ5ICcnIGZvciBrZXkgJ1BSSU1BUlknCitV UERBVEUgdDEgU0VUIGMzID0gTlVMTCBXSEVSRSBjMyA9ICcnOworU0VUIGxvY2tfd2FpdF90aW1l b3V0ID0gMTsKK1NFVCBERUJVR19TWU5DID0gJ3Jvd19sb2dfdGFibGVfYXBwbHkxX2JlZm9yZSBT SUdOQUwgYzNwNV9jcmVhdGVkIFdBSVRfRk9SIGluc19kb25lJzsKK0FMVEVSIFRBQkxFIHQxIEFE RCBQUklNQVJZIEtFWSBjM3A1KGMzKDUpKTsKK0VSUk9SIDQyMDAwOiBNdWx0aXBsZSBwcmltYXJ5 IGtleSBkZWZpbmVkCitBTFRFUiBUQUJMRSB0MSBEUk9QIFBSSU1BUlkgS0VZLCBBREQgUFJJTUFS WSBLRVkgYzNwNShjMyg1KSksCitBTEdPUklUSE0gPSBJTlBMQUNFOworRVJST1IgNDIwMDA6IFRo aXMgdmVyc2lvbiBvZiBNeVNRTCBkb2Vzbid0IHlldCBzdXBwb3J0ICdBTFRFUiBUQUJMRSB0MSBE Uk9QIFBSSU1BUlkgS0VZLCBBREQgUFJJTUFSWSBLRVkgYzNwNShjMyg1KSksCitBTEdPUklUSE0g PSBJTlBMQUNFJworVVBEQVRFIHQxIFNFVCBjMz1DT05DQVQoYzEsUkVQRUFUKCdmb28nLGMxKSkg V0hFUkUgYzMgSVMgTlVMTDsKK0FMVEVSIFRBQkxFIHQxIE1PRElGWSBjMyBURVhUIE5PVCBOVUxM LCBBTEdPUklUSE0gPSBJTlBMQUNFOworRVJST1IgNDIwMDA6IFRoaXMgdmVyc2lvbiBvZiBNeVNR TCBkb2Vzbid0IHlldCBzdXBwb3J0ICdBTFRFUiBUQUJMRSB0MSBNT0RJRlkgYzMgVEVYVCBOT1Qg TlVMTCwgQUxHT1JJVEhNID0gSU5QTEFDRScKK0FMVEVSIFRBQkxFIHQxIE1PRElGWSBjMyBURVhU IE5PVCBOVUxMOworQUxURVIgVEFCTEUgdDEgRFJPUCBQUklNQVJZIEtFWSwgQUREIFBSSU1BUlkg S0VZIGMzcDUoYzMoNSkpLAorQUxHT1JJVEhNID0gSU5QTEFDRTsKK1NFVCBERUJVR19TWU5DID0g J25vdyBXQUlUX0ZPUiBjM3A1X2NyZWF0ZWQnOworU0VUIERFQlVHX1NZTkMgPSAnaWJfYWZ0ZXJf cm93X2luc2VydCBTSUdOQUwgaW5zX2RvbmUgV0FJVF9GT1IgZGRsX3RpbWVkX291dCc7CitJTlNF UlQgSU5UTyB0MSBWQUxVRVMoMzQ3LDMzMTAxLE5VTEwpOworRVJST1IgMjMwMDA6IENvbHVtbiAn YzMnIGNhbm5vdCBiZSBudWxsCitJTlNFUlQgSU5UTyB0MSBWQUxVRVMoMzQ3LDMzMTAxLCdQaWtr dSBrYWtrb3NlbiBwb3N0aScpOworRVJST1IgSFkwMDA6IExvY2sgd2FpdCB0aW1lb3V0IGV4Y2Vl ZGVkOyB0cnkgcmVzdGFydGluZyB0cmFuc2FjdGlvbgorU0VUIERFQlVHX1NZTkMgPSAnbm93IFNJ R05BTCBkZGxfdGltZWRfb3V0JzsKK1NFTEVDVCBuYW1lLCBjb3VudCBGUk9NIElORk9STUFUSU9O X1NDSEVNQS5JTk5PREJfTUVUUklDUyBXSEVSRSBzdWJzeXN0ZW0gPSAnZGRsJzsKK25hbWUJY291 bnQKK2RkbF9iYWNrZ3JvdW5kX2Ryb3BfaW5kZXhlcwkwCitkZGxfYmFja2dyb3VuZF9kcm9wX3Rh YmxlcwkwCitkZGxfb25saW5lX2NyZWF0ZV9pbmRleAkwCitkZGxfcGVuZGluZ19hbHRlcl90YWJs ZQkwCitTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MTsKK0NPVU5UKCopCiszMjEKK1NFVCBERUJVR19T WU5DID0gJ3Jvd19sb2dfdGFibGVfYXBwbHkxX2JlZm9yZSBTSUdOQUwgcmVidWlsdDQgV0FJVF9G T1IgZG1sNF9kb25lJzsKK1NFVCBsb2NrX3dhaXRfdGltZW91dCA9IDE7CitBTFRFUiBUQUJMRSB0 MSBST1dfRk9STUFUPVJFRFVOREFOVDsKK1NFVCBERUJVR19TWU5DID0gJ25vdyBXQUlUX0ZPUiBy ZWJ1aWx0NCc7CitTRVQgbG9ja193YWl0X3RpbWVvdXQgPSAxMDsKK0FMVEVSIFRBQkxFIHQxIERJ U0NBUkQgVEFCTEVTUEFDRTsKK1NFVCBERUJVR19TWU5DID0gJ25vdyBTSUdOQUwgZG1sNF9kb25l JzsKK0VSUk9SIEhZMDAwOiBMb2NrIHdhaXQgdGltZW91dCBleGNlZWRlZDsgdHJ5IHJlc3RhcnRp bmcgdHJhbnNhY3Rpb24KK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOworVGFibGUJQ3JlYXRlIFRhYmxl Cit0MQlDUkVBVEUgVEFCTEUgYHQxYCAoCisgIGBjMWAgaW50KDExKSBOT1QgTlVMTCwKKyAgYGMy MmZgIGludCgxMSkgTk9UIE5VTEwgREVGQVVMVCAnMCcsCisgIGBjM2AgdGV4dCBOT1QgTlVMTCwK KyAgUFJJTUFSWSBLRVkgKGBjMWAsYGMyMmZgKQorKSBFTkdJTkU9SW5ub0RCIERFRkFVTFQgQ0hB UlNFVD1sYXRpbjEgUk9XX0ZPUk1BVD1DT01QQUNUCitBTFRFUiBUQUJMRSB0MSBST1dfRk9STUFU PVJFRFVOREFOVCwgQUxHT1JJVEhNID0gSU5QTEFDRTsKK1NFTEVDVCAqIEZST00gdDE7CitjMQlj MjJmCWMzCitTRVQgREVCVUdfU1lOQyA9ICdSRVNFVCc7CitTRVQgREVCVUcgPSAnJzsKK1NFVCBH TE9CQUwgaW5ub2RiX21vbml0b3JfZGlzYWJsZSA9IG1vZHVsZV9kZGw7CitEUk9QIFRBQkxFIHQx OworU0VUIEdMT0JBTCBERUJVRyA9ICcnOworU0VUIEdMT0JBTCBpbm5vZGJfZmlsZV9wZXJfdGFi bGUgPSBAZ2xvYmFsX2lubm9kYl9maWxlX3Blcl90YWJsZV9vcmlnOworU0VUIEdMT0JBTCBpbm5v ZGJfbW9uaXRvcl9lbmFibGUgID0gZGVmYXVsdDsKK1NFVCBHTE9CQUwgaW5ub2RiX21vbml0b3Jf ZGlzYWJsZSA9IGRlZmF1bHQ7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9p bm5vZGIvdC9pbm5vZGItYWx0ZXIudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIv dC9pbm5vZGItYWx0ZXIudGVzdAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDUz MDEwMTMzNy1jdzRxNWVsN3ExZHc2NzFyCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3Qv aW5ub2RiLWFsdGVyLnRlc3QJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA1MzAx MDMyMTctdHFqN3RvOTg5bmttaGc5ZwpAQCAtMTc5LDE4ICsxNzksMTEgQEAgQUxURVIgVEFCTEUg dDEgRFJPUCBJTkRFWCBjMiwgQ0hBTkdFIGMzCiAKIENSRUFURSBUQUJMRSB0MW8gTElLRSB0MTsK IAotIyBUaGlzIHdpbGwgaW1wbGljaXRseSBhZGQgYSBET0NfSUQgY29sdW1uLCBjb3B5aW5nIHRo ZSB0YWJsZSB3aGlsZQotIyBob2xkaW5nIGEgbG9jay4gVGhlIExPQ0s9Tk9ORSBzaG91bGQgdGh1 cyBmYWlsLgotLS1lcnJvciBFUl9OT1RfU1VQUE9SVEVEX1lFVAorIyBUaGlzIHdpbGwgaW1wbGlj aXRseSBhZGQgYSBGVFNfRE9DX0lEIGNvbHVtbi4KIEFMVEVSIFRBQkxFIHQxIEFERCBGVUxMVEVY VCBJTkRFWCAoY3QpLAogQ0hBTkdFIGMxIHBrIElOVCwgQUxURVIgYzIgU0VUIERFRkFVTFQgNDIs IFJFTkFNRSBUTyB0dCwKIEFMR09SSVRITT1JTlBMQUNFLCBMT0NLPU5PTkU7CiAKLSMgUmV0cnkg d2l0aCBMT0NLPVNIQVJFRC4KLUFMVEVSIFRBQkxFIHQxIEFERCBGVUxMVEVYVCBJTkRFWCAoY3Qp LAotQ0hBTkdFIGMxIHBrIElOVCwgQUxURVIgYzIgU0VUIERFRkFVTFQgNDIsIFJFTkFNRSBUTyB0 dCwKLUFMR09SSVRITT1JTlBMQUNFLCBMT0NLPVNIQVJFRDsKLQogIyBUaGUgb3V0cHV0IHNob3Vs ZCBiZSBlbXB0eSwgYmVjYXVzZSBpbmRleC0+aWQgd2FzIHJlYXNzaWduZWQuCiAtLSBzb3VyY2Ug c3VpdGUvaW5ub2RiL2luY2x1ZGUvaW5ub2RiX2RpY3QuaW5jCiAKCj09PSBhZGRlZCBmaWxlICdt eXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYi10YWJsZS1vbmxpbmUtbWFzdGVyLm9wdCcK LS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvdC9pbm5vZGItdGFibGUtb25saW5lLW1hc3Rl ci5vcHQJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2lu bm9kYi90L2lubm9kYi10YWJsZS1vbmxpbmUtbWFzdGVyLm9wdAlyZXZpZDptYXJrby5tYWtlbGFA b3JhY2xlLmNvbS0yMDEyMDUzMDEwMzIxNy10cWo3dG85ODlua21oZzlnCkBAIC0wLDAgKzEgQEAK Ky0taW5ub2RiLXNvcnQtYnVmZmVyLXNpemU9NjRrIC0taW5ub2RiLW9ubGluZS1hbHRlci1sb2ct bWF4LXNpemU9NjRrIC0taW5ub2RiLWJ1ZmZlci1wb29sLXNpemU9NU0gLS1pbm5vZGItbG9nLWJ1 ZmZlci1zaXplPTI1NmsKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90 L2lubm9kYi10YWJsZS1vbmxpbmUudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIv dC9pbm5vZGItdGFibGUtb25saW5lLnRlc3QJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysg Yi9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYi10YWJsZS1vbmxpbmUudGVzdAlyZXZp ZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDUzMDEwMzIxNy10cWo3dG85ODlua21oZzln CkBAIC0wLDAgKzEsMzQ4IEBACistLXNvdXJjZSBpbmNsdWRlL2hhdmVfaW5ub2RiLmluYworLS1z b3VyY2UgaW5jbHVkZS9oYXZlX2RlYnVnX3N5bmMuaW5jCisKK2xldCAkaW5ub2RiX21ldHJpY3Nf c2VsZWN0PQorU0VMRUNUIG5hbWUsIGNvdW50IEZST00gSU5GT1JNQVRJT05fU0NIRU1BLklOTk9E Ql9NRVRSSUNTIFdIRVJFIHN1YnN5c3RlbSA9ICdkZGwnOworCitjYWxsIG10ci5hZGRfc3VwcHJl c3Npb24oIklubm9EQjogV2FybmluZzogU21hbGwgYnVmZmVyIHBvb2wgc2l6ZSIpOworIyB0aGVz ZSB3aWxsIGJlIHRyaWdnZXJlZCBieSBESVNDQVJEIFRBQkxFU1BBQ0UKK2NhbGwgbXRyLmFkZF9z dXBwcmVzc2lvbigiSW5ub0RCOiBFcnJvcjogdGFibGUgJ3Rlc3QvdDEnIik7CitjYWxsIG10ci5h ZGRfc3VwcHJlc3Npb24oIk15U1FMIGlzIHRyeWluZyB0byBvcGVuIGEgdGFibGUgaGFuZGxlIGJ1 dCB0aGUgLmliZCBmaWxlIGZvciIpOworCisjIERJU0NBUkQgVEFCTEVTUEFDRSBuZWVkcyBmaWxl LXBlci10YWJsZQorU0VUIEBnbG9iYWxfaW5ub2RiX2ZpbGVfcGVyX3RhYmxlX29yaWcgPSBAQGds b2JhbC5pbm5vZGJfZmlsZV9wZXJfdGFibGU7CitTRVQgR0xPQkFMIGlubm9kYl9maWxlX3Blcl90 YWJsZSA9IG9uOworCisjIFNhdmUgdGhlIGluaXRpYWwgbnVtYmVyIG9mIGNvbmN1cnJlbnQgc2Vz c2lvbnMuCistLXNvdXJjZSBpbmNsdWRlL2NvdW50X3Nlc3Npb25zLmluYworCitDUkVBVEUgVEFC TEUgdDEgKGMxIElOVCBQUklNQVJZIEtFWSwgYzIgSU5UIE5PVCBOVUxMLCBjMyBURVhUKQorRU5H SU5FID0gSW5ub0RCOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgxLDEsJycpLCAoMiwyLCcnKSwg KDMsMywnJyksICg0LDQsJycpLCAoNSw1LCcnKTsKKworU0VUIEdMT0JBTCBpbm5vZGJfbW9uaXRv cl9lbmFibGUgPSBtb2R1bGVfZGRsOworZXZhbCAkaW5ub2RiX21ldHJpY3Nfc2VsZWN0OworCitT RVQgREVCVUdfU1lOQyA9ICdSRVNFVCc7CitTRVQgREVCVUdfU1lOQyA9ICd3cml0ZV9yb3dfbm9y ZXBsYWNlIFNJR05BTCBoYXZlX2hhbmRsZSBXQUlUX0ZPUiBnb19haGVhZCc7CistLXNlbmQKK0lO U0VSVCBJTlRPIHQxIFZBTFVFUygxLDIsMyk7CisKK2Nvbm5lY3QgKGNvbjEsbG9jYWxob3N0LHJv b3QsLCk7Citjb25uZWN0aW9uIGNvbjE7CisKKyMgVGhpcyBzaG91bGQgYmxvY2sgYXQgdGhlIGVu ZCBiZWNhdXNlIG9mIHRoZSBJTlNFUlQgaW4gY29ubmVjdGlvbiBkZWZhdWx0CisjIGlzIGhvbGRp bmcgYSBtZXRhZGF0YSBsb2NrLgorU0VUIERFQlVHX1NZTkMgPSAnbm93IFdBSVRfRk9SIGhhdmVf aGFuZGxlJzsKK1NFVCBsb2NrX3dhaXRfdGltZW91dCA9IDE7CistLWVycm9yIEVSX0xPQ0tfV0FJ VF9USU1FT1VUCitBTFRFUiBUQUJMRSB0MSBST1dfRk9STUFUPVJFRFVOREFOVDsKK1NFVCBERUJV R19TWU5DID0gJ25vdyBTSUdOQUwgZ29fYWhlYWQnOworCitjb25uZWN0aW9uIGRlZmF1bHQ7Cist LWVycm9yIEVSX0RVUF9FTlRSWQorcmVhcDsKK2V2YWwgJGlubm9kYl9tZXRyaWNzX3NlbGVjdDsK KworY29ubmVjdGlvbiBjb24xOworU0VUIFNFU1NJT04gREVCVUcgPSAnK2QsaW5ub2RiX09PTV9w cmVwYXJlX2lucGxhY2VfYWx0ZXJfcmVidWlsZCc7CistLWVycm9yIEVSX09VVF9PRl9SRVNPVVJD RVMKK0FMVEVSIFRBQkxFIHQxIFJPV19GT1JNQVQ9UkVEVU5EQU5ULCBBTEdPUklUSE09SU5QTEFD RSwgTE9DSz1OT05FOworU0VUIFNFU1NJT04gREVCVUcgPSAnLWQsaW5ub2RiX09PTV9wcmVwYXJl X2lucGxhY2VfYWx0ZXJfcmVidWlsZCc7CitTRVQgU0VTU0lPTiBERUJVRyA9ICcrZCxpbm5vZGJf T09NX2lucGxhY2VfYWx0ZXInOworLS1lcnJvciBFUl9PVVRfT0ZfUkVTT1VSQ0VTCitBTFRFUiBU QUJMRSB0MSBST1dfRk9STUFUPVJFRFVOREFOVCwgQUxHT1JJVEhNPUlOUExBQ0UsIExPQ0s9Tk9O RTsKK1NFVCBTRVNTSU9OIERFQlVHID0gJy1kLGlubm9kYl9PT01faW5wbGFjZV9hbHRlcic7CitB TFRFUiBUQUJMRSB0MSBST1dfRk9STUFUPVJFRFVOREFOVCwgQUxHT1JJVEhNPUlOUExBQ0UsIExP Q0s9Tk9ORTsKKworY29ubmVjdGlvbiBkZWZhdWx0OworU0hPVyBDUkVBVEUgVEFCTEUgdDE7Cisj IEluc2VydCBhIGR1cGxpY2F0ZSBlbnRyeSAoNCkgZm9yIHRoZSB1cGNvbWluZyBVTklRVUUgSU5E RVgoYzIpLgorQkVHSU47CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMoNyw0LDIpOworCitjb25uZWN0 aW9uIGNvbjE7CisjIFRoaXMgREVCVUdfU1lOQyBzaG91bGQgbm90IGtpY2sgaW4geWV0LCBiZWNh dXNlIHRoZSBkdXBsaWNhdGUga2V5IHdpbGwgYmUKKyMgZGV0ZWN0ZWQgYmVmb3JlIHdlIGdldCBh IGNoYW5jZSB0byBhcHBseSB0aGUgb25saW5lIGxvZy4KK1NFVCBERUJVR19TWU5DID0gJ3Jvd19s b2dfdGFibGVfYXBwbHkxX2JlZm9yZSBTSUdOQUwgc2Nhbm5lZCBXQUlUX0ZPUiBpbnNlcnRfZG9u ZSc7CitTRVQgREVCVUdfU1lOQyA9ICdyb3dfbG9nX3RhYmxlX2FwcGx5Ml9iZWZvcmUgV0FJVF9G T1Igcm9sbGJhY2tfZG9uZSc7CisjIFRoaXMgd2lsbCBiZSBhIGxvY2sgd2FpdCB0aW1lb3V0IG9u IHRoZSBtZXRhLWRhdGEgbG9jaywKKyMgYmVjYXVzZSB0aGUgdHJhbnNhY3Rpb24gaW5zZXJ0aW5n ICg3LDQsMikgaXMgc3RpbGwgYWN0aXZlLgorLS1lcnJvciBFUl9MT0NLX1dBSVRfVElNRU9VVAor QUxURVIgVEFCTEUgdDEgRFJPUCBQUklNQVJZIEtFWSwgQUREIFVOSVFVRSBJTkRFWChjMik7Citj b25uZWN0aW9uIGRlZmF1bHQ7CitDT01NSVQ7Citjb25uZWN0aW9uIGNvbjE7CistLWVycm9yIEVS X0RVUF9FTlRSWQorQUxURVIgVEFCTEUgdDEgRFJPUCBQUklNQVJZIEtFWSwgQUREIFVOSVFVRSBJ TkRFWChjMik7Citjb25uZWN0aW9uIGRlZmF1bHQ7CitERUxFVEUgRlJPTSB0MSBXSEVSRSBjMSA9 IDc7Citjb25uZWN0aW9uIGNvbjE7CitBTFRFUiBUQUJMRSB0MSBEUk9QIFBSSU1BUlkgS0VZLCBB REQgVU5JUVVFIElOREVYKGMyKSwgUk9XX0ZPUk1BVD1DT01QQUNULAorTE9DSyA9IFNIQVJFRCwg QUxHT1JJVEhNID0gSU5QTEFDRTsKKworIyBUaGUgcHJldmlvdXMgREVCVUdfU1lOQyBzaG91bGQg YmUgaWdub3JlZCwgYmVjYXVzZSBhbiBleGNsdXNpdmUgbG9jaworIyBoYXMgYmVlbiByZXF1ZXN0 ZWQgYW5kIHRoZSBvbmxpbmUgbG9nIGlzIG5vdCBiZWluZyBhbGxvY2F0ZWQuCitBTFRFUiBUQUJM RSB0MSBBREQgVU5JUVVFIElOREVYKGMyKSwKK0xPQ0sgPSBFWENMVVNJVkUsIEFMR09SSVRITSA9 IElOUExBQ0U7CisKK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOworIyBXZSBkbyBub3Qgc3VwcG9ydCBw bGFpbiBEUk9QX1BLX0lOREVYIHdpdGhvdXQgQUREX1BLX0lOREVYLgorLS1lcnJvciBFUl9OT1Rf U1VQUE9SVEVEX1lFVAorQUxURVIgVEFCTEUgdDEgRFJPUCBJTkRFWCBjMiwgQUxHT1JJVEhNID0g SU5QTEFDRTsKK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOworIyBOb3cgdGhlIHByZXZpb3VzIERFQlVH X1NZTkMgc2hvdWxkIGtpY2sgaW4uCistLXNlbmQKK0FMVEVSIFRBQkxFIHQxIERST1AgSU5ERVgg YzIsIEFERCBQUklNQVJZIEtFWShjMSk7Citjb25uZWN0aW9uIGRlZmF1bHQ7CitTRVQgREVCVUdf U1lOQyA9ICdub3cgV0FJVF9GT1Igc2Nhbm5lZCc7CitldmFsICRpbm5vZGJfbWV0cmljc19zZWxl Y3Q7CisKKyMgSW5zZXJ0IGEgZHVwbGljYXRlIGVudHJ5ICg0KSBmb3IgdGhlIGFscmVhZHkgc3Rh cnRlZCBVTklRVUUgSU5ERVgoYzEpLgorQkVHSU47CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMoNCw3 LDIpOworU0VUIERFQlVHX1NZTkMgPSAnbm93IFNJR05BTCBpbnNlcnRfZG9uZSc7CisjIFdhaXQg Zm9yIHRoZSBsb2cgdG8gYmUgYXBwbGllZCwKKyMgc28gdGhhdCBhIGR1cGxpY2F0ZSBrZXkgZXJy b3Igd291bGQgYmUgdHJpZ2dlcmVkLgorbGV0ICR3YWl0X2NvbmRpdGlvbj0KKyAgU0VMRUNUIENP VU5UKCopID0gMSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5wcm9jZXNzbGlzdAorICBXSEVSRSBz dGF0ZSA9ICdTeXN0ZW0gbG9jaycgYW5kCisgICAgICAgIGluZm8gPSAnQUxURVIgVEFCTEUgdDEg RFJPUCBJTkRFWCBjMiwgQUREIFBSSU1BUlkgS0VZKGMxKSc7CistLXNvdXJjZSBpbmNsdWRlL3dh aXRfY29uZGl0aW9uLmluYworUk9MTEJBQ0s7CitTRVQgREVCVUdfU1lOQyA9ICdub3cgU0lHTkFM IHJvbGxiYWNrX2RvbmUnOworCitjb25uZWN0aW9uIGNvbjE7CisjIEJlY2F1c2UgdGhlIG1vZGlm aWNhdGlvbiBsb2cgd2lsbCBiZSBhcHBsaWVkIGluIG9yZGVyLCB0aGVyZSB3aWxsIGJlCisjIGEg ZHVwbGljYXRlIGtleSBlcnJvciBvbiB0aGUgKDQsNywyKSBpZiB0aGUgcm9sbGJhY2sgb2NjdXJy ZWQgYWZ0ZXIKKyMgdGhlIGxvZyBhcHBseS4KKy0tZXJyb3IgRVJfRFVQX0VOVFJZCityZWFwOwor U0hPVyBDUkVBVEUgVEFCTEUgdDE7CisjIE5vdywgcmVidWlsZCB0aGUgdGFibGUgd2l0aG91dCBh bnkgY29uY3VycmVudCBETUwsIHdoaWxlIG5vIGR1cGxpY2F0ZSBleGlzdHMuCistLWVycm9yIEVS X0NBTlRfRFJPUF9GSUVMRF9PUl9LRVkKK0FMVEVSIFRBQkxFIHQxIERST1AgUFJJTUFSWSBLRVks IEFERCBVTklRVUUgSU5ERVgoYzIpLCBBTEdPUklUSE0gPSBJTlBMQUNFOworQUxURVIgVEFCTEUg dDEgRFJPUCBJTkRFWCBjMiwgQUREIFBSSU1BUlkgS0VZKGMxKSwgQUxHT1JJVEhNID0gSU5QTEFD RTsKK2V2YWwgJGlubm9kYl9tZXRyaWNzX3NlbGVjdDsKKworY29ubmVjdGlvbiBkZWZhdWx0Owor LS1lcnJvciBFUl9EVVBfRU5UUlkKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyg2LDMsMSk7CistLWVy cm9yIEVSX0RVUF9FTlRSWQorSU5TRVJUIElOVE8gdDEgVkFMVUVTKDcsNCwyKTsKK0RST1AgSU5E RVggYzJfMiBPTiB0MTsKK0JFR0lOOworSU5TRVJUIElOVE8gdDEgVkFMVUVTKDcsNCwyKTsKK1JP TExCQUNLOworCitjb25uZWN0aW9uIGNvbjE7CitsZXQgJElEPSBgU0VMRUNUIEBpZCA6PSBDT05O RUNUSU9OX0lEKClgOworLS1lcnJvciBFUl9RVUVSWV9JTlRFUlJVUFRFRAorS0lMTCBRVUVSWSBA aWQ7CisKK1NFVCBERUJVR19TWU5DID0gJ3Jvd19sb2dfdGFibGVfYXBwbHkxX2JlZm9yZSBTSUdO QUwgcmVidWlsdCBXQUlUX0ZPUiBraWxsX2RvbmUnOworLS1zZW5kCitBTFRFUiBUQUJMRSB0MSBS T1dfRk9STUFUPVJFRFVOREFOVDsKKworY29ubmVjdGlvbiBkZWZhdWx0OworU0VUIERFQlVHX1NZ TkMgPSAnbm93IFdBSVRfRk9SIHJlYnVpbHQnOworZXZhbCAkaW5ub2RiX21ldHJpY3Nfc2VsZWN0 OworbGV0ICRpZ25vcmU9IGBTRUxFQ1QgQGlkIDo9ICRJRGA7CitLSUxMIFFVRVJZIEBpZDsKK1NF VCBERUJVR19TWU5DID0gJ25vdyBTSUdOQUwga2lsbF9kb25lJzsKKworY29ubmVjdGlvbiBjb24x OworLS1lcnJvciBFUl9RVUVSWV9JTlRFUlJVUFRFRAorcmVhcDsKK2V2YWwgJGlubm9kYl9tZXRy aWNzX3NlbGVjdDsKKworY29ubmVjdGlvbiBkZWZhdWx0OworQ0hFQ0sgVEFCTEUgdDE7CitJTlNF UlQgSU5UTyB0MSBTRUxFQ1QgIDUgKyBjMSwgYzIsIGMzIEZST00gdDE7CitJTlNFUlQgSU5UTyB0 MSBTRUxFQ1QgMTAgKyBjMSwgYzIsIGMzIEZST00gdDE7CitJTlNFUlQgSU5UTyB0MSBTRUxFQ1Qg MjAgKyBjMSwgYzIsIGMzIEZST00gdDE7CitJTlNFUlQgSU5UTyB0MSBTRUxFQ1QgNDAgKyBjMSwg YzIsIGMzIEZST00gdDE7CisjIFB1cmdlIG1heSBvciBtYXkgbm90IGhhdmUgY2xlYW5lZCB1cCB0 aGUgREVMRVRFIEZST00gdDEgV0hFUkUgYzEgPSA3OworLS1yZXBsYWNlX3Jlc3VsdCA2IDUKK0VY UExBSU4gU0VMRUNUIENPVU5UKCopIEZST00gdDEgV0hFUkUgYzIgPiAzOworQU5BTFlaRSBUQUJM RSB0MTsKKworY29ubmVjdGlvbiBjb24xOworU0hPVyBDUkVBVEUgVEFCTEUgdDE7CisKKyMgRXhj ZWVkIHRoZSBjb25maWd1cmVkIGlubm9kYl9vbmxpbmVfYWx0ZXJfbG9nX21heF9zaXplLgorIyBU aGUgYWN0dWFsIGxpbWl0IGlzIGEgbXVsdGlwbGUgb2YgaW5ub2RiX3NvcnRfYnVmX3NpemUsCisj IGJlY2F1c2UgdGhhdCBpcyB0aGUgc2l6ZSBvZiB0aGUgaW4tbWVtb3J5IGxvZyBidWZmZXJzLgor U0VUIERFQlVHX1NZTkMgPSAncm93X2xvZ190YWJsZV9hcHBseTFfYmVmb3JlIFNJR05BTCByZWJ1 aWx0MiBXQUlUX0ZPUiBkbWwyX2RvbmUnOworIyBFbnN1cmUgdGhhdCB0aGUgQUxURVIgVEFCTEUg d2lsbCBiZSBleGVjdXRlZCBldmVuIHdpdGggc29tZSBjb25jdXJyZW50IERNTC4KK1NFVCBsb2Nr X3dhaXRfdGltZW91dCA9IDEwOworLS1zZW5kCitBTFRFUiBUQUJMRSB0MSBST1dfRk9STUFUPUNP TVBBQ1QsIEFMR09SSVRITSA9IElOUExBQ0U7CisKKyMgR2VuZXJhdGUgc29tZSBsb2cgKGRlbGV0 ZS1tYXJrLCBkZWxldGUtdW5tYXJrLCBpbnNlcnQgZXRjLikKKyMgd2hpbGUgdGhlIGluZGV4IGNy ZWF0aW9uIGlzIGJsb2NrZWQuIFNvbWUgb2YgdGhpcyBtYXkgcnVuCisjIGluIHBhcmFsbGVsIHdp dGggdGhlIGNsdXN0ZXJlZCBpbmRleCBzY2FuLgorY29ubmVjdGlvbiBkZWZhdWx0OworSU5TRVJU IElOVE8gdDEgU0VMRUNUICA4MCArIGMxLCBjMiwgYzMgRlJPTSB0MTsKK0lOU0VSVCBJTlRPIHQx IFNFTEVDVCAxNjAgKyBjMSwgYzIsIGMzIEZST00gdDE7CitVUERBVEUgdDEgU0VUIGMyID0gYzIg KyAxOworU0VUIERFQlVHX1NZTkMgPSAnbm93IFdBSVRfRk9SIHJlYnVpbHQyJzsKKyMgQXQgdGhp cyBwb2ludCwgdGhlIGNsdXN0ZXJlZCBpbmRleCBzY2FuIG11c3QgaGF2ZSBjb21wbGV0ZWQsCisj IGJ1dCB0aGUgbW9kaWZpY2F0aW9uIGxvZyBrZWVwcyBhY2N1bXVsYXRpbmcgZHVlIHRvIHRoZSBE RUJVR19TWU5DLgorZXZhbCAkaW5ub2RiX21ldHJpY3Nfc2VsZWN0OworbGV0ICRjPSAzOword2hp bGUgKCRjKQoreworICBCRUdJTjsKKyAgREVMRVRFIEZST00gdDE7CisgIFJPTExCQUNLOworICBV UERBVEUgdDEgU0VUIGMyID0gYzIgKyAxOworICBCRUdJTjsKKyAgVVBEQVRFIHQxIFNFVCBjMiA9 IGMyICsgMTsKKyAgREVMRVRFIEZST00gdDE7CisgIFJPTExCQUNLOworICBkZWMgJGM7Cit9Cisj IFRlbXBvcmFyeSB0YWJsZSBzaG91bGQgZXhpc3QgdW50aWwgdGhlIERETCB0aHJlYWQgbm90aWNl cyB0aGUgb3ZlcmZsb3cuCitldmFsICRpbm5vZGJfbWV0cmljc19zZWxlY3Q7CisKKyMgUmVsZWFz ZSBjb24xLgorU0VUIERFQlVHX1NZTkMgPSAnbm93IFNJR05BTCBkbWwyX2RvbmUnOworCitjb25u ZWN0aW9uIGNvbjE7CisjIElmIHRoZSBmb2xsb3dpbmcgZmFpbHMgd2l0aCB0aGUgd3JvbmcgZXJy b3IsIGl0IHByb2JhYmx5IG1lYW5zIHRoYXQKKyMgeW91IHNob3VsZCByZXJ1biB3aXRoIGEgbGFy Z2VyIG10ciAtLWRlYnVnLXN5bmMtdGltZW91dC4KKy0tZXJyb3IgRVJfSU5OT0RCX09OTElORV9M T0dfVE9PX0JJRworcmVhcDsKKyMgVGhlIHRhYmxlIHNob3VsZCBoYXZlIGJlZW4gZHJvcHBlZCBm cm9tIHRoZSBkYXRhIGRpY3Rpb25hcnkKKyMgd2hlbiB0aGUgYWJvdmUgZXJyb3Igd2FzIG5vdGlj ZWQuCitldmFsICRpbm5vZGJfbWV0cmljc19zZWxlY3Q7CisKKyMgQWNjdW11bGF0ZSBhbmQgYXBw bHkgc29tZSBtb2RpZmljYXRpb24gbG9nLgorU0VUIERFQlVHX1NZTkMgPSAncm93X2xvZ190YWJs ZV9hcHBseTFfYmVmb3JlIFNJR05BTCByZWJ1aWx0MyBXQUlUX0ZPUiBkbWwzX2RvbmUnOworLS1l cnJvciBFUl9NVUxUSVBMRV9QUklfS0VZCitBTFRFUiBUQUJMRSB0MSBBREQgUFJJTUFSWSBLRVko YzIyZiksIENIQU5HRSBjMiBjMjJmIElOVDsKKy0tZXJyb3IgRVJfRFVQX0VOVFJZCitBTFRFUiBU QUJMRSB0MSBEUk9QIFBSSU1BUlkgS0VZLCBBREQgUFJJTUFSWSBLRVkoYzIyZiksIENIQU5HRSBj MiBjMjJmIElOVDsKKy0tc2VuZAorQUxURVIgVEFCTEUgdDEgRFJPUCBQUklNQVJZIEtFWSwgQURE IFBSSU1BUlkgS0VZKGMxLGMyMmYpLCBDSEFOR0UgYzIgYzIyZiBJTlQ7CisKK2Nvbm5lY3Rpb24g ZGVmYXVsdDsKK1NFVCBERUJVR19TWU5DID0gJ25vdyBXQUlUX0ZPUiByZWJ1aWx0Myc7CisjIEdl bmVyYXRlIHNvbWUgbG9nIChkZWxldGUtbWFyaywgZGVsZXRlLXVubWFyaywgaW5zZXJ0IGV0Yy4p CitldmFsICRpbm5vZGJfbWV0cmljc19zZWxlY3Q7CitCRUdJTjsKK0lOU0VSVCBJTlRPIHQxIFNF TEVDVCAzMjAgKyBjMSwgYzIsIGMzIEZST00gdDEgV0hFUkUgYzEgPiAxNjA7CitERUxFVEUgRlJP TSB0MSBXSEVSRSBjMSA+IDMyMDsKK1JPTExCQUNLOworQkVHSU47CitVUERBVEUgdDEgU0VUIGMy ID0gYzIgKyAxOworREVMRVRFIEZST00gdDE7CitST0xMQkFDSzsKK2V2YWwgJGlubm9kYl9tZXRy aWNzX3NlbGVjdDsKKyMgUmVsZWFzZSBjb24xLgorU0VUIERFQlVHX1NZTkMgPSAnbm93IFNJR05B TCBkbWwzX2RvbmUnOworCitjb25uZWN0aW9uIGNvbjE7CityZWFwOworZXZhbCAkaW5ub2RiX21l dHJpY3Nfc2VsZWN0OworU0VMRUNUIENPVU5UKGMyMmYpIEZST00gdDE7CitDSEVDSyBUQUJMRSB0 MTsKKworIyBDcmVhdGUgYSBjb2x1bW4gcHJlZml4IGluZGV4LgorLS1lcnJvciBFUl9EVVBfRU5U UlkKK0FMVEVSIFRBQkxFIHQxIERST1AgUFJJTUFSWSBLRVksIEFERCBQUklNQVJZIEtFWSBjM3A1 KGMzKDUpKTsKK1VQREFURSB0MSBTRVQgYzMgPSBOVUxMIFdIRVJFIGMzID0gJyc7CitTRVQgbG9j a193YWl0X3RpbWVvdXQgPSAxOworU0VUIERFQlVHX1NZTkMgPSAncm93X2xvZ190YWJsZV9hcHBs eTFfYmVmb3JlIFNJR05BTCBjM3A1X2NyZWF0ZWQgV0FJVF9GT1IgaW5zX2RvbmUnOworLS1lcnJv ciBFUl9NVUxUSVBMRV9QUklfS0VZCitBTFRFUiBUQUJMRSB0MSBBREQgUFJJTUFSWSBLRVkgYzNw NShjMyg1KSk7CisjIFdlIGRvIG5vdCBzdXBwb3J0IGNoYW5naW5nIGEgY29sdW1uIHRvIE5PVCBO VUxMIHlldC4KKy0tZXJyb3IgRVJfTk9UX1NVUFBPUlRFRF9ZRVQKK0FMVEVSIFRBQkxFIHQxIERS T1AgUFJJTUFSWSBLRVksIEFERCBQUklNQVJZIEtFWSBjM3A1KGMzKDUpKSwKK0FMR09SSVRITSA9 IElOUExBQ0U7CisKK1VQREFURSB0MSBTRVQgYzM9Q09OQ0FUKGMxLFJFUEVBVCgnZm9vJyxjMSkp IFdIRVJFIGMzIElTIE5VTEw7CistLWVycm9yIEVSX05PVF9TVVBQT1JURURfWUVUCitBTFRFUiBU QUJMRSB0MSBNT0RJRlkgYzMgVEVYVCBOT1QgTlVMTCwgQUxHT1JJVEhNID0gSU5QTEFDRTsKK0FM VEVSIFRBQkxFIHQxIE1PRElGWSBjMyBURVhUIE5PVCBOVUxMOworCistLXNlbmQKK0FMVEVSIFRB QkxFIHQxIERST1AgUFJJTUFSWSBLRVksIEFERCBQUklNQVJZIEtFWSBjM3A1KGMzKDUpKSwKK0FM R09SSVRITSA9IElOUExBQ0U7CisKK2Nvbm5lY3Rpb24gZGVmYXVsdDsKK1NFVCBERUJVR19TWU5D ID0gJ25vdyBXQUlUX0ZPUiBjM3A1X2NyZWF0ZWQnOworCitTRVQgREVCVUdfU1lOQyA9ICdpYl9h ZnRlcl9yb3dfaW5zZXJ0IFNJR05BTCBpbnNfZG9uZSBXQUlUX0ZPUiBkZGxfdGltZWRfb3V0JzsK Ky0tZXJyb3IgRVJfQkFEX05VTExfRVJST1IKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUygzNDcsMzMx MDEsTlVMTCk7CistLXNlbmQKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUygzNDcsMzMxMDEsJ1Bpa2t1 IGtha2tvc2VuIHBvc3RpJyk7CisKK2Nvbm5lY3Rpb24gY29uMTsKKy0tZXJyb3IgRVJfTE9DS19X QUlUX1RJTUVPVVQKK3JlYXA7CitTRVQgREVCVUdfU1lOQyA9ICdub3cgU0lHTkFMIGRkbF90aW1l ZF9vdXQnOworCitldmFsICRpbm5vZGJfbWV0cmljc19zZWxlY3Q7CisKK2Nvbm5lY3Rpb24gZGVm YXVsdDsKK3JlYXA7CitTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MTsKKworU0VUIERFQlVHX1NZTkMg PSAncm93X2xvZ190YWJsZV9hcHBseTFfYmVmb3JlIFNJR05BTCByZWJ1aWx0NCBXQUlUX0ZPUiBk bWw0X2RvbmUnOworIyBUaGUgbG9jayB1cGdyYWRlIGF0IHRoZSBlbmQgb2YgdGhlIEFMVEVSIHdp bGwgY29uZmxpY3Qgd2l0aCB0aGUgRElTQ0FSRC4KK1NFVCBsb2NrX3dhaXRfdGltZW91dCA9IDE7 CistLXNlbmQKK0FMVEVSIFRBQkxFIHQxIFJPV19GT1JNQVQ9UkVEVU5EQU5UOworCitjb25uZWN0 aW9uIGNvbjE7CitTRVQgREVCVUdfU1lOQyA9ICdub3cgV0FJVF9GT1IgcmVidWlsdDQnOworCitj b25uZWN0IChjb24yLGxvY2FsaG9zdCxyb290LCwpOworY29ubmVjdGlvbiBjb24yOworCisjIFRo aXMgd2lsbCBjb25mbGljdCB3aXRoIHRoZSBBTFRFUiBpbiBjb25uZWN0aW9uIGRlZmF1bHQsIGFi b3ZlLgorU0VUIGxvY2tfd2FpdF90aW1lb3V0ID0gMTA7CistLXNlbmQKK0FMVEVSIFRBQkxFIHQx IERJU0NBUkQgVEFCTEVTUEFDRTsKKworY29ubmVjdGlvbiBjb24xOworbGV0ICR3YWl0X2NvbmRp dGlvbj0KKyAgU0VMRUNUIENPVU5UKCopID0gMSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5wcm9j ZXNzbGlzdAorICBXSEVSRSBzdGF0ZSA9ICdXYWl0aW5nIGZvciB0YWJsZSBsZXZlbCBsb2NrJyBh bmQKKyAgICAgICAgaW5mbyA9ICdBTFRFUiBUQUJMRSB0MSBESVNDQVJEIFRBQkxFU1BBQ0UnOwor LS1zb3VyY2UgaW5jbHVkZS93YWl0X2NvbmRpdGlvbi5pbmMKKworU0VUIERFQlVHX1NZTkMgPSAn bm93IFNJR05BTCBkbWw0X2RvbmUnOworZGlzY29ubmVjdCBjb24xOworY29ubmVjdGlvbiBjb24y OworcmVhcDsKK2Rpc2Nvbm5lY3QgY29uMjsKK2Nvbm5lY3Rpb24gZGVmYXVsdDsKKy0tZXJyb3Ig RVJfTE9DS19XQUlUX1RJTUVPVVQKK3JlYXA7CisKK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOworIyBU aGUgc291cmNlIHRhYmxlc3BhY2Ugd2FzIGRpc2NhcmRlZCBkdXJpbmcgdGhlIHByZXZpb3VzIG9u bGluZSByZWJ1aWxkLgorIyBUaGUgcmVidWlsZCB3aWxsIHJlLWNyZWF0ZSB0MSBhcyBhbiBlbXB0 eSB0YWJsZS4KK0FMVEVSIFRBQkxFIHQxIFJPV19GT1JNQVQ9UkVEVU5EQU5ULCBBTEdPUklUSE0g PSBJTlBMQUNFOworU0VMRUNUICogRlJPTSB0MTsKKworU0VUIERFQlVHX1NZTkMgPSAnUkVTRVQn OworU0VUIERFQlVHID0gJyc7CitTRVQgR0xPQkFMIGlubm9kYl9tb25pdG9yX2Rpc2FibGUgPSBt b2R1bGVfZGRsOworCitEUk9QIFRBQkxFIHQxOworCisjIENoZWNrIHRoYXQgYWxsIGNvbm5lY3Rp b25zIG9wZW5lZCBieSB0ZXN0IGNhc2VzIGluIHRoaXMgZmlsZSBhcmUgcmVhbGx5CisjIGdvbmUg c28gZXhlY3V0aW9uIG9mIG90aGVyIHRlc3RzIHdvbid0IGJlIGFmZmVjdGVkIGJ5IHRoZWlyIHBy ZXNlbmNlLgorLS1zb3VyY2UgaW5jbHVkZS93YWl0X3VudGlsX2NvdW50X3Nlc3Npb25zLmluYwor CitTRVQgR0xPQkFMIERFQlVHID0gJyc7CitTRVQgR0xPQkFMIGlubm9kYl9maWxlX3Blcl90YWJs ZSA9IEBnbG9iYWxfaW5ub2RiX2ZpbGVfcGVyX3RhYmxlX29yaWc7CistLWRpc2FibGVfd2Fybmlu Z3MKK1NFVCBHTE9CQUwgaW5ub2RiX21vbml0b3JfZW5hYmxlICA9IGRlZmF1bHQ7CitTRVQgR0xP QkFMIGlubm9kYl9tb25pdG9yX2Rpc2FibGUgPSBkZWZhdWx0OworLS1lbmFibGVfd2FybmluZ3MK Cj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2hhbmRsZXIvaGFfaW5ub2RiLmgn Ci0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5vZGIuaAlyZXZpZDptYXJrby5t YWtlbGFAb3JhY2xlLmNvbS0yMDEyMDUzMDEwMTMzNy1jdzRxNWVsN3ExZHc2NzFyCisrKyBiL3N0 b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5vZGIuaAlyZXZpZDptYXJrby5tYWtlbGFAb3Jh Y2xlLmNvbS0yMDEyMDUzMDEwMzIxNy10cWo3dG85ODlua21oZzlnCkBAIC0yMzUsNyArMjM1LDYg QEAgY2xhc3MgaGFfaW5ub2Jhc2U6IHB1YmxpYyBoYW5kbGVyCiAJYnkgQUxURVIgVEFCTEUgYW5k IGhvbGRpbmcgZGF0YSB1c2VkIGR1cmluZyBpbi1wbGFjZSBhbHRlci4KIAogCUByZXR2YWwgSEFf QUxURVJfSU5QTEFDRV9OT1RfU1VQUE9SVEVECU5vdCBzdXBwb3J0ZWQKLQlAcmV0dmFsIEhBX0FM VEVSX0lOUExBQ0VfRVhDTFVTSVZFX0xPQ0sJU3VwcG9ydGVkLCBidXQgcmVxdWlyZXMgWC1sb2Nr CiAJQHJldHZhbCBIQV9BTFRFUl9JTlBMQUNFX05PX0xPQ0sgU3VwcG9ydGVkCiAJQHJldHZhbCBI QV9BTFRFUl9JTlBMQUNFX05PX0xPQ0tfQUZURVJfUFJFUEFSRSBTdXBwb3J0ZWQsIHByZXBhcmUg cGhhc2UKIAkqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9o YW5kbGVyMGFsdGVyLmNjJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2hhbmRsZXIvaGFuZGxlcjBh bHRlci5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDUzMDEwMTMzNy1jdzRx NWVsN3ExZHc2NzFyCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYW5kbGVyMGFsdGVy LmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNTMwMTAzMjE3LXRxajd0bzk4 OW5rbWhnOWcKQEAgLTE4NCw3ICsxODQsNiBAQCBpbm5vYmFzZV9uZWVkX3JlYnVpbGQoCiBieSBB TFRFUiBUQUJMRSBhbmQgaG9sZGluZyBkYXRhIHVzZWQgZHVyaW5nIGluLXBsYWNlIGFsdGVyLgog CiBAcmV0dmFsIEhBX0FMVEVSX0lOUExBQ0VfTk9UX1NVUFBPUlRFRAlOb3Qgc3VwcG9ydGVkCi1A cmV0dmFsIEhBX0FMVEVSX0lOUExBQ0VfU0hBUkVEX0xPQ0sJU3VwcG9ydGVkLCBidXQgcmVxdWly ZXMgUy1sb2NrCiBAcmV0dmFsIEhBX0FMVEVSX0lOUExBQ0VfTk9fTE9DSyBTdXBwb3J0ZWQKIEBy ZXR2YWwgSEFfQUxURVJfSU5QTEFDRV9OT19MT0NLX0FGVEVSX1BSRVBBUkUJU3VwcG9ydGVkLCBw cmVwYXJlIHBoYXNlCiAoYW55IHRyYW5zYWN0aW9ucyB0aGF0IGhhdmUgbW9kaWZpZWQgdGhlIHRh YmxlIG11c3QgY29tbWl0IG9yIHJvbGwgYmFjawpAQCAtMjg2LDM1ICsyODUsNiBAQCBoYV9pbm5v YmFzZTo6Y2hlY2tfaWZfc3VwcG9ydGVkX2lucGxhY2VfCiAJfQogCiAJcHJlYnVpbHQtPnRyeC0+ d2lsbF9sb2NrKys7Ci0KLQkvKiBSZWJ1aWxkaW5nIHRoZSBjbHVzdGVyZWQgaW5kZXggcmVxdWly ZXMgYSBzaGFyZWQgbG9jayBvbiB0aGUKLQl0YWJsZSBkdXJpbmcgdGhlIHdob2xlIGNvcHlpbmcg b3BlcmF0aW9uLiAqLwotCWlmIChpbm5vYmFzZV9uZWVkX3JlYnVpbGQoaGFfYWx0ZXJfaW5mbykp IHsKLQkJREJVR19SRVRVUk4oSEFfQUxURVJfSU5QTEFDRV9TSEFSRURfTE9DSyk7Ci0JfQotCi0J aWYgKGhhX2FsdGVyX2luZm8tPmhhbmRsZXJfZmxhZ3MKLQkgICAgJiAoQWx0ZXJfaW5wbGFjZV9p bmZvOjpBRERfSU5ERVgKLQkgICAgICAgfCBBbHRlcl9pbnBsYWNlX2luZm86OkFERF9VTklRVUVf SU5ERVgpKSB7Ci0JCS8qIEJ1aWxkaW5nIGEgZnVsbC10ZXh0IGluZGV4IHJlcXVpcmVzIGEgc2hh cmVkIGxvY2suICovCi0KLQkJZm9yICh1aW50IGkgPSAwOyBpIDwgaGFfYWx0ZXJfaW5mby0+aW5k ZXhfYWRkX2NvdW50OyBpKyspIHsKLQkJCWNvbnN0IEtFWSoga2V5ID0KLQkJCQkmaGFfYWx0ZXJf aW5mby0+a2V5X2luZm9fYnVmZmVyWwotCQkJCQloYV9hbHRlcl9pbmZvLT5pbmRleF9hZGRfYnVm ZmVyW2ldXTsKLQkJCWlmIChrZXktPmZsYWdzICYgSEFfRlVMTFRFWFQpIHsKLQkJCQlEQlVHX0FT U0VSVCghKGtleS0+ZmxhZ3MgJiBIQV9LRVlGTEFHX01BU0sKLQkJCQkJICAgICAgJiB+KEhBX0ZV TExURVhUCi0JCQkJCQkgIHwgSEFfUEFDS19LRVkKLQkJCQkJCSAgfCBIQV9HRU5FUkFURURfS0VZ Ci0JCQkJCQkgIHwgSEFfQklOQVJZX1BBQ0tfS0VZKSkpOwotCQkJCURCVUdfUkVUVVJOKEhBX0FM VEVSX0lOUExBQ0VfU0hBUkVEX0xPQ0spOwotCQkJfQotCQl9Ci0JfQotCi0JLyogQWxsIG90aGVy IG9wZXJhdGlvbnMgKGNyZWF0ZSBpbmRleCwgZHJvcCBpbmRleCwgZXRjLikgY2FuCi0JYmUgcGVy Zm9tZWQgd2l0aG91dCBibG9ja2luZyBvdGhlcnMgaW4gaW5wbGFjZV9hbHRlcl90YWJsZSgpLiAq LwogCURCVUdfUkVUVVJOKEhBX0FMVEVSX0lOUExBQ0VfTk9fTE9DS19BRlRFUl9QUkVQQVJFKTsK IH0KIAoKTm8gYnVuZGxlIChyZWFzb246IHVzZWxlc3MgZm9yIHB1c2ggZW1haWxzKS4=