From: Date: December 19 2008 7:42pm Subject: bzr push into mysql-5.1-bugteam branch (Matthias.Leich:2743 to 2744) List-Archive: http://lists.mysql.com/commits/62154 Message-Id: <20081219184215.6438C2227D@five.local.lan> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDI3NDQgTWF0dGhpYXMgTGVpY2gJMjAwOC0xMi0xOSBbbWVyZ2VdCiAgICAgIE1lcmdlIGludG8g YWN0dWFsIHRyZWUKYWRkZWQ6CiAgbXlzcWwtdGVzdC9yL3F1ZXJ5X2NhY2hlXzI4MjQ5LnJlc3Vs dAogIG15c3FsLXRlc3QvdC9xdWVyeV9jYWNoZV8yODI0OS50ZXN0Cm1vZGlmaWVkOgogIG15c3Fs LXRlc3Qvci9ldmVudHNfc2NoZWR1bGluZy5yZXN1bHQKICBteXNxbC10ZXN0L3IvcXVlcnlfY2Fj aGUucmVzdWx0CiAgbXlzcWwtdGVzdC90L2Rpc2FibGVkLmRlZgogIG15c3FsLXRlc3QvdC9ldmVu dHNfc2NoZWR1bGluZy50ZXN0CiAgbXlzcWwtdGVzdC90L3F1ZXJ5X2NhY2hlLnRlc3QKCiAyNzQz IERhdmkgQXJuYXV0CTIwMDgtMTItMTkgW21lcmdlXQogICAgICBNZXJnZSBiZWZvcmUgcHVzaGlu Zy4KYWRkZWQ6CiAgbXlzcWwtdGVzdC9yL2lubm9kYl9idWczODIzMS5yZXN1bHQKICBteXNxbC10 ZXN0L3IvaW5ub2RiX2J1ZzM5NDM4LnJlc3VsdAogIG15c3FsLXRlc3QvdC9pbm5vZGJfYnVnMzgy MzEudGVzdAogIG15c3FsLXRlc3QvdC9pbm5vZGJfYnVnMzk0MzgtbWFzdGVyLm9wdAogIG15c3Fs LXRlc3QvdC9pbm5vZGJfYnVnMzk0MzgudGVzdAptb2RpZmllZDoKICBteXNxbC10ZXN0L2xpYi9t dHJfcmVwb3J0LnBsCiAgbXlzcWwtdGVzdC9yL2lubm9kYi1hdXRvaW5jLnJlc3VsdAogIG15c3Fs LXRlc3Qvci9pbm5vZGIucmVzdWx0CiAgbXlzcWwtdGVzdC9zdWl0ZS9iaW5sb2cvci9iaW5sb2df aW5ub2RiLnJlc3VsdAogIG15c3FsLXRlc3QvdC9pbm5vZGItYXV0b2luYy50ZXN0CiAgbXlzcWwt dGVzdC90L2lubm9kYi50ZXN0CiAgc3RvcmFnZS9pbm5vYmFzZS9NYWtlZmlsZS5hbQogIHN0b3Jh Z2UvaW5ub2Jhc2UvYnRyL2J0cjBzZWEuYwogIHN0b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1ZjBscnUu YwogIHN0b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGRpY3QuYwogIHN0b3JhZ2UvaW5ub2Jhc2Uv ZGljdC9kaWN0MG1lbS5jCiAgc3RvcmFnZS9pbm5vYmFzZS9oYW5kbGVyL2hhX2lubm9kYi5jYwog IHN0b3JhZ2UvaW5ub2Jhc2UvaGFuZGxlci9oYV9pbm5vZGIuaAogIHN0b3JhZ2UvaW5ub2Jhc2Uv aW5jbHVkZS9idHIwc2VhLmgKICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBkaWN0LmgK ICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBtZW0uaAogIHN0b3JhZ2UvaW5ub2Jhc2Uv aW5jbHVkZS9oYV9wcm90b3R5cGVzLmgKICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvbG9jazBs b2NrLmgKICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcm93MG15c3FsLmgKICBzdG9yYWdlL2lu bm9iYXNlL2luY2x1ZGUvc3luYzBzeW5jLmljCiAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3V0 MHV0LmgKICBzdG9yYWdlL2lubm9iYXNlL2xvY2svbG9jazBsb2NrLmMKICBzdG9yYWdlL2lubm9i YXNlL29zL29zMGZpbGUuYwogIHN0b3JhZ2UvaW5ub2Jhc2UvcGx1Zy5pbgogIHN0b3JhZ2UvaW5u b2Jhc2Uvcm93L3JvdzBteXNxbC5jCiAgc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHNlbC5jCiAg c3RvcmFnZS9pbm5vYmFzZS9zcnYvc3J2MHNydi5jCiAgc3RvcmFnZS9pbm5vYmFzZS9zcnYvc3J2 MHN0YXJ0LmMKICBzdG9yYWdlL2lubm9iYXNlL3V0L3V0MHV0LmMKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3IvZXZlbnRzX3NjaGVkdWxpbmcucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0 L3IvZXZlbnRzX3NjaGVkdWxpbmcucmVzdWx0CTIwMDgtMTEtMjEgMjE6Mjg6MjMgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9yL2V2ZW50c19zY2hlZHVsaW5nLnJlc3VsdAkyMDA4LTEyLTE2IDE4OjA5 OjA5ICswMDAwCkBAIC02MiwxOCArNjIsNiBAQCBDUkVBVEUgRVZFTlQgZXZlbnRfNCBPTiBTQ0hF RFVMRSBFVkVSWSAxCiBPTiBDT01QTEVUSU9OIFBSRVNFUlZFCiBETwogSU5TRVJUIElOVE8gdGFi bGVfNCBWQUxVRVMgKDEpOwotU0VMRUNUIElGKFNVTShhKSA+PSA0LCAnT0snLCAnRVJST1InKSBG Uk9NIHRhYmxlXzE7Ci1JRihTVU0oYSkgPj0gNCwgJ09LJywgJ0VSUk9SJykKLU9LCi1TRUxFQ1Qg SUYoU1VNKGEpID49IDQsICdPSycsICdFUlJPUicpIEZST00gdGFibGVfMjsKLUlGKFNVTShhKSA+ PSA0LCAnT0snLCAnRVJST1InKQotT0sKLVNFTEVDVCBJRihTVU0oYSkgPj0gMSwgJ09LJywgJ0VS Uk9SJykgRlJPTSB0YWJsZV8zOwotSUYoU1VNKGEpID49IDEsICdPSycsICdFUlJPUicpCi1PSwot U0VMRUNUIElGKFNVTShhKSA+PSAxLCAnT0snLCAnRVJST1InKSBGUk9NIHRhYmxlXzQ7Ci1JRihT VU0oYSkgPj0gMSwgJ09LJywgJ0VSUk9SJykKLU9LCiBTRUxFQ1QgSUYoVElNRV9UT19TRUMoVElN RURJRkYoRU5EUyxTVEFSVFMpKT02LCAnT0snLCAnRVJST1InKQogRlJPTSBJTkZPUk1BVElPTl9T Q0hFTUEuRVZFTlRTCiBXSEVSRSBFVkVOVF9TQ0hFTUE9REFUQUJBU0UoKSBBTkQgRVZFTlRfTkFN RT0nZXZlbnRfMic7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL3F1ZXJ5X2NhY2hl LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3F1ZXJ5X2NhY2hlLnJlc3VsdAkyMDA4LTA3LTI0 IDEzOjQxOjU1ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9xdWVyeV9jYWNoZS5yZXN1bHQJMjAw OC0xMS0yOCAxNTo0NTozNCArMDAwMApAQCAtMTExNiwxMiArMTExNiwxMyBAQCBjcmVhdGUgcHJv Y2VkdXJlIGBwMWAoKQogYmVnaW4KIHNlbGVjdCBhLCBmMSgpIGZyb20gdDE7CiBlbmQvLworU0VU IEBsb2dfYmluX3RydXN0X2Z1bmN0aW9uX2NyZWF0b3JzID0gQEBnbG9iYWwubG9nX2Jpbl90cnVz dF9mdW5jdGlvbl9jcmVhdG9yczsKIFNFVCBHTE9CQUwgbG9nX2Jpbl90cnVzdF9mdW5jdGlvbl9j cmVhdG9ycyA9IDE7CiBjYWxsIHAxKCkvLwogYQlmMSgpCiAxCTIKIDIJMgotU0VUIEdMT0JBTCBs b2dfYmluX3RydXN0X2Z1bmN0aW9uX2NyZWF0b3JzID0gMDsKK1NFVCBHTE9CQUwgbG9nX2Jpbl90 cnVzdF9mdW5jdGlvbl9jcmVhdG9ycyA9IEBsb2dfYmluX3RydXN0X2Z1bmN0aW9uX2NyZWF0b3Jz OwogZHJvcCBwcm9jZWR1cmUgcDEvLwogZHJvcCBmdW5jdGlvbiBmMS8vCiBkcm9wIHRhYmxlIHQx Ly8KQEAgLTE2MTUsNDEgKzE2MTYsNiBAQCBpZAogRFJPUCBQUk9DRURVUkUgcHJvYzI5ODU2Owog RFJPUCBUQUJMRSB0MTsKIFNFVCBHTE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0gZGVmYXVsdDsKLUJ1 ZyMyODI0OSBRdWVyeSBDYWNoZSByZXR1cm5zIHdyb25nIHJlc3VsdCB3aXRoIGNvbmN1cnJlbnQg aW5zZXJ0LyBjZXJ0YWluIGxvY2sKLXNldCBHTE9CQUwgcXVlcnlfY2FjaGVfdHlwZT0xOwotc2V0 IEdMT0JBTCBxdWVyeV9jYWNoZV9saW1pdD0xMDAwMDsKLXNldCBHTE9CQUwgcXVlcnlfY2FjaGVf bWluX3Jlc191bml0PTA7Ci1zZXQgR0xPQkFMIHF1ZXJ5X2NhY2hlX3NpemU9IDEwMDAwMDsKLWZs dXNoIHRhYmxlczsKLWRyb3AgdGFibGUgaWYgZXhpc3RzIHQxLCB0MjsKLWNyZWF0ZSB0YWJsZSB0 MSAoYSBpbnQpOwotY3JlYXRlIHRhYmxlIHQyIChhIGludCk7Ci1pbnNlcnQgaW50byB0MSB2YWx1 ZXMgKDEpLCgyKSwoMyk7Ci1Mb2NraW5nIHRhYmxlIFQyIHdpdGggYSB3cml0ZSBsb2NrLgotbG9j ayB0YWJsZSB0MiB3cml0ZTsKLVNlbGVjdCBibG9ja2VkIGJ5IHdyaXRlIGxvY2suCi1zZWxlY3Qg KiwgKHNlbGVjdCBjb3VudCgqKSBmcm9tIHQyKSBmcm9tIHQxOzsKLVNsZWVpbmcgaXMgb2ssIGJl Y2F1c2Ugc2VsZWN0aW5nIHNob3VsZCBiZSBkb25lIHZlcnkgZmFzdC4KLUluc2VydGluZyBpbnRv IHRhYmxlIFQxLgotaW5zZXJ0IGludG8gdDEgdmFsdWVzICg0KTsKLVVubG9ja2luZyB0aGUgdGFi bGVzLgotdW5sb2NrIHRhYmxlczsKLUNvbGxlY3RpbmcgcmVzdWx0IGZyb20gcHJldmlvdXNseSBi bG9ja2VkIHNlbGVjdC4KLU5leHQgc2VsZWN0IHNob3VsZCBjb250YWluIDQgcm93cywgYXMgdGhl IGluc2VydCBpcyBsb25nIGZpbmlzaGVkLgotc2VsZWN0ICosIChzZWxlY3QgY291bnQoKikgZnJv bSB0MikgZnJvbSB0MTsKLWEJKHNlbGVjdCBjb3VudCgqKSBmcm9tIHQyKQotMQkwCi0yCTAKLTMJ MAotNAkwCi1yZXNldCBxdWVyeSBjYWNoZTsKLXNlbGVjdCAqLCAoc2VsZWN0IGNvdW50KCopIGZy b20gdDIpIGZyb20gdDE7Ci1hCShzZWxlY3QgY291bnQoKikgZnJvbSB0MikKLTEJMAotMgkwCi0z CTAKLTQJMAotZHJvcCB0YWJsZSB0MSx0MjsKICMKICMgQnVnIzI1MTMyIGRpc2FibGVkIHF1ZXJ5 IGNhY2hlOiBRY2FjaGVfZnJlZV9ibG9ja3MgPSAxCiAjCgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwt dGVzdC9yL3F1ZXJ5X2NhY2hlXzI4MjQ5LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3F1ZXJ5 X2NhY2hlXzI4MjQ5LnJlc3VsdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3Fs LXRlc3Qvci9xdWVyeV9jYWNoZV8yODI0OS5yZXN1bHQJMjAwOC0xMS0yOCAxNTo0NTozNCArMDAw MApAQCAtMCwwICsxLDYyIEBACitTRVQgQHF1ZXJ5X2NhY2hlX3R5cGU9ICAgICAgICAgQEBnbG9i YWwucXVlcnlfY2FjaGVfdHlwZTsKK1NFVCBAcXVlcnlfY2FjaGVfbGltaXQ9ICAgICAgICBAQGds b2JhbC5xdWVyeV9jYWNoZV9saW1pdDsKK1NFVCBAcXVlcnlfY2FjaGVfbWluX3Jlc191bml0PSBA QGdsb2JhbC5xdWVyeV9jYWNoZV9taW5fcmVzX3VuaXQ7CitTRVQgQHF1ZXJ5X2NhY2hlX3NpemU9 ICAgICAgICAgQEBnbG9iYWwucXVlcnlfY2FjaGVfc2l6ZTsKKyMgQnVnIzI4MjQ5IFF1ZXJ5IENh Y2hlIHJldHVybnMgd3JvbmcgcmVzdWx0IHdpdGggY29uY3VycmVudCBpbnNlcnQvIGNlcnRhaW4g bG9jaworIyBFc3RhYmxpc2ggY29ubmVjdGlvbnMgdXNlcjEsdXNlcjIsdXNlcjMgKHVzZXI9cm9v dCkKKyMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gdXNlcjEKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVf dHlwZT0xOworU0VUIEdMT0JBTCBxdWVyeV9jYWNoZV9saW1pdD0xMDAwMDsKK1NFVCBHTE9CQUwg cXVlcnlfY2FjaGVfbWluX3Jlc191bml0PTA7CitTRVQgR0xPQkFMIHF1ZXJ5X2NhY2hlX3NpemU9 IDEwMDAwMDsKK0ZMVVNIIFRBQkxFUzsKK0RST1AgVEFCTEUgSUYgRVhJU1RTIHQxLCB0MjsKK0NS RUFURSBUQUJMRSB0MSAoYSBJTlQpOworQ1JFQVRFIFRBQkxFIHQyIChhIElOVCk7CitJTlNFUlQg SU5UTyB0MSBWQUxVRVMgKDEpLCgyKSwoMyk7CisjIFN3aXRjaCB0byBjb25uZWN0aW9uIHVzZXIy CitMT0NLIFRBQkxFIHQyIFdSSVRFOworIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2VyMQorIyAi c2VuZCIgdGhlIG5leHQgc2VsZWN0LCAicmVhcCIgdGhlIHJlc3VsdCBsYXRlci4KKyMgVGhlIHNl bGVjdCB3aWxsIGJlIGJsb2NrZWQgYnkgdGhlIHdyaXRlIGxvY2sgb24gdGhlIHQxLgorU0VMRUNU ICosIChTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MikgRlJPTSB0MTsKKyMgU3dpdGNoIHRvIGNvbm5l Y3Rpb24gdXNlcjMKKyMgUG9sbCB0aWxsIHRoZSBzZWxlY3Qgb2YgY29ubmVjdGlvbiB1c2VyMSBp cyBibG9ja2VkIGJ5IHRoZSB3cml0ZSBsb2NrIG9uIHQxLgorU0VMRUNUIHVzZXIsY29tbWFuZCxz dGF0ZSxpbmZvIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnByb2Nlc3NsaXN0CitXSEVSRSBzdGF0 ZSA9ICdMb2NrZWQnCisgIEFORCBpbmZvID0gJ1NFTEVDVCAqLCAoU0VMRUNUIENPVU5UKCopIEZS T00gdDIpIEZST00gdDEnOwordXNlcgljb21tYW5kCXN0YXRlCWluZm8KK3Jvb3QJUXVlcnkJTG9j a2VkCVNFTEVDVCAqLCAoU0VMRUNUIENPVU5UKCopIEZST00gdDIpIEZST00gdDEKK0lOU0VSVCBJ TlRPIHQxIFZBTFVFUyAoNCk7CisjIFN3aXRjaCB0byBjb25uZWN0aW9uIHVzZXIyCitVTkxPQ0sg VEFCTEVTOworIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2VyMQorIyBDb2xsZWN0aW5nICgicmVh cCIpIHRoZSByZXN1bHQgZnJvbSB0aGUgcHJldmlvdXNseSBibG9ja2VkIHNlbGVjdC4KKyMgVGhl IHByaW50aW5nIG9mIHRoZSByZXN1bHQgKHZhcmllcyBiZXR3ZWVuIDMgYW5kIDQgcm93cykgc2V0 IGhhcyB0byBiZSBzdXBwcmVzc2VkLgorIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2VyMworIyBU aGUgbmV4dCBzZWxlY3QgZW5mb3JjZXMgdGhhdCBlZmZlY3RzIG9mICJjb25jdXJyZW50X2luc2Vy dHMiIGxpa2UgdGhlCisjIHJlY29yZCB3aXRoIGEgPSA0IGlzIG1pc3NpbmcgaW4gcmVzdWx0IHNl dHMgY2FuIG5vIG1vcmUgaGFwcGVuLgorU0VMRUNUIDEgRlJPTSB0MSBXSEVSRSBhID0gNDsKKzEK KzEKKyMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gdXNlcjEKKyMgVGhlIG5leHQgcmVzdWx0IHNldCBt dXN0IGNvbnRhaW4gNCByb3dzLgorU0VMRUNUICosIChTRUxFQ1QgQ09VTlQoKikgRlJPTSB0Mikg RlJPTSB0MTsKK2EJKFNFTEVDVCBDT1VOVCgqKSBGUk9NIHQyKQorMQkwCisyCTAKKzMJMAorNAkw CitSRVNFVCBRVUVSWSBDQUNIRTsKK1NFTEVDVCAqLCAoU0VMRUNUIENPVU5UKCopIEZST00gdDIp IEZST00gdDE7CithCShTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MikKKzEJMAorMgkwCiszCTAKKzQJ MAorRFJPUCBUQUJMRSB0MSx0MjsKKyMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gZGVmYXVsdCArIGNs b3NlIGNvbm5lY3Rpb25zIHVzZXIxLHVzZXIyLHVzZXIzCitTRVQgR0xPQkFMIHF1ZXJ5X2NhY2hl X3R5cGU9ICAgICAgICAgQHF1ZXJ5X2NhY2hlX3R5cGU7CitTRVQgR0xPQkFMIHF1ZXJ5X2NhY2hl X2xpbWl0PSAgICAgICAgQHF1ZXJ5X2NhY2hlX2xpbWl0OworU0VUIEdMT0JBTCBxdWVyeV9jYWNo ZV9taW5fcmVzX3VuaXQ9IEBxdWVyeV9jYWNoZV9taW5fcmVzX3VuaXQ7CitTRVQgR0xPQkFMIHF1 ZXJ5X2NhY2hlX3NpemU9ICAgICAgICAgQHF1ZXJ5X2NhY2hlX3NpemU7Cgo9PT0gbW9kaWZpZWQg ZmlsZSAnbXlzcWwtdGVzdC90L2Rpc2FibGVkLmRlZicKLS0tIGEvbXlzcWwtdGVzdC90L2Rpc2Fi bGVkLmRlZgkyMDA4LTEyLTA5IDE2OjM0OjMxICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9kaXNh YmxlZC5kZWYJMjAwOC0xMi0xOCAxODoyODo0NCArMDAwMApAQCAtMTIsNCArMTIsNSBAQAogZmVk ZXJhdGVkX3RyYW5zYWN0aW9ucyAgIDogQnVnIzI5NTIzIFRyYW5zYWN0aW9ucyBkbyBub3Qgd29y awogc2xvd19xdWVyeV9sb2dfZnVuYyAgICAgIDogQnVnICMzNzk2MjogKl9mdW5jIHRlc3RzIGNv bnRhaW5pbmcgc2xlZXBzL3JhY2UgY29uZGl0aW9ucwogd2FpdF90aW1lb3V0X2Z1bmMgICAgOiBC dWcgIzQxMjI1IGpvcm8gd2FpdF90aW1lb3V0X2Z1bmMgZmFpbHMKLWtpbGwgICAgICAgICAgICAg ICAgICAgICA6IEJ1ZyMzNzc4MCAyMDA4LTEyLTAzIEhIdW5nZXIgbmVlZCBzb21lIGNoYW5nZXMg dG8gYmUgcm9idXN0IGVub2l1Z2ggZm9yIHB1c2hidWlsZC4gCitraWxsICAgICAgICAgICAgICAg ICAgICAgOiBCdWcjMzc3ODAgMjAwOC0xMi0wMyBISHVuZ2VyIG5lZWQgc29tZSBjaGFuZ2VzIHRv IGJlIHJvYnVzdCBlbm91Z2ggZm9yIHB1c2hidWlsZC4KK3F1ZXJ5X2NhY2hlXzI4MjQ5ICAgICAg ICA6IEJ1ZyM0MTA5OCBRdWVyeSBDYWNoZSByZXR1cm5zIHdyb25nIHJlc3VsdCB3aXRoIGNvbmN1 cnJlbnQgaW5zZXJ0Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L2V2ZW50c19zY2hl ZHVsaW5nLnRlc3QnCi0tLSBhL215c3FsLXRlc3QvdC9ldmVudHNfc2NoZWR1bGluZy50ZXN0CTIw MDgtMTEtMjEgMjE6Mjg6MjMgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L2V2ZW50c19zY2hlZHVs aW5nLnRlc3QJMjAwOC0xMi0xNiAxODowOTowOSArMDAwMApAQCAtNTgsOCArNTgsNiBAQCBPTiBD T01QTEVUSU9OIFBSRVNFUlZFCiBETwogICBJTlNFUlQgSU5UTyB0YWJsZV80IFZBTFVFUyAoMSk7 CiAKLSMgV2FpdCBmb3IgdGhlIGV2ZW50cyB0byBmaXJlIGFuZCBjaGVjayB0aGUgZGF0YSBhZnRl cndhcmRzCi0KICMgTGV0IGV2ZW50XzEgaW5zZXJ0IGF0IGxlYXN0IDQgcmVjb3JkcyBpbnRvIHRo ZSB0YWJsZQogbGV0ICR3YWl0X2NvbmRpdGlvbj1zZWxlY3QgY291bnQoKikgPj0gNCBmcm9tIHRh YmxlXzE7CiAtLXNvdXJjZSBpbmNsdWRlL3dhaXRfY29uZGl0aW9uLmluYwpAQCAtODUsMjUgKzgz LDEzIEBAIGxldCAkd2FpdF9jb25kaXRpb249c2VsZWN0IGNvdW50KCopID0gMAogd2hlcmUgZXZl bnRfbmFtZT0nZXZlbnRfNCcgYW5kIHN0YXR1cz0nZW5hYmxlZCc7CiAtLXNvdXJjZSBpbmNsdWRl L3dhaXRfY29uZGl0aW9uLmluYwogCi1sZXQgJHdhaXRfY29uZGl0aW9uPVNFTEVDVCBTVU0oYSkg Pj0gNCBGUk9NIHRhYmxlXzE7Ci1zb3VyY2UgaW5jbHVkZS93YWl0X2NvbmRpdGlvbi5pbmM7Ci1T RUxFQ1QgSUYoU1VNKGEpID49IDQsICdPSycsICdFUlJPUicpIEZST00gdGFibGVfMTsKLQotIyBJ biBjYXNlIG9mIGEgdGVzdGluZyBib3ggdW5kZXIgaGVhdnkgbG9hZCBpdCBjYW5ub3QgYmUgZ3Vh cmFudGVlZCB0aGF0Ci0jIGl0IGlzIHJlYWxseSBvZnRlbiBlbm91Z2ggY2hlY2tlZCBpZiBldmVu dF8yIGhhcyB0byBiZSBleGVjdXRlZC4KLSMgLT4gQnVnIzM5ODU0IGV2ZW50c19zY2hlZHVsaW5n IGZhaWxzIHNwb3JhZGljYWxseSBvbiBwdXNoYnVpbGQKLSMgVGhlcmVmb3JlIHdlIGxvd2VyZWQg aGVyZSB0aGUgb3JpZ2luYWwgZXhwZWN0YXRpb24gb2YgNSB0byA0LgotbGV0ICR3YWl0X2NvbmRp dGlvbj1TRUxFQ1QgU1VNKGEpID49IDQgRlJPTSB0YWJsZV8yOwotc291cmNlIGluY2x1ZGUvd2Fp dF9jb25kaXRpb24uaW5jOwotU0VMRUNUIElGKFNVTShhKSA+PSA0LCAnT0snLCAnRVJST1InKSBG Uk9NIHRhYmxlXzI7Ci0KLWxldCAkd2FpdF9jb25kaXRpb249U0VMRUNUIFNVTShhKSA+PSAxIEZS T00gdGFibGVfMzsKLXNvdXJjZSBpbmNsdWRlL3dhaXRfY29uZGl0aW9uLmluYzsKLVNFTEVDVCBJ RihTVU0oYSkgPj0gMSwgJ09LJywgJ0VSUk9SJykgRlJPTSB0YWJsZV8zOwotCi1sZXQgJHdhaXRf Y29uZGl0aW9uPVNFTEVDVCBTVU0oYSkgPj0gMSBGUk9NIHRhYmxlXzQ7Ci1zb3VyY2UgaW5jbHVk ZS93YWl0X2NvbmRpdGlvbi5pbmM7Ci1TRUxFQ1QgSUYoU1VNKGEpID49IDEsICdPSycsICdFUlJP UicpIEZST00gdGFibGVfNDsKKyMKKyMgT24gYSBidXN5IHN5c3RlbSB0aGUgc2NoZWR1bGVyIG1h eSBza2lwIGV4ZWN1dGlvbiBvZiBldmVudHMsCisjIHdlIGNhbid0IHJlbGlhYmx5IGV4cGVjdCB0 aGF0IHRoZSBkYXRhIGluIGEgdGFibGUgdG8gYmUgbW9kaWZpZWQKKyMgYnkgYW4gZXZlbnQgd2ls bCBiZSBleGFjdC4gVGh1cyB3ZSBkbyBub3QgU0VMRUNUIGZyb20gdGhlIHRhYmxlcworIyBpbiB0 aGlzIHRlc3QuIFNlZSBhbHNvCisjICAgIEJ1ZyMzOTg1NCBldmVudHNfc2NoZWR1bGluZyBmYWls cyBzcG9yYWRpY2FsbHkgb24gcHVzaGJ1aWxkCisjCiAKIFNFTEVDVCBJRihUSU1FX1RPX1NFQyhU SU1FRElGRihFTkRTLFNUQVJUUykpPTYsICdPSycsICdFUlJPUicpCiBGUk9NIElORk9STUFUSU9O X1NDSEVNQS5FVkVOVFMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvcXVlcnlfY2Fj aGUudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L3F1ZXJ5X2NhY2hlLnRlc3QJMjAwOC0wMy0yNiAx NjozNjoxMiArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvcXVlcnlfY2FjaGUudGVzdAkyMDA4LTEy LTE4IDE4OjI4OjQ0ICswMDAwCkBAIC0zMDAsNyArMzAwLDcgQEAgc2VsZWN0ICogZnJvbSB0MTsK IHNlbGVjdCAqIGZyb20gdDE7CiBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVfcXVlcmllc19pbl9j YWNoZSI7CiBpbnNlcnQgZGVsYXllZCBpbnRvIHQxIHZhbHVlcyAoNCk7Ci0tLXNsZWVwIDUJIyBX YWl0IGZvciBpbnNlcnQgZGVsYXllZCB0byBiZSBleGVjdXRlZC4KKy0tc2xlZXAgNSAgICAgIyBX YWl0IGZvciBpbnNlcnQgZGVsYXllZCB0byBiZSBleGVjdXRlZC4KIHNlbGVjdCBhIGZyb20gdDE7 CiBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVfcXVlcmllc19pbl9jYWNoZSI7CiBkcm9wIHRhYmxl IHQxOwpAQCAtNDEwLDEwICs0MTAsMTAgQEAgY3JlYXRlIHRhYmxlIHQxKGlkIGludCBhdXRvX2lu Y3JlbWVudCBwcgogaW5zZXJ0IGludG8gdDEgdmFsdWVzIChOVUxMKSwgKE5VTEwpLCAoTlVMTCk7 CiBzZWxlY3QgKiBmcm9tIHQxIHdoZXJlIGlkPTI7CiBhbHRlciB0YWJsZSB0MSByZW5hbWUgdG8g dDI7Ci0tLSBlcnJvciAxMTQ2CistLWVycm9yIEVSX05PX1NVQ0hfVEFCTEUKIHNlbGVjdCAqIGZy b20gdDEgd2hlcmUgaWQ9MjsKIGRyb3AgdGFibGUgdDI7Ci0tLSBlcnJvciAxMTQ2CistLWVycm9y IEVSX05PX1NVQ0hfVEFCTEUKIHNlbGVjdCAqIGZyb20gdDEgd2hlcmUgaWQ9MjsKIAogIwpAQCAt NDM1LDExICs0MzUsMTQgQEAgY3JlYXRlIHRhYmxlIHQxIChhIGludCk7CiBpbnNlcnQgaW50byB0 MSB2YWx1ZXMgKDEpLCgyKSwoMyk7CiBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVfcXVlcmllc19p bl9jYWNoZSI7CiBzZWxlY3QgKiBmcm9tIHQxIGludG8gb3V0ZmlsZSAicXVlcnlfY2FjaGUub3V0 LmZpbGUiOwotLS1lcnJvciAxMDg2CistLWVycm9yIEVSX0ZJTEVfRVhJU1RTX0VSUk9SCiBzZWxl Y3QgKiBmcm9tIHQxIGludG8gb3V0ZmlsZSAicXVlcnlfY2FjaGUub3V0LmZpbGUiOwogc2VsZWN0 ICogZnJvbSB0MSBsaW1pdCAxIGludG8gZHVtcGZpbGUgInF1ZXJ5X2NhY2hlLmR1bXAuZmlsZSI7 CiBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVfcXVlcmllc19pbl9jYWNoZSI7CiBkcm9wIHRhYmxl IHQxOworbGV0ICRkYXRhZGlyPWBzZWxlY3QgQEBkYXRhZGlyYDsKKy0tcmVtb3ZlX2ZpbGUgJGRh dGFkaXIvdGVzdC9xdWVyeV9jYWNoZS5kdW1wLmZpbGUKKy0tcmVtb3ZlX2ZpbGUgJGRhdGFkaXIv dGVzdC9xdWVyeV9jYWNoZS5vdXQuZmlsZQogCiAjCiAjIHRlc3Qgb2YgU1FMX1NFTEVDVF9MSU1J VApAQCAtNTM3LDcgKzU0MCw3IEBAIGRyb3AgdGFibGUgdDE7CiAjIElmIGF0IGxlYXN0IG9uZSBv ZiB0aGUgYWJvdmUgdmFyaWFibGVzIGhhcyBjaGFuZ2VkLAogIyB0aGUgY2FjaGVkIHF1ZXJ5IGNh bid0IGJlIHJldXNlZC4gSW4gdGhlIGJlbG93IHRlc3QKICMgYWJzb2x1dGVseSB0aGUgc2FtZSBx dWVyeSBpcyB1c2VkIHNldmVyYWwgdGltZXMsCi0jIFNFTEVDVCBzaG91bGQgZmV0Y2ggZGlmZmVy ZW50IHJlc3VsdHMgZm9yIGV2ZXJ5IGluc3RhbmNlLiAKKyMgU0VMRUNUIHNob3VsZCBmZXRjaCBk aWZmZXJlbnQgcmVzdWx0cyBmb3IgZXZlcnkgaW5zdGFuY2UuCiAjIE5vIGhpdHMgc2hvdWxkIGJl IHByb2R1Y2VkLgogIyBOZXcgY2FjaGUgZW50cnkgc2hvdWxkIGFwcGVhciBmb3IgZXZlcnkgU0VM RUNULgogIwpAQCAtNTU0LDIxICs1NTcsMjEgQEAgc2hvdyBzdGF0dXMgbGlrZSAiUWNhY2hlX3F1 ZXJpZXNfaW5fY2FjaAogIyBDaGFuZ2UgY29sbGF0aW9uX2Nvbm5lY3Rpb24gYW5kIHJ1biB0aGUg c2FtZSBxdWVyeSBhZ2FpbgogIwogc2V0IGNvbGxhdGlvbl9jb25uZWN0aW9uPWtvaThyX2JpbjsK LVNFTEVDVCBhLCfvv70sJ++/vSfvv70gRlJPTSB0MTsgCitTRUxFQ1QgYSwn77+9LCfvv70n77+9 IEZST00gdDE7CiBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVfaGl0cyI7CiBzaG93IHN0YXR1cyBs aWtlICJRY2FjaGVfcXVlcmllc19pbl9jYWNoZSI7CiAjCiAjIE5vdyBjaGFuZ2UgY2hhcmFjdGVy X3NldF9jbGllbnQgYW5kIHJ1biB0aGUgc2FtZSBxdWVyeSBhZ2FpbgogIwogc2V0IGNoYXJhY3Rl cl9zZXRfY2xpZW50PWNwMTI1MTsKLVNFTEVDVCBhLCfvv70sJ++/vSfvv70gRlJPTSB0MTsgCitT RUxFQ1QgYSwn77+9LCfvv70n77+9IEZST00gdDE7CiBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVf aGl0cyI7CiBzaG93IHN0YXR1cyBsaWtlICJRY2FjaGVfcXVlcmllc19pbl9jYWNoZSI7CiAjCiAj IEFuZCBmaW5hbGx5IGNoYW5nZSBjaGFyYWN0ZXJfc2V0X3Jlc3VsdHMgYW5kIHJ1biB0aGUgc2Ft ZSBxdWVyeSBhZ2FpbgogIwogc2V0IGNoYXJhY3Rlcl9zZXRfcmVzdWx0cz1jcDEyNTE7Ci1TRUxF Q1QgYSwn77+9LCfvv70n77+9IEZST00gdDE7IAorU0VMRUNUIGEsJ++/vSwn77+9J++/vSBGUk9N IHQxOwogc2hvdyBzdGF0dXMgbGlrZSAiUWNhY2hlX2hpdHMiOwogc2hvdyBzdGF0dXMgbGlrZSAi UWNhY2hlX3F1ZXJpZXNfaW5fY2FjaGUiOwogU0VUIE5BTUVTIGRlZmF1bHQ7CkBAIC02MDIsMTIg KzYwNSwxMiBAQCBpbnNlcnQgaW50byB0MSBzZXQgYyA9IHJlcGVhdCgneCcsMjQpOwogaW5zZXJ0 IGludG8gdDEgc2V0IGMgPSBjb25jYXQocmVwZWF0KCd4JywyNCksJ3gnKTsKIGluc2VydCBpbnRv IHQxIHNldCBjID0gY29uY2F0KHJlcGVhdCgneCcsMjQpLCd3Jyk7CiBpbnNlcnQgaW50byB0MSBz ZXQgYyA9IGNvbmNhdChyZXBlYXQoJ3gnLDI0KSwneScpOwotc2V0IG1heF9zb3J0X2xlbmd0aD0y MDA7ICAgCitzZXQgbWF4X3NvcnRfbGVuZ3RoPTIwMDsKIHNlbGVjdCBjIGZyb20gdDEgb3JkZXIg YnkgYywgaWQ7CiByZXNldCBxdWVyeSBjYWNoZTsKIHNldCBtYXhfc29ydF9sZW5ndGg9MjA7CiBz ZWxlY3QgYyBmcm9tIHQxIG9yZGVyIGJ5IGMsIGlkOwotc2V0IG1heF9zb3J0X2xlbmd0aD0yMDA7 ICAgCitzZXQgbWF4X3NvcnRfbGVuZ3RoPTIwMDsKIHNlbGVjdCBjIGZyb20gdDEgb3JkZXIgYnkg YywgaWQ7CiBzZXQgbWF4X3NvcnRfbGVuZ3RoPWRlZmF1bHQ7CiAjIHNxbF9tb2RlCkBAIC04MDEs OSArODA0LDEwIEBAIGNyZWF0ZSBwcm9jZWR1cmUgYHAxYCgpCiBiZWdpbgogIHNlbGVjdCBhLCBm MSgpIGZyb20gdDE7CiBlbmQvLworU0VUIEBsb2dfYmluX3RydXN0X2Z1bmN0aW9uX2NyZWF0b3Jz ID0gQEBnbG9iYWwubG9nX2Jpbl90cnVzdF9mdW5jdGlvbl9jcmVhdG9yczsKIFNFVCBHTE9CQUwg bG9nX2Jpbl90cnVzdF9mdW5jdGlvbl9jcmVhdG9ycyA9IDE7CiBjYWxsIHAxKCkvLwotU0VUIEdM T0JBTCBsb2dfYmluX3RydXN0X2Z1bmN0aW9uX2NyZWF0b3JzID0gMDsKK1NFVCBHTE9CQUwgbG9n X2Jpbl90cnVzdF9mdW5jdGlvbl9jcmVhdG9ycyA9IEBsb2dfYmluX3RydXN0X2Z1bmN0aW9uX2Ny ZWF0b3JzOwogZHJvcCBwcm9jZWR1cmUgcDEvLwogZHJvcCBmdW5jdGlvbiBmMS8vCiAKQEAgLTEw MTYsNyArMTAyMCw3IEBAIHNldCBHTE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0gZGVmYXVsdDsKIAog CiAjCi0jIEJ1ZyAjMjg4OTcgIAlVVUlEKCkgcmV0dXJucyBub24tdW5pcXVlIHZhbHVlcyB3aGVu IHF1ZXJ5IGNhY2hlIGlzIGVuYWJsZWQKKyMgQnVnIzI4ODk3IFVVSUQoKSByZXR1cm5zIG5vbi11 bmlxdWUgdmFsdWVzIHdoZW4gcXVlcnkgY2FjaGUgaXMgZW5hYmxlZAogIwogCiBzZXQgR0xPQkFM IHF1ZXJ5X2NhY2hlX3NpemU9MTAwMDAwMDsKQEAgLTEwMjUsNyArMTAyOSw3IEBAIGNyZWF0ZSB0 YWJsZSB0MSAoYSBjaGFyKTsKIGluc2VydCBpbnRvIHQxIHZhbHVlcyAoJ2MnKTsKIAogbGV0ICRx MT0gYHNlbGVjdCBVVUlEKCksIGEgZnJvbSB0MWA7Ci1sZXQgJHEyPSBgc2VsZWN0IFVVSUQoKSwg YSBmcm9tIHQxYDsgCitsZXQgJHEyPSBgc2VsZWN0IFVVSUQoKSwgYSBmcm9tIHQxYDsKIAogIyBk aXNhYmxpbmcgdGhlIGxvZ2dpbmcgb2YgdGhlIHF1ZXJ5IGJlY2F1c2UgdGhlIFVVSURzIGFyZSBk aWZmZXJlbnQgZWFjaCBydW4uCiAtLWRpc2FibGVfcXVlcnlfbG9nCkBAIC0xMDQ2LDcgKzEwNTAs NyBAQCBjcmVhdGUgdGFibGUgdDEgKGEgY2hhcik7CiBpbnNlcnQgaW50byB0MSB2YWx1ZXMgKCdj Jyk7CiAKIGxldCAkcTE9IGBzZWxlY3QgUkFORCgpIGZyb20gdDEgdW5pb24gc2VsZWN0IHNxbF9j YWNoZSAxIGZyb20gdDE7YDsKLWxldCAkcTI9IGBzZWxlY3QgUkFORCgpIGZyb20gdDEgdW5pb24g c2VsZWN0IHNxbF9jYWNoZSAxIGZyb20gdDE7YDsgCitsZXQgJHEyPSBgc2VsZWN0IFJBTkQoKSBm cm9tIHQxIHVuaW9uIHNlbGVjdCBzcWxfY2FjaGUgMSBmcm9tIHQxO2A7CiAKICMgZGlzYWJsaW5n IHRoZSBsb2dnaW5nIG9mIHRoZSBxdWVyeSBiZWNhdXNlIHRoZSB0aW1lcyBhcmUgZGlmZmVyZW50 IGVhY2ggcnVuLgogLS1kaXNhYmxlX3F1ZXJ5X2xvZwpAQCAtMTE4Miw3NSArMTE4Niw2IEBAIERS T1AgVEFCTEUgdDE7CiBTRVQgR0xPQkFMIHF1ZXJ5X2NhY2hlX3NpemU9IGRlZmF1bHQ7CiAKICMK LSMgQnVnICMyODI0OSBRdWVyeSBDYWNoZSByZXR1cm5zIHdyb25nIHJlc3VsdCB3aXRoIGNvbmN1 cnJlbnQgaW5zZXJ0IC8gY2VydGFpbiBsb2NrCi0jCi0tLWVjaG8gQnVnIzI4MjQ5IFF1ZXJ5IENh Y2hlIHJldHVybnMgd3JvbmcgcmVzdWx0IHdpdGggY29uY3VycmVudCBpbnNlcnQvIGNlcnRhaW4g bG9jawotY29ubmVjdCAodXNlcjEsbG9jYWxob3N0LHJvb3QsLHRlc3QsLCk7Ci1jb25uZWN0ICh1 c2VyMixsb2NhbGhvc3Qscm9vdCwsdGVzdCwsKTsKLWNvbm5lY3QgKHVzZXIzLGxvY2FsaG9zdCxy b290LCx0ZXN0LCwpOwotCi1jb25uZWN0aW9uIHVzZXIxOwotCi1zZXQgR0xPQkFMIHF1ZXJ5X2Nh Y2hlX3R5cGU9MTsKLXNldCBHTE9CQUwgcXVlcnlfY2FjaGVfbGltaXQ9MTAwMDA7Ci1zZXQgR0xP QkFMIHF1ZXJ5X2NhY2hlX21pbl9yZXNfdW5pdD0wOwotc2V0IEdMT0JBTCBxdWVyeV9jYWNoZV9z aXplPSAxMDAwMDA7Ci0KLWZsdXNoIHRhYmxlczsKLS0tZGlzYWJsZV93YXJuaW5ncwotZHJvcCB0 YWJsZSBpZiBleGlzdHMgdDEsIHQyOwotLS1lbmFibGVfd2FybmluZ3MKLWNyZWF0ZSB0YWJsZSB0 MSAoYSBpbnQpOwotY3JlYXRlIHRhYmxlIHQyIChhIGludCk7Ci1pbnNlcnQgaW50byB0MSB2YWx1 ZXMgKDEpLCgyKSwoMyk7Ci1jb25uZWN0aW9uIHVzZXIyOwotLS1lY2hvIExvY2tpbmcgdGFibGUg VDIgd2l0aCBhIHdyaXRlIGxvY2suCi1sb2NrIHRhYmxlIHQyIHdyaXRlOwotCi1jb25uZWN0aW9u IHVzZXIxOwotLS1lY2hvIFNlbGVjdCBibG9ja2VkIGJ5IHdyaXRlIGxvY2suCi0tLXNlbmQgc2Vs ZWN0ICosIChzZWxlY3QgY291bnQoKikgZnJvbSB0MikgZnJvbSB0MTsKLS0tZWNobyBTbGVlaW5n IGlzIG9rLCBiZWNhdXNlIHNlbGVjdGluZyBzaG91bGQgYmUgZG9uZSB2ZXJ5IGZhc3QuCi1zbGVl cCA1OwotCi1jb25uZWN0aW9uIHVzZXIzOwotLS1lY2hvIEluc2VydGluZyBpbnRvIHRhYmxlIFQx LgotaW5zZXJ0IGludG8gdDEgdmFsdWVzICg0KTsKLQotY29ubmVjdGlvbiB1c2VyMjsKLS0tZWNo byBVbmxvY2tpbmcgdGhlIHRhYmxlcy4KLXVubG9jayB0YWJsZXM7Ci0KLWNvbm5lY3Rpb24gdXNl cjE7Ci0tLWVjaG8gQ29sbGVjdGluZyByZXN1bHQgZnJvbSBwcmV2aW91c2x5IGJsb2NrZWQgc2Vs ZWN0LgotIyAKLSMgU2luY2UgdGhlIGxvY2sgb3JkZXJpbmcgcnVsZSBpbiB0aHJfbXVsdGlfbG9j ayBkZXBlbmRzIG9uCi0jIHBvaW50ZXIgdmFsdWVzLCBmcm9tIGV4ZWN1dGlvbiB0byBleGVjdXRp b24gd2UgbWlnaHQgaGF2ZQotIyBkaWZmZXJlbnQgbG9jayBvcmRlciwgYW5kIHRoZXJlZm9yZSwg c29tZXRpbWVzIGxvY2sgdDEgYW5kIGJsb2NrCi0jIG9uIHQyLCBhbmQgc29tZXRpbWVzIGJsb2Nr IG9uIHQyIHJpZ2h0IGF3YXkuIEluIHRoZSBzZWNvbmQgY2FzZSwKLSMgdGhlIGZvbGxvd2luZyBp bnNlcnQgc3VjY2VlZHMsIGFuZCBvbmx5IHRoZW4gdGhpcyBzZWxlY3QgY2FuCi0jIHByb2NlZWQs IGFuZCB3ZSBhY3R1YWxseSB0ZXN0IG5vdGhpbmcsIGFzIHRoZSB2ZXJ5IGZpcnN0IHNlbGVjdAot IyByZXR1cm5zIDQgcm93cyByaWdodCBhd2F5LgotIyBJdCdzIGZpbmUgdG8gaGF2ZSBhIHRlc3Qg Y2FzZSB0aGF0IGNvdmVycyB0aGUgcHJvYmxlbWF0aWMgYXJlYQotIyBhdCBsZWFzdCBvbmNlIGlu IGEgd2hpbGUuCi0jIFdlLCBob3dldmVyLCBuZWVkIHRvIGRpc2FibGUgdGhlIHJlc3VsdCBsb2cg aGVyZSB0byBtYWtlIHRoZQotIyB0ZXN0IHJlcGVhdGFibGUuCi0tLWRpc2FibGVfcmVzdWx0X2xv ZwotLS1yZWFwCi0tLWVuYWJsZV9yZXN1bHRfbG9nCi0tLWVjaG8gTmV4dCBzZWxlY3Qgc2hvdWxk IGNvbnRhaW4gNCByb3dzLCBhcyB0aGUgaW5zZXJ0IGlzIGxvbmcgZmluaXNoZWQuCi1zZWxlY3Qg KiwgKHNlbGVjdCBjb3VudCgqKSBmcm9tIHQyKSBmcm9tIHQxOwotcmVzZXQgcXVlcnkgY2FjaGU7 Ci1zZWxlY3QgKiwgKHNlbGVjdCBjb3VudCgqKSBmcm9tIHQyKSBmcm9tIHQxOwotCi1kcm9wIHRh YmxlIHQxLHQyOwotCi1jb25uZWN0aW9uIGRlZmF1bHQ7Ci1kaXNjb25uZWN0IHVzZXIxOwotZGlz Y29ubmVjdCB1c2VyMjsKLWRpc2Nvbm5lY3QgdXNlcjM7Ci0KLSMKIC0tZWNobyAjCiAtLWVjaG8g IyBCdWcjMjUxMzIgZGlzYWJsZWQgcXVlcnkgY2FjaGU6IFFjYWNoZV9mcmVlX2Jsb2NrcyA9IDEK IC0tZWNobyAjCkBAIC0xMjYwLDcgKzExOTUsNyBAQCBzZXQgZ2xvYmFsIHF1ZXJ5X2NhY2hlX3R5 cGU9MDsKIHNob3cgc3RhdHVzIGxpa2UgJ1FjYWNoZV9mcmVlX2Jsb2Nrcyc7CiAKIC0tZWNobyBS ZXN0b3JlIGRlZmF1bHQgdmFsdWVzLgotIyBCdWcgIzI4MjExIFJFTkFNRSBEQVRBQkFTRSBhbmQg cXVlcnkgY2FjaGUgZG9uJ3QgcGxheSBuaWNlbHkgdG9nZXRoZXIKKyMgQnVnIzI4MjExIFJFTkFN RSBEQVRBQkFTRSBhbmQgcXVlcnkgY2FjaGUgZG9uJ3QgcGxheSBuaWNlbHkgdG9nZXRoZXIKICMK ICMgVE9ETzogZW5hYmxlIHRoZXNlIHRlc3RzIHdoZW4gUkVOQU1FIERBVEFCQVNFIGlzIGltcGxl bWVudGVkLgogIyAtLWRpc2FibGVfd2FybmluZ3MKQEAgLTEyNzgsNyArMTIxMyw3IEBAIHNob3cg c3RhdHVzIGxpa2UgJ1FjYWNoZV9mcmVlX2Jsb2Nrcyc7CiAjIHNob3cgc3RhdHVzIGxpa2UgJ1Fj YWNoZV9xdWVyaWVzX2luX2NhY2hlJzsKICMgZHJvcCBkYXRhYmFzZSBkYjI7CiAjIHNldCBnbG9i YWwgcXVlcnlfY2FjaGVfc2l6ZT1kZWZhdWx0OwotIyAKKyMKICMgLS1kaXNhYmxlX3dhcm5pbmdz CiAjIGRyb3AgZGF0YWJhc2UgaWYgZXhpc3RzIGRiMTsKICMgZHJvcCBkYXRhYmFzZSBpZiBleGlz dHMgZGIzOwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3QvdC9xdWVyeV9jYWNoZV8yODI0OS50 ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvcXVlcnlfY2FjaGVfMjgyNDkudGVzdAkxOTcwLTAxLTAx IDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9xdWVyeV9jYWNoZV8yODI0OS50ZXN0 CTIwMDgtMTItMTggMTg6Mjg6NDQgKzAwMDAKQEAgLTAsMCArMSwxMjMgQEAKKyMjIyB0L3F1ZXJ5 X2NhY2hlXzI4MjQ5LnRlc3QgIyMjCisjCisjIFRlc3QgZm9yCisjIEJ1ZyMyODI0OSBRdWVyeSBD YWNoZSByZXR1cm5zIHdyb25nIHJlc3VsdCB3aXRoIGNvbmN1cnJlbnQgaW5zZXJ0IC8gY2VydGFp biBsb2NrCisjCisjIExhc3QgbW9kaWZpY2F0aW9uOgorIyAyMDA4LTExLTI3IG1sZWljaCAtIE1v dmUgdGhpcyB0ZXN0IG91dCBvZiBxdWVyeV9jYWNoZS50ZXN0CisjICAgICAgICAgICAgICAgICAg IC0gRml4IEJ1ZyM0MDE3OSBUZXN0IG1haW4ucXVlcnlfY2FjaGUgZmFpbGluZyByYW5kb21seSBv biBQdXNoYnVpbGQsCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0IHdl YWtuZXNzCisjICAgICAgICAgICAgICAgICAgIC0gTWlub3IgaW1wcm92ZW1lbnRzIChjb21tZW50 cyxmb3JtYXR0aW5nIGV0Yy4pCisjCisKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9xdWVyeV9jYWNo ZS5pbmMKKworU0VUIEBxdWVyeV9jYWNoZV90eXBlPSAgICAgICAgIEBAZ2xvYmFsLnF1ZXJ5X2Nh Y2hlX3R5cGU7CitTRVQgQHF1ZXJ5X2NhY2hlX2xpbWl0PSAgICAgICAgQEBnbG9iYWwucXVlcnlf Y2FjaGVfbGltaXQ7CitTRVQgQHF1ZXJ5X2NhY2hlX21pbl9yZXNfdW5pdD0gQEBnbG9iYWwucXVl cnlfY2FjaGVfbWluX3Jlc191bml0OworU0VUIEBxdWVyeV9jYWNoZV9zaXplPSAgICAgICAgIEBA Z2xvYmFsLnF1ZXJ5X2NhY2hlX3NpemU7CisKKy0tZWNobyAjIEJ1ZyMyODI0OSBRdWVyeSBDYWNo ZSByZXR1cm5zIHdyb25nIHJlc3VsdCB3aXRoIGNvbmN1cnJlbnQgaW5zZXJ0LyBjZXJ0YWluIGxv Y2sKKy0tZWNobyAjIEVzdGFibGlzaCBjb25uZWN0aW9ucyB1c2VyMSx1c2VyMix1c2VyMyAodXNl cj1yb290KQorY29ubmVjdCAodXNlcjEsbG9jYWxob3N0LHJvb3QsLHRlc3QsLCk7Citjb25uZWN0 ICh1c2VyMixsb2NhbGhvc3Qscm9vdCwsdGVzdCwsKTsKK2Nvbm5lY3QgKHVzZXIzLGxvY2FsaG9z dCxyb290LCx0ZXN0LCwpOworCistLWVjaG8gIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2VyMQor Y29ubmVjdGlvbiB1c2VyMTsKKworU0VUIEdMT0JBTCBxdWVyeV9jYWNoZV90eXBlPTE7CitTRVQg R0xPQkFMIHF1ZXJ5X2NhY2hlX2xpbWl0PTEwMDAwOworU0VUIEdMT0JBTCBxdWVyeV9jYWNoZV9t aW5fcmVzX3VuaXQ9MDsKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0gMTAwMDAwOworCitG TFVTSCBUQUJMRVM7CistLWRpc2FibGVfd2FybmluZ3MKK0RST1AgVEFCTEUgSUYgRVhJU1RTIHQx LCB0MjsKKy0tZW5hYmxlX3dhcm5pbmdzCitDUkVBVEUgVEFCTEUgdDEgKGEgSU5UKTsKK0NSRUFU RSBUQUJMRSB0MiAoYSBJTlQpOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgxKSwoMiksKDMpOwor CistLWVjaG8gIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2VyMgorY29ubmVjdGlvbiB1c2VyMjsK K0xPQ0sgVEFCTEUgdDIgV1JJVEU7CisKKy0tZWNobyAjIFN3aXRjaCB0byBjb25uZWN0aW9uIHVz ZXIxCitjb25uZWN0aW9uIHVzZXIxOworLS1lY2hvICMgInNlbmQiIHRoZSBuZXh0IHNlbGVjdCwg InJlYXAiIHRoZSByZXN1bHQgbGF0ZXIuCistLWVjaG8gIyBUaGUgc2VsZWN0IHdpbGwgYmUgYmxv Y2tlZCBieSB0aGUgd3JpdGUgbG9jayBvbiB0aGUgdDEuCitsZXQgJHNlbGVjdF9mb3JfcWMgPQor U0VMRUNUICosIChTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MikgRlJPTSB0MTsKK3NlbmQ7CitldmFs ICRzZWxlY3RfZm9yX3FjOworCistLWVjaG8gIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2VyMwor Y29ubmVjdGlvbiB1c2VyMzsKKyMgVHlwaWNhbCBpbmZvcm1hdGlvbl9zY2hlbWEucHJvY2Vzc2xp c3QgY29udGVudCBhZnRlciBzdWZmaWNpZW50IHNsZWVwIHRpbWUKKyMgICBJRCAgVVNFUiAgQ09N TUFORCAgVElNRSAgU1RBVEUgICBJTkZPCisjICAgLi4uLgorIyAgIDIgICByb290ICBRdWVyeSAg ICAgICA1ICBMb2NrZWQgIFNFTEVDVCAqLCAoU0VMRUNUIENPVU5UKCopIEZST00gdDIpIEZST00g dDEKKyMgICAuLi4uCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhYWFhYWCAgWFhYWFhY WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAorIyBUaGUgdmFsdWVzIG1hcmtl ZCB3aXRoICdYJyBtdXN0IGJlIHJlYWNoZWQuCistLWVjaG8gIyBQb2xsIHRpbGwgdGhlIHNlbGVj dCBvZiBjb25uZWN0aW9uIHVzZXIxIGlzIGJsb2NrZWQgYnkgdGhlIHdyaXRlIGxvY2sgb24gdDEu CitsZXQgJHdhaXRfY29uZGl0aW9uPSBTRUxFQ1QgQ09VTlQoKikgPSAxIEZST00gaW5mb3JtYXRp b25fc2NoZW1hLnByb2Nlc3NsaXN0CitXSEVSRSBzdGF0ZSA9ICdMb2NrZWQnCisgIEFORCBpbmZv ID0gJyRzZWxlY3RfZm9yX3FjJzsKKy0tc291cmNlIGluY2x1ZGUvd2FpdF9jb25kaXRpb24uaW5j CitldmFsCitTRUxFQ1QgdXNlcixjb21tYW5kLHN0YXRlLGluZm8gRlJPTSBpbmZvcm1hdGlvbl9z Y2hlbWEucHJvY2Vzc2xpc3QKK1dIRVJFIHN0YXRlID0gJ0xvY2tlZCcKKyAgQU5EIGluZm8gPSAn JHNlbGVjdF9mb3JfcWMnOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICg0KTsKKworLS1lY2hvICMg U3dpdGNoIHRvIGNvbm5lY3Rpb24gdXNlcjIKK2Nvbm5lY3Rpb24gdXNlcjI7CitVTkxPQ0sgVEFC TEVTOworCistLWVjaG8gIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB1c2VyMQorY29ubmVjdGlvbiB1 c2VyMTsKKyMKKyMgU2luY2UgdGhlIGxvY2sgb3JkZXJpbmcgcnVsZSBpbiB0aHJfbXVsdGlfbG9j ayBkZXBlbmRzIG9uCisjIHBvaW50ZXIgdmFsdWVzLCBmcm9tIGV4ZWN1dGlvbiB0byBleGVjdXRp b24gd2UgbWlnaHQgaGF2ZQorIyBkaWZmZXJlbnQgbG9jayBvcmRlciwgYW5kIHRoZXJlZm9yZSwg c29tZXRpbWVzIGxvY2sgdDEgYW5kIGJsb2NrCisjIG9uIHQyLCBhbmQgc29tZXRpbWVzIGJsb2Nr IG9uIHQyIHJpZ2h0IGF3YXkuIEluIHRoZSBzZWNvbmQgY2FzZSwKKyMgdGhlIGZvbGxvd2luZyBp bnNlcnQgc3VjY2VlZHMsIGFuZCBvbmx5IHRoZW4gdGhpcyBzZWxlY3QgY2FuCisjIHByb2NlZWQs IGFuZCB3ZSBhY3R1YWxseSB0ZXN0IG5vdGhpbmcsIGFzIHRoZSB2ZXJ5IGZpcnN0IHNlbGVjdAor IyByZXR1cm5zIDQgcm93cyByaWdodCBhd2F5LgorIyBJdCdzIGZpbmUgdG8gaGF2ZSBhIHRlc3Qg Y2FzZSB0aGF0IGNvdmVycyB0aGUgcHJvYmxlbWF0aWMgYXJlYQorIyBhdCBsZWFzdCBvbmNlIGlu IGEgd2hpbGUuCistLWVjaG8gIyBDb2xsZWN0aW5nICgicmVhcCIpIHRoZSByZXN1bHQgZnJvbSB0 aGUgcHJldmlvdXNseSBibG9ja2VkIHNlbGVjdC4KKy0tZWNobyAjIFRoZSBwcmludGluZyBvZiB0 aGUgcmVzdWx0ICh2YXJpZXMgYmV0d2VlbiAzIGFuZCA0IHJvd3MpIHNldCBoYXMgdG8gYmUgc3Vw cHJlc3NlZC4KKy0tZGlzYWJsZV9yZXN1bHRfbG9nCistLXJlYXAKKy0tZW5hYmxlX3Jlc3VsdF9s b2cKKworLS1lY2hvICMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gdXNlcjMKK2Nvbm5lY3Rpb24gdXNl cjM7CistLWVjaG8gIyBUaGUgbmV4dCBzZWxlY3QgZW5mb3JjZXMgdGhhdCBlZmZlY3RzIG9mICJj b25jdXJyZW50X2luc2VydHMiIGxpa2UgdGhlCistLWVjaG8gIyByZWNvcmQgd2l0aCBhID0gNCBp cyBtaXNzaW5nIGluIHJlc3VsdCBzZXRzIGNhbiBubyBtb3JlIGhhcHBlbi4KK1NFTEVDVCAxIEZS T00gdDEgV0hFUkUgYSA9IDQ7CisKKy0tZWNobyAjIFN3aXRjaCB0byBjb25uZWN0aW9uIHVzZXIx Citjb25uZWN0aW9uIHVzZXIxOworLS1lY2hvICMgVGhlIG5leHQgcmVzdWx0IHNldCBtdXN0IGNv bnRhaW4gNCByb3dzLgorIyBJZiBub3QsIHdlIGhhdmUgYSByZWdyZXNzaW9uIG9mIEJ1ZyMyODI0 OQorZXZhbCAkc2VsZWN0X2Zvcl9xYzsKK1JFU0VUIFFVRVJZIENBQ0hFOworZXZhbCAkc2VsZWN0 X2Zvcl9xYzsKKworRFJPUCBUQUJMRSB0MSx0MjsKKworLS1lY2hvICMgU3dpdGNoIHRvIGNvbm5l Y3Rpb24gZGVmYXVsdCArIGNsb3NlIGNvbm5lY3Rpb25zIHVzZXIxLHVzZXIyLHVzZXIzCitjb25u ZWN0aW9uIGRlZmF1bHQ7CitkaXNjb25uZWN0IHVzZXIxOworZGlzY29ubmVjdCB1c2VyMjsKK2Rp c2Nvbm5lY3QgdXNlcjM7CisKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVfdHlwZT0gICAgICAgICBA cXVlcnlfY2FjaGVfdHlwZTsKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVfbGltaXQ9ICAgICAgICBA cXVlcnlfY2FjaGVfbGltaXQ7CitTRVQgR0xPQkFMIHF1ZXJ5X2NhY2hlX21pbl9yZXNfdW5pdD0g QHF1ZXJ5X2NhY2hlX21pbl9yZXNfdW5pdDsKK1NFVCBHTE9CQUwgcXVlcnlfY2FjaGVfc2l6ZT0g ICAgICAgICBAcXVlcnlfY2FjaGVfc2l6ZTsKKwoK